ASP程序发送信件的几种方法比较

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

一、Jmail3以及以前的版本使用jmail.smtpmail发信,具体代码如下:

<%

Set jmail = Server.CreateObject("JMAIL.SMTPMail") '创建一个JMAIL对象

jmail.silent = true 'JMAIL不会抛出例外错误,返回的值为FALSE跟TRUE

jmail.logging = true '启用使用日志

jmail.Charset = "GB2312" '邮件文字的代码为简体中文

jmail.ContentType = "text/html" '邮件的格式为HTML的

jmail.ServerAddress = "Server Address" '发送邮件的服务器

jmail.AddRecipient Email '邮件的收件人

jmail.SenderName = "SenderName" '邮件发送者的姓名

jmail.Sender = "Email Address" '邮件发送者的邮件地址

jmail.Priority = 1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值

jmail.Subject = "Mail Subject" '邮件的标题

jmail.Body = "Mail Body" '邮件的内容

jmail.AddRecipientBCC Email '密件收件人的地址

jmail.AddRecipientCC Email '邮件抄送者的地址

jmail.Execute() '执行邮件发送

jmail.Close '关闭邮件对象

%>

现在还有很多程序是使用这种方式来发信,这种方式有一个很大的缺陷,那就是发信是使用服务器本地smtp服务发出的,并没有通过任何smtp身份验证,如果服务器设置了需要使用身份验证,则发信会失败。现在因为反垃圾邮件的需要,越来越多的服务器开始注重这方面的设置问题,如果你使用此种方法发信突然出现不正常,则可能是服务器限制了匿名发信,上面的代码则就不会正常运作了。

这种方法我们不建议使用,但是现在还有很多asp程序使用此种方法,可能还是可以正常运作的,但是很难保证以后会一直正常,并且某些邮件服务器会拒收这种方法发出的信件,所以如果有可能的话,尽量不要使用这种方式。

二、再讲一下微软自带的CDONTS组件的发信的方法:

<%

Set cdomail = Server.CreateObject("CDONTS.NewMail") '建立邮件对象

cdomail.Subject = "Mail Subject" '邮件标题

cdomail.From = "Sender's Mail" '发件人的地址

cdomail.To = "Email will from" '收件人的地址

cdomail.Body = "Mail Body" '邮件的内容

cdomail.Send '执行发送

%>

这种方法发送邮件是最简单的,同时也带来一定的问题,就是很少有服务器会开这项服务,即使开通,也因为没有身份验证信息,发出的信件会被很多服务器所拒收,强烈建议不使用。

三、w3 Jmail4.3组件重新设计了其内部结构——使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件,并且增加了需要身份验证的设置,同时对象的属性也比以前有很大改变,导致程序需要完全重写,新版的发信范例如下所示:

<%

Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象

jmail.silent = true '屏蔽例外错误,返回FALSE跟TRUE两值j

Jmail.logging = true '启用邮件日志

jmail.Charset = "GB2312" '邮件的文字编码为国标

jmail.ContentType = "text/html" '邮件的格式为HTML格式

jmail.AddRecipient Email '邮件收件人的地址

jmail.From = "Email From for Sender" '发件人的E-MAIL地址

jmail.MailServerUserName = "UserName of Email" '登录邮件服务器所需的用户名

jmail.MailServerPassword = "Password of Email" '登录邮件服务器所需的密码

jmail.Subject = "Mail Subject" '邮件的标题

jmail.Body = "Mail Body" '邮件的内容

jmail.Send("Server Address") '执行邮件发送(通过邮件服务器地址)

jmail.Close() '关闭对象

%>

使用这段代码发信,是当前最为稳定,也最为适用的发信方法,我们推荐使用Jmail发信的客户,使用此种方法来发信。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航