版权声明:本文为博主原创文章,未经博主允许不得转载。
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.防火墙阻止了网络通讯或网络故障
有可能防火墙会认为这是蠕虫导致的狂发邮件的情况,所以会禁止群发邮件。
所以检查防火墙的设置就可能会发现。
3.jmail组件权限不够。可能的处理为:给IIS用户对 jmail.dll文件的写权限。
4.邮件服务器故障
Jmail发送首先要通过邮件服务器验证。
如果你的服务器不支持SMTP或者你的账号不能使用SMTP服务,那么就无法发送。
例如:163邮箱以前的用户默认是开通POP和SMTP服务的,但新用户都不开通,需要付费才能使用。QQ邮箱默认情况下POP和SMTP服务是关闭的,您只需进入您的QQ邮箱——》【设置】——》【账户】——》【POP3/IMAP/SMTP服务】,进行相关设置。
要想确定某一邮箱是否可以使用POP和SMTP,你可以用foxmail等邮件软件看能否收取该邮箱信件。
【问题二】发送时,添加附件。
jm.AddAttachment(Server.MapPath("/UploadFile/Advertise/a.doc"),true , "");
需要注意的是:jm.ContentType = "text/html"; //如果发内嵌附件一定要注释掉这行