首先是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程序使用此种方法,可能还是可以正常运作的,但是很难保证以后会一直正常,并且某些邮件服务器会拒收这种方法发出的信件,所以如果有可能的话,尽量不要使用这种方式。
w3 jmail4.3组件重新设计了其内部结构——使用message对象代替原来的单一对象jmail.smtpmail发送邮件,有些方法需要身份验证的(如163、yahoo等),可以用下面的方法解决:
程序代码
<%
set jmail = server.createobject("jmail.message") '建立发送邮件的对象
jmail.silent = true '屏蔽例外错误,返回false跟true两值j
mail.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.prority = 1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.send("server address") '执行邮件发送(通过邮件服务器地址)
jmail.close() '关闭对象
%>
使用这段代码发信,是当前最为稳定,也最为适用的发信方法,我们推荐使用jmail发信的客户,使用此种方法来发信。
再讲一下 微软自带的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 '执行发送
%>
我们写程序,一般情况下都是说要代码模块化,这样方便维护,同时也方便移植。因此,我在这里将这个发邮件的写成一个子程,在调用的时候可以直接调用(当然,如果你高兴写成函数的话也是可以的,这个主要是看个人兴趣):
推荐
复制代码 代码如下:
<%
'参数说明
'subject : 邮件标题
'mailaddress : 发件服务器的地址,如smtp.163.com
'email : 收件人邮件地址
'sender : 发件人姓名
'content : 邮件内容
'fromer : 发件人的邮件地址
sub sendaction(subject, mailaddress, email, sender, content, fromer)
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 = mailaddress '发送邮件的服务器
jmail.addrecipient email '邮件的收件人
jmail.sendername = sender '邮件发送者的姓名
jmail.sender = fromer '邮件发送者的邮件地址
jmail.priority = 1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.subject = subject '邮件的标题
jmail.body = content '邮件的内容
'由于没有用到密抄跟抄送,这里屏蔽掉这两句,如果您有需要的话,可以在这里恢复
'jmail.addrecipientbcc email '密件收件人的地址
'jmail.addrecipientcc email '邮件抄送者的地址
jmail.execute() '执行邮件发送
jmail.close '关闭邮件对象
end sub
'调用此sub的例子
dim strsubject,stremail,strmailadress,strsender,strcontent,strfromer
strsubject = "这是一封用jmail发送的测试邮件"
strcontent = "jmail组件发送测试成功!"
stremail = "runbing@eyou.com"
strfromer = "runbing@eyou.com"
strmailaddress = "mail.ubbcn.com"
call sendaction (strsubject,strmailaddress,stremail,strsender,strcontent,strfromer)
%>
'参数说明
'subject : 邮件标题
'mailaddress : 发件服务器的地址,如smtp.163.com
'email : 收件人邮件地址
'sender : 发件人姓名
'content : 邮件内容
'fromer : 发件人的邮件地址
sub sendaction(subject, mailaddress, email, sender, content, fromer)
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 = mailaddress '发送邮件的服务器
jmail.addrecipient email '邮件的收件人
jmail.sendername = sender '邮件发送者的姓名
jmail.sender = fromer '邮件发送者的邮件地址
jmail.priority = 1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.subject = subject '邮件的标题
jmail.body = content '邮件的内容
'由于没有用到密抄跟抄送,这里屏蔽掉这两句,如果您有需要的话,可以在这里恢复
'jmail.addrecipientbcc email '密件收件人的地址
'jmail.addrecipientcc email '邮件抄送者的地址
jmail.execute() '执行邮件发送
jmail.close '关闭邮件对象
end sub
'调用此sub的例子
dim strsubject,stremail,strmailadress,strsender,strcontent,strfromer
strsubject = "这是一封用jmail发送的测试邮件"
strcontent = "jmail组件发送测试成功!"
stremail = "runbing@eyou.com"
strfromer = "runbing@eyou.com"
strmailaddress = "mail.ubbcn.com"
call sendaction (strsubject,strmailaddress,stremail,strsender,strcontent,strfromer)
%>
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!