管理首页
ASP本身没有发送邮件的能力,但如果希望用ASP来发送E-MAIL(例如:你有一个消息,希望在此页被访问后自动将该消息E-MAIL给留言的上网者),那么你需要安装一个ASP组件。并借助这些组件来帮你实现邮件的自动发送、回复等工作,我们可以提供CDONTS组件。
CDONTS.DLL 在注册之后,可以使用ASP发送E-MAIL,来实现动态的EMAIL通信,这经常在定单与电子商务中应用。
在IIS5下,可以使用CDONTS。它容易使用的并且性能良好。
步骤如下:
1、检查你是否安装了SMTP服务。OPTION PACK 缺省安装时是包括SMTP服务的。SMTP服务安装后,在 的system32目下会有一个文件叫CDONTS.DLL。
2、你可以用下面的简单脚本通过ASP发送E-MAIL
set newmail=server.CreateObject("cdonts.newmail")
newmail.From="webmaster@www.yourdomain.com"
newmail.To ="test@test.com"
newmail.Subject="主题"
newmail.Body = "asp mail"
newmail.BodyFormat =0
newmail.MailFormat =0
newmail.Send
response.write "send ok!"
set newmail=nothing
3、发送附件
CDONTS 的 一 个 常 用 特 性 是 用 来 在 E-MAIL 中 发 送 附 件 。 代 码 也 不 难 写 。
CDONTS发信组件注意事项
由于万网企业邮局具有反垃圾邮件,包括防伪装邮件功能,因此可能根据发信人来源地址屏蔽了您的网站邮件投递。建议您将发信脚本中发件人地址(From参数)设置为:xxx@www.yourdomain.com,这样可以保证正常投递邮件。
4.文件上传组件Upload功能简介
本Upload组件目前只支持单文件上传,可以为任意扩展名,可以在上传后保存名字。上传文件的最大大小为1M,需要在程序中指定上传目录并由我们工程师添加权限。支持上传文件名修改和使用变量文件名。
CDONTS组件
在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
|