用Jmail发送邮件遇到的问题

用Jmail发送邮件遇到的问题,第1张

我有个很好的办法,就是把你上面这些代码放在一个函数中。

函数参数可以是(寄信人邮箱,收信人邮箱,密码,用户名,主题,正文,附件)

这样只要调用函数就可以了,完全实现了任何人给任何用户发信的效果。我试过了,可以行得通,呵呵。

以下为网上搜索结果: 出现上述错误还可能有如下可能性

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搞定

当然,以上只是一个样例,并非所有问题这是因此而起。

你可以查看是否是防火墙或防病毒或权限原因,如果不是那就比较麻烦了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/56292.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-26
下一篇2023-02-26

发表评论

登录后才能评论

评论列表(0条)

    保存