SMTP典型错误:“550 5.7.1 Uable to relay user@domain.com----------------------------------------------------------------
The information in this article applies to:
- Microsoft Exchange 2000 Server
----------------------------------------------------------------
现象:
同类错误的表象:
<TABLE class=MsoNormalTable style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: auto auto auto 5.4pt; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-table-layout-alt: fixed; mso-border-alt: double silver 1.5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: 1.5pt double silver; mso-border-insidev: 1.5pt double silver" cellSpacing=0 cellPadding=0 border=1><TBODY><TR style="HEIGHT: 22.65pt; mso-yfti-irow: 0"><TD style="BORDER-RIGHT: silver 1.5pt double; PADDING-RIGHT: 5.4pt; BORDER-TOP: silver 1.5pt double; PADDING-LEFT: 5.4pt; BACKGROUND: #99ccff; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1.5pt double; WIDTH: 126pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1.5pt double; HEIGHT: 22.65pt" width=168>
错误发生的环境
</TD><TD style="BORDER-RIGHT: silver 1.5pt double; PADDING-RIGHT: 5.4pt; BORDER-TOP: silver 1.5pt double; PADDING-LEFT: 5.4pt; BACKGROUND: #99ccff; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 351pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1.5pt double; HEIGHT: 22.65pt; mso-border-left-alt: double silver 1.5pt" width=468>
详细错误报告
</TD></TR><TR style="HEIGHT: 54.4pt; mso-yfti-irow: 1; page-break-inside: avoid"><TD style="BORDER-RIGHT: silver 1.5pt double; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1.5pt double; WIDTH: 126pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1.5pt double; HEIGHT: 54.4pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: double silver 1.5pt" vAlign=top width=168>
能够从Outlook客户端向外发送邮件(如user@Sohu.com),但是从Outlook Express客户端却不能这么做
</TD><TD style="BORDER-RIGHT: silver 1.5pt double; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 351pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1.5pt double; HEIGHT: 54.4pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: double silver 1.5pt; mso-border-top-alt: double silver 1.5pt" vAlign=top width=468>
OutlookExpress弹出一个错误对话框,说“处理所需任务时出错”。
错误描述:
由于服务器拒绝收件人之一,无法发送邮件。被拒绝的电子邮件地址是“zhengyun_ustc@XXX.com”。主题'test';账户:'mailserver',服务器:'mailserver',协议:SMTP,服务器响应:'550 5.7.1 Unable to relay for zhengyun_ustc@XXX.com',端口:25,安全(SSL):否,服务器错误:550,错误号:0x800CCC79
</TD></TR><TR style="HEIGHT: 54.4pt; mso-yfti-irow: 2; page-break-inside: avoid"><TD style="BORDER-RIGHT: silver 1.5pt double; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1.5pt double; WIDTH: 126pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1.5pt double; HEIGHT: 54.4pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: double silver 1.5pt" vAlign=top width=168>
在VBScript脚本中,如果指定SMTP Server来向外发送邮件,会得到0X0804020F的错误号;
但是不指定SMTP Server,默认用Pickup方式,让本地的SMTP Service来向外发送邮件却是可以的
(脚本示范在附录A中)
</TD><TD style="BORDER-RIGHT: silver 1.5pt double; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 351pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1.5pt double; HEIGHT: 54.4pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: double silver 1.5pt; mso-border-top-alt: double silver 1.5pt" vAlign=top width=468>
弹出一个标题为“Windows 脚本宿主”的错误对话框。错误描述为:
错误:
the Server rejected one or more recipient address.The server response was:550 5.7.1 Unable to relay for zhengyun_ustc@XXX.com
代码:
8004020F
</TD></TR><TR style="HEIGHT: 54.4pt; mso-yfti-irow: 3; page-break-inside: avoid"><TD style="BORDER-RIGHT: silver 1.5pt double; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1.5pt double; WIDTH: 126pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1.5pt double; HEIGHT: 54.4pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: double silver 1.5pt" vAlign=top width=168>
</TD><TD style="BORDER-RIGHT: silver 1.5pt double; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 351pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1.5pt double; HEIGHT: 54.4pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: double silver 1.5pt; mso-border-top-alt: double silver 1.5pt" vAlign=top width=468>
5.7.1错误号一般会伴随有应用程序日志的事件ID 1709和1710:
Event Type: Warning
Event Source: MSExchangeTransport
Event Category: SMTP Protocol
Event ID: 1709
Date: 9/6/2000
Time: 5:21:28 AM
User: N/A
Computer: SERVERNAME
Description: An SMTP client did not authenticate before attempting to send mail. Access was denied. Data: 0000: 05 00 07 80 ...?
Event Type: Warning
Event Source: MSExchangeTransport
Event Category: SMTP Protocol
Event ID: 1710
Date: 9/5/2000
Time: 3:31:03 PM
User: N/A
Computer: SERVERNAME
Description: An SMTP client authenticated as user "NT AUTHORITY\ANONYMOUS LOGON" attempted to send as "User.one@domain.edu". Access was denied because the authenticated client does not have permission to Send As this SMTP address. Data: 0000: 05 00 07 80 ...?
</TD></TR><TR style="HEIGHT: 54.4pt; mso-yfti-irow: 4; page-break-inside: avoid; mso-yfti-lastrow: yes"><TD style="BORDER-RIGHT: silver 1.5pt double; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: silver 1.5pt double; WIDTH: 126pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1.5pt double; HEIGHT: 54.4pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: double silver 1.5pt" vAlign=top width=168>
向一个不允许中继的远程域发送邮件
</TD><TD style="BORDER-RIGHT: silver 1.5pt double; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 351pt; PADDING-TOP: 0cm; BORDER-BOTTOM: silver 1.5pt double; HEIGHT: 54.4pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: double silver 1.5pt; mso-border-top-alt: double silver 1.5pt" vAlign=top width=468>
Non-Delivery Report (NDR)详细错误报告:
The following recipient(s) could not be reached:
User@Remotedomain.com on 1/6/00 7:58 PM
The originator does not have permission to submit message dns;Wsilver.com failed 5.7.1 smtp;550 5.7.1 Unable to relay for User@Remotedomain.com
</TD></TR></TBODY></TABLE>
我们先来了解一下前面报告的错误号的含义:
0X8004020F的错误号的定义:
可以参看CDO For Exchange 2000或者CDO For Windows 2000的错误号定义:
<TABLE class=MsoNormalTable style="BORDER-RIGHT: windowtext 1pt solid; BORDER-TOP: windowtext 1pt solid; BACKGROUND: #e6e6e6; BORDER-LEFT: windowtext 1pt solid; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt; mso-border-insideh: .75pt solid windowtext; mso-border-insidev: .75pt solid windowtext; mso-cellspacing: 1.5pt" cellPadding=0 border=1><TBODY><TR style="mso-yfti-irow: 0"><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0.75pt; BACKGROUND: #99ccff; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt">
Error Name
</TD><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0.75pt; BACKGROUND: #99ccff; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt">
Value
</TD><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0.75pt; BACKGROUND: #99ccff; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: windowtext 1pt solid; WIDTH: 253.25pt; PADDING-TOP: 0.75pt; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .75pt" width=338>
Remarks
</TD></TR><TR style="mso-yfti-irow: 1; mso-yfti-lastrow: yes"><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .75pt">
CDO_E_RECIPIENTS_REJECTED
</TD><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 0.75pt; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .75pt">
0x8004020FL
</TD><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: windowtext 1pt solid; WIDTH: 253.25pt; PADDING-TOP: 0.75pt; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .75pt" width=338>
The server rejected one or more recipient addresses. The server response was: %1.
</TD></TR></TBODY></TABLE>
5.7.1错误号的定义:
DSN(Delivery Status Notifications in Exchange 2000 Server)描述了三种情况:
Ø Success (as 2.<X.X> numerical codes)
Ø Persistent transient failure (as 4.<X.X> numerical codes)
Ø Permanent failures (as 5.<X.X> numerical codes)
详细定义可以参见RFC 1891和RFC1893。
Numerical Code: 5.7.1:
Possible Cause:
n General access denied, sender access denied ? the sender of the message does not have the privileges necessary to complete delivery.
n You are trying to relay your mail via another SMTP server and it does not permit you to relay.
n The recipient might have mailbox delivery restrictions enabled. For example, a recipient’s mailbox delivery restriction was sent to receive from a Distribution List only and non-member’s email will be rejected with this error.
Troubleshooting: Check system privileges and attributes for the contact and
retry the message. Also make sure you are running Exchange 2000 Service Pack
1 or later for other potential known issues.
附录A:
<TABLE class=MsoNormalTable style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: #f3f3f3; MARGIN: auto auto auto 5.4pt; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellSpacing=0 cellPadding=0 border=1><TBODY><TR style="HEIGHT: 48.45pt; mso-yfti-irow: 0; mso-yfti-lastrow: yes"><TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 432pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; HEIGHT: 48.45pt; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" vAlign=top width=576>
Dim objMessage
set objMessage = CreateObject("CDO.Message")
With objMessage
.from = "User@XXX.com"
.To = "zhengyun_ustc@XXX.com"
.TextBody = "body"
.Subject = "Subject"
With .Configuration
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'cdoSendUsingPort
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mailserver.tomocorp.com"
.Fields(cdoSMTPServerPort) = 25
.Fields.update
End With
End With
objMessage.send
</TD></TR></TBODY></TABLE>
原因与解决方法:
出错的几种原因:
第一种解释:
《XCON: NDRs May Result Based on SMTP Configuration [Q274638]》给出的适合Exchange的解释:
发生5.7.1错误可能是由于Exchange的System Manager中的SMTP虚拟服务器的设置中没有选中“allow computers which successfully authenticate to relay”复选框。如下所示,
先打开SMTP Virtual Server的属性页的Access页:
然后点击“Relay”按钮,察看“Allow all computers which successfully authenticate to relay,regardless of the list above”是否选中: