CDONTS组件是做什么用的?

2013-07-27 00:00:00

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 以格式添加附加和数据 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_fileName="附件文件名完整路径"

f_name="文件名"

MailObject.From="在这填写发件人地址"

MailObject.To="在这填写接收人地址"

MailObject.Subject="填写主题"

MailObject.Body="填写正文"

MailObject.AttachFile att_file,f_name

MailObject.Send


注意:发送邮件时需要IUSR_<机器名>用户对 x:\Inetpub\mailroot 目录有读写权限。 


 
























CDONTS组件:你不必专门下载,微软已经提供了这个组件,只要安装了NT的SMTP就会有的。

下面我们利用这个组件来做一个客户调查反馈表单(Webmail)。表单主要代码如下:

<form action="post.asp" method="post" name="mywebmail"> 您的姓名: 

<input type="text" name="name" size="20" maxlength="50"> 电子邮件: 

<input type="text" name="email" size="20" maxlength="60"> 邮件主题: 

<input type="text" name="mailsubject" size="30" maxlength="100"> 您的意见和建议:<br> <textarea rows="4" name="text" cols="40"></textarea> <input type="submit" value="确认递交" name="submit"> <input type="reset" value="清除重写" name="clear"> </form> 

post.asp

<html> <head> <title>发送表单</title> <body> 

<html> <head> <title>发送表单</title> <body> 

<%

'以下是信件体,大家在我的留言版的所有信件就是这样发给我的。

strBody = "===========留言版留言===========" & vbCrLf

strBody = strBody & "发信时间:" & Now() & vbCrLf

strBody = strBody & "留言人:" & Name & vbCrLf

strBody = strBody & "电子邮件:" & Email & vbCrLf

strBody = strBody & "留言内容:" & Text & vbCrLf

strBody = strBody & "============ END ============="

Set myMail = Server.CreateObject("CDONTS.NewMail")

myMail.From = Email

myMail.To = "yourmailbox@mailhost.com"

myMail.Subject = Mailsubject

myMail.Body = StrBody

myMail.Send

Set myMail=Nothing

'当 Send 方法成功完成任务时,NewMail 对象将失效但并不从内存中清除。你应该将失效对象设置为 Nothing 以便将其从内存中清除或给它重新分配另一个NewMail 对象。 

%> 

<center> 

邮件已顺利发出,感谢您的意见和建议!

</center> </body> </html> 

此外,CDONTS还支持如下的方法:

<%

Set Mymail = CreateObject("CDONTS.NewMail")

Mymail.From = *** '信件发送者信箱

Mymail.To = *** ‘信件接收者信箱

Mymail.CC = *** '抄送

Mymail.BCC = *** ’密件发送

Mymail.Subject = *** ‘信件主题

Mymail.Body = *** ’信件正文

'设置优先级,0-不重要,1-一般,2-重要。

Mymail.Importance = 2

Mymail.Send

Set Mymail = Nothing

%> 

注释:***字符串可能是你写进去的,也可能是取自表单,使用Request方法啊。总之根据您的用意去用它。

检查你是否安装了SMTP服务。OPTION PACK缺省安装时是包括SMTP服务的。SMTP 服务安装后,在你的system32目录下会有一个文件叫CDONTS.DLL。    

如果你不知道自己所在的站点是否支持,只要下载本站的Webmail程序,上传到你所在的站点测试一下,如果没有报错,看定是支持的。如果出现“Can't Create Objection”的错误,那么我想,凡是开放ASP权限的站点肯定是支持的,如果不支持,说明管理员简直太懒惰了。

如何使用CDONTS组件发基于HTML的信件?

<%

Set MyMail2 = CreateObject("CDONTS.NewMail")

HTML = "<html>"

HTML = HTML & "<head>" 

HTML = HTML & "<title>Sending CDONTS Email Using HTML</title>"

HTML = HTML & "</head>"

HTML = HTML & "<body bgcolor=""FFFFFF"">"

HTML = HTML & "<p><font size=3>"

HTML = HTML & "This is a test mail in html<br>"

HTML = HTML & "Mail content here ...</font></p>"

HTML = HTML & "</body>"

HTML = HTML & "</html>"

MyMail2.From= "somebody@somewhere.com"

MyMail2.To="nobody@somewhere.com"

MyMail2.Subject="Test mail in HTML"

MyMail2.BodyFormat=0 

MyMail2.MailFormat=0

MyMail2.Body = HTML

MyMail2.Send

set MyMail2=nothing

%> 

总之,用标准的HTML写就是了。

如何使用CDONTS组件发含附件的信件?

<%

Set MyMail3 = CreateObject("CDONTS.NewMail")

MyMail3.From= "somebody@nowhere.com"

MyMail3.To= "nobody@nowhere.com"

MyMail3.Cc="nobody2@nowhere.com"

MyMail3.Subject="This is a Test"

MyCDONTSMail3.AttachFile Server.MapPath("C:\inetpub\wwwroot\somedirectory\anyfile.txt")

MyBody2 = "Thank you!" & vbCrLf

MyBody2 = MyBody2 & "Your information will be send to me!" & vbCrLf

MyBody2 = MyBody2 & "Welcome in http://java2000.126.com !"

MyMail3.Body= MyBody2

MyMail3.Send

set MyMail3=nothing

%>


昆山模具生产管理软件中没有此组件。摩杰斯模具生产管理软件是专业的模具生产管理软件。












 


 

« 返回列表