在ASP中发送Email时往往需要一个COM组件支持,如果你没有第三方的Email组件,你可以使用IIS本身提供CDONTS EMail组件。这个组件使用时需要安装和启动SMTP服务。这个组件的名称为CDONTS.DLL,使用前需要使用RegSvr32注册这个组件。
CDONTS组件提供了一系列对象,包括AddressEntry、Attachment、Attachments、Folder、Message、Messages、NewMail、Recipient、Recipients、Session,我们经常使用的是NewMail对象。下面是NewMail对象提供的方法和属性:
名称 | 功能 | 格式 |
AttachFile | 添加附件 | Sub AttachFile(Source, [FileName], [EncodingMethod]) |
AttachURL | 以格式添加附加和数据 | Sub AttachURL(Source,ContentLocation, [ContentBase], [EncodingMethod]) |
BCC | 以“,”分隔的接收者列表(暗送) | 字符串类型属性 |
Body | TextHTML | 字符串类型属性 |
bodyformat | 邮件正文格式 | 0:HTMl1:Text |
CC | 以“,”分隔的接收者列表(抄送) | 字符串类型属性 |
ContentBase | 带有附件的邮件中正文采用的基地址 | 字符串类型属性 |
ContentLocation | 带有附件的邮件中正文采用的 | 字符串类型属性 |
From | 邮件发送方地址 | 字符串类型属性 |
Importance | 邮件级别 | 0: 1 2: |
Send | 发送邮件 | Sub Send([From], [To], [Subject], [Body], [Importance]) 各个参数可以参考上下文属性 |
SetLocaleIDs | 设置新消息的代码页标识 | Sub SetLocaleIDs(CodePageID As Long) |
Subject | 邮件主题 | 字符串类型属性 |
To | 以“,”分隔的接收者地址列表 | 字符串类型属性 |
Value | 任意的邮件头的值 | 字符串类型属性 |
Version | 当前集合数据对象库()的版本号 | 只读字符串类型属性 |
在使用有关对象的方法时,方括号参数可以省略。
下面是采用ASP使用的例子:
Dim MailObject
Set MailObject = Server.CreateObject("CDONTS.NewMail")
MailObject.Send "发送方邮件地址","接收方邮件地址","主题","邮件正文"
发送附件时可以这样:
Dim MailObject
Set MailObject = Server.CreateObject("CDONTS.NewMail")
att_filepath="附件文件名完整路径"
filename="文件名"
MailObject.From="在这填写发件人地址"
MailObject.To="在这填写接收人地址"
MailObject.Subject="填写主题"
MailObject.Body="填写正文"
MailObject.AttachFile att_ffilepath,filename
MailObject.Send
注意:发送邮件时需要IUSR_<机器名>用户对C:/Inetpub/mailroot目录有读写权限。
组件: