1.防火墙阻止了网络通讯或网络故障
2.杀毒软件限制
3.jmail组件权限不够
4.邮件服务器故障
以下是引用片段:
这个过程就是ASP程序代码调用了JMAIL组件,把要发送的邮件的各种信息通过JMAIL组件发给了MAIL SERVER(邮件服务器,或者说是邮件服务程序,如MDeamon,IMAIL,WinWebMail等),真正向你的目的地发送邮件的是MAIL SERVER.
通常我们遇到的错误是:’The message was undeliverable. All servers failed to receive the message ’,这其实是JMAIL返回的错误,并不是ASP代码产生的,根本原因是MAIL SERVER拒绝了JMAIL的请求.
究其原因,是那些服务器不提供SMTP服务或者没有开启smtp服务或是在服务器端开启了’禁止邮件中继服务’选项,也就是说不在其允许的IP段或指定范围内的空间里的程序是无法使用其SMTP服务的,最终导致’8000ffff’错误发生。 服务器端需要身份验证时,必须严格填写发件人地址,帐户和密码,以下为邮件服务器需要身份验证时的jmail发送邮件的参考代码:dim mail
set mail=CreateObject("jmail.Message")
mail.Charset ="gb2312"
mail.ContentType = "text/html"
mail.From = "mts@0e2.net" '发件人真实邮件地址
mail.FromName = "密陀僧" '发件人名称
mail.AddRecipient "admin@0e2.net" '收件人地址
mail.MailServerUserName = "mts@0e2.net" '发件人帐号
mail.MailServerPassWord = "123456" '密码
mail.subject="test"
mail.body= "test"
On Error Resume Next
mail.Send("mail.0e2.net")
mail.close()
set mail=nothing
err.clear
检查了JMAIL组件权限,发现没的问题。
按照惯例来检查。JMAIL组件发送邮件需要使用25端口.
查服务器防火墙 发现禁止25
打开。
也有可能在TCP/IP策略里禁止25端口的,请注意
补充部分:
导致这个问题的可能性还有以下几点。
收信邮箱填写错误,这个主要是在群发时候发现比较麻烦。
可以加个容错语句在里面就解决。
On Error Resume Next
还有可能就是使用的信箱问题。若以上两点都没什么问题,最好更改下发信邮箱
SMTP服务器测试下看,能否解决。
先关闭防火墙,问题依旧
再尝试关闭防病毒系统Mcafee VirusScan Enterprise V8.0i,这次终于正常了,但关闭防病毒系统也不是个办法啊。
继续排除问题,在访问保护中发现“禁止大量发送邮件的蠕虫病毒发送邮件”这一项,测试确定是因为这个端口阻拦在作怪。
解决方法:
控制台→访问保护→禁止大量发送邮件的蠕虫病毒发送邮件→已排除进程→加入w3wp.exe搞定
当然,以上只是一个样例,并非所有问题这是因此而起。
你可以查看是否是防火墙或防病毒或权限原因,如果不是那就比较麻烦了。
我有个很好的办法,就是把你上面这些代码放在一个函数中。函数参数可以是(寄信人邮箱,收信人邮箱,密码,用户名,主题,正文,附件)
这样只要调用函数就可以了,完全实现了任何人给任何用户发信的效果。我试过了,可以行得通,呵呵。
<%Set msg = Server.CreateObject("JMail.Message")
msg.silent = true
msg.Logging = true
msg.Charset = "gb2312"
msg.MailServerUserName = "user@yourdomain.com" '输入smtp服务器验证登陆名 (邮局中任何一个用户的Email地址)
msg.MailServerPassword = "userpasswd" '输入smtp服务器验证密码 (用户Email帐号对应的密码)
msg.From = Request.Form("email")'发件人Email
msg.FromName = Request.Form("name") '发件人姓名
msg.AddRecipient "webmaster@abc.com" '收件人Email
msg.Subject = Request.Form("subject") '信件主题
msg.Body = Request.Form("body") '正文
msg.Send ("mail.yourdomain.com")'smtp服务器地址(企业邮局地址)
set msg = nothing
%>
互易中国虚拟主机
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)