• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 20次 | 进入软件测试论坛讨论

领测软件测试网

  一、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发信的客户,使用此种方法来发信。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网