JMail发送邮件失败的原因
相信很多人都碰到过这个错误
jmail.Message (0x8000FFFF)
The message was undeliverable. All servers failed to receive the message
从昨天到今天找了很多答案,总结了几个可能发生错误的地方,以下面得代码为主做下说明:
1.是否安装了JMail组件
2.JMail.MailServerUserName = "admin" 这句,有的smtp服务器是使用全名登录的如"admin@website.com",有的则直接是@前面的部分。
3.JMail.Send("mail.website.com")这句,虽然有些smtp服务器的smtp地址是smtp.xxxx.com,但是服务器支持JMail的地址却不一定是这个。
4.确保你的smtp服务器提供商的服务是开启的,这个用个其他工具试下就可以了,如,outlookexpress,另外注意下端口号,未必就一定是25。
5.确保你的杀毒软件不会碍事,为了营造一个最优越的条件,测试代码时,先把杀毒软件和防火墙关闭下,当然如果你把策略配置了,就不用关了。
以下代码是我测试通过的。
1 <%
2 Dim JMail
3 Set JMail = Server.CreateObject("JMail.Message")
4 JMail.Charset = "gb2312"
5
6 JMail.From = "admin@website.com"
7 JMail.FromName = "System Admin"
8 JMail.Subject = "Test Mail"
9
10 JMail.MailServerUserName = "admin"
11 JMail.MailServerPassword = "admin"
12
13 JMail.Priority = 3
14
15 JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
16
17 JMail.AddRecipient("friend@163.com")
18
19 JMail.Body = "Test Mails"
20
21 JMail.Send("mail.website.com")
22 response.write now & " Send OK"
23
24 JMail.Close()
25 Set JMail = Nothing
26 %>
2 Dim JMail
3 Set JMail = Server.CreateObject("JMail.Message")
4 JMail.Charset = "gb2312"
5
6 JMail.From = "admin@website.com"
7 JMail.FromName = "System Admin"
8 JMail.Subject = "Test Mail"
9
10 JMail.MailServerUserName = "admin"
11 JMail.MailServerPassword = "admin"
12
13 JMail.Priority = 3
14
15 JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
16
17 JMail.AddRecipient("friend@163.com")
18
19 JMail.Body = "Test Mails"
20
21 JMail.Send("mail.website.com")
22 response.write now & " Send OK"
23
24 JMail.Close()
25 Set JMail = Nothing
26 %>