相信很多人都碰到过这个错误
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 % >