jmail组件报错:'The message was undeliverable. All servers failed to receive the message '

来源:互联网 发布:淘宝客服兼职30元 编辑:程序博客网 时间:2024/05/20 22:00

Jmail邮件发送常见问题总结

【问题一】通常我们遇到的错误是:'The message was undeliverable. All servers failed to receive the message ',这其实是Jmail返回的错误,并不是ASP代码产生的,根本原因是MAIL SERVER拒绝了Jmail的请求。

导致该问题的可能原因:

1用户名和密码

    在代码里要写上

    msg..MailServerUserName="用户名"

    msg.MailServerPassWord="密码"

    或是

    msg.Send("用户名:密码@server.net")

    要写发送端连接的邮件服务器和进入邮件服务器的用户名和密码。用户名和密码一定要存在于服务器上且正确。

2防火墙阻止了网络通讯或网络故障

    有可能防火墙会认为这是蠕虫导致的狂发邮件的情况,所以会禁止群发邮件。

    所以检查防火墙的设置就可能会发现。

3jmail组件权限不够。可能的处理为:IIS用户对 jmail.dll文件的写权限。

4邮件服务器故障

   Jmail发送首先要通过邮件服务器验证。

  如果你的服务器不支持SMTP或者你的账号不能使用SMTP服务,那么就无法发送。

  例如:163邮箱以前的用户默认是开通POPSMTP服务的,但新用户都不开通,需要付费才能使用。QQ邮箱默认情况下POPSMTP服务是关闭的,您只需进入您的QQ邮箱——》【设置】——》【账户】——》【POP3/IMAP/SMTP服务】,进行相关设置。

  要想确定某一邮箱是否可以使用POPSMTP,你可以用foxmail等邮件软件看能否收取该邮箱信件。

 

【问题二】发送时,添加附件。

jm.AddAttachment(Server.MapPath("/UploadFile/Advertise/a.doc"),true , "");

需要注意的是:jm.ContentType = "text/html"; //如果发内嵌附件一定要注释掉这行

原创粉丝点击