在ASP中发送Email时往往需要一个COM组件支持,如果你没有第三方的Email组件,你可以使用IIS本身提供CDONTS EMail组件。这个组件使用时需要安装和启动SMTP服务。这个组件的名称为CDONTS.DLL,使用前需要使用RegSvr32注册这个组件。
CDONTS组件提供了一系列对象,包括AddressEntry、Attachment、Attachments、Folder、Message、Messages、NewMail、Recipient、Recipients、Session,我们经常使用的是NewMail对象。下面是NewMail对象提供的方法和属性:
名称
功能
格式
Attach
添加附件
Sub AttachFile(Source, [FileName], [EncodingMethod])
AttachURL
以URL格式添加附加和数据
Sub AttachURL(Source,ContentLocation,
[ContentBase], [EncodingMethod])
BCC
以“,”分隔的BCC接收者列表(暗送)
字符串类型属性
Body
Text或者HTML格式的邮件正文
字符串类型属性
body format
邮件正文格式
0:表示HTMl格式,1:表示Text格式
CC
以“,”分隔的CC接收者列表(抄送)
字符串类型属性
ContentBase
带有URL附件的邮件中正文采用的URL基地址
字符串类型属性
ContentLocation
带有URL附件的邮件中正文采用的URL
字符串类型属性
From
邮件发送方地址
字符串类型属性
Importance
邮件级别
0: 普通 1:机密 2:绝密
Send
发送邮件
Sub Send([From], [To], [Subject], [Body], [Importance])
各个参数可以参考上下文属性
SetLocaleIDs
设置新消息的代码页标识
Sub SetLocaleIDs(CodePageID As Long)
Subject
邮件主题
字符串类型属性
To
以“,”分隔的接收者地址列表
字符串类型属性
Value
任意的邮件头的值
字符串类型属性
Version
当前集合数据对象库(CDO)的版本号
只读字符串类型属性
在使用有关对象的方法时,方括号参数可以省略。
下面是采用ASP使用的例子:
Dim MailObject
Set MailObject = Server.CreateObject("CDONTS.NewMail")
MailObject.Send "发送方邮件地址","接收方邮件地址","主题","邮件正文"
发送附件时可以这样:
Dim MailObject
Set MailObject = Server.CreateObject("CDONTS.NewMail")
Set MailObject = Server.CreateObject("CDONTS.NewMail")
att_fileName="附件文件名完整路径"
f_name="文件名"
MailObject.From="在这填写发件人地址"
MailObject.To="在这填写接收人地址"
MailObject.Subject="填写主题"
MailObject.Body="填写正文"
MailObject.AttachFile att_file,f_name
MailObject.Send
如果你需要了解CDONTS其它对象的信息,你可以在Visual Basic工程中添加CDONTS组件的引用,然后使用对象浏览器察看CDONTS类型库。添加CDONTS引用时可以浏览到Windows安装目录的系统目录
例子
SendMail "", "", "HTML Mail!", m_strHTML, 2, 1, Null
Sub SendMail(strFrom, strTo, strSubject, strBody, lngImportance, lngAType, strAttach)
'参数说明
'strFrom : 发件人Email
'strTo : 收件人Email
'strSubject : 信件主题
'strBody : 信件正文
'lngImportance : 信件重要性
' 0: 普通 1:机密 2:绝密
'lngAType : 信件格式
' : 为1时将邮件正文作为HTML(此时可以发送HTML邮件)
'strAttach : 附件的路径
on error resume next
Dim objMail
Set objMail = Server.CreateObject("CDONTS.NEWMAIL")
if err then
SendMail= "没有安装CDONTS组件"
err.clear
exit function
end if
With objMail
.From = strFrom
.To = strTo
.Subject = strSubject
.Body = strBody
.Importance = lngImportance
If lngAType = 1 Then
.BodyFormat = 0
.MailFormat = 0
End If
If IsEmpty(strAttach) = False And IsNull(strAttach) = False Then
.AttachFile strAttach
End If
.Send
End With
Set objMail = Nothing
if err then
cSendMail=err.description
err.clear
else
cSendMail="OK"
end if
End Sub