Exchange 2010 550 5.7.1 无法中继

Exchange 2010 550 5.7.1 无法中继

我有一个网站应用程序需要通过我们的 Exchange 服务器发送电子邮件。它可以在内部正常发送电子邮件,但当发送到外部地址时,我收到 550 5.7.1 无法中继错误。我遵循本指南创建一个允许中继的连接器。不幸的是,所有办公室电子邮件都试图使用该连接器,但路由不正确。它似乎也为垃圾邮件发送者打开了方便之门。这显然是不可接受的,需要一种安全的方法。

答案1

在新的范围内,您是否只设置了可以发送邮件的 Web 服务器 IP?如果您将连接器限制为仅接收来自 Web 服务器的邮件,那么应该可以解决这个问题。

或者,如果您可以设置您的 Web 应用程序以使用经过身份验证的 SMTP 会话,那么您就不需要新的连接器。

答案2

出现此问题的原因是,默认情况下,Exchange Server 2007 中的接收连接器未设置其默认域值。这与 Exchange 2000 或 2003 中的行为不同,在 Exchange 2000 或 2003 中,如果未提供域名,则它会自动将默认域附加到发送服务器提交给邮件信封中的 MAIL FROM: 或 RCPT TO: 的值。

在 Exchange Server 2007/2010 中,接收连接器上的默认域值默认未设置。如果在 MAIL FROM: 或 RCPT TO: 命令中未指定域名,Exchange Server 2007 将拒绝该邮件并返回“501 5.1.7 无效地址”响应。

若要解决此问题,请执行以下步骤从 Exchange 命令行管理程序中设置接收连接器上的默认域值:

  1. 依次单击“开始”、“所有程序”、“Microsoft Exchange Server 2007”和“Exchange 命令行管理程序”。

  2. 运行以下 cmdlet 以查看接收连接器上默认域值的当前设置:

    Get-ReceiveConnector -identity <YourReceiveConnectorName> |fl
    

    在输出中,请注意 DefaultDomain 的值默认为空。

  3. 运行以下 cmdlet 来设置默认域值:

    Set-ReceiveConnector -identity “<YourReceiveConnectorName>” -DefaultDomain “<YourSMTPDomainName>”
    

    例如,Set-ReceiveConnector -identity “Default EX2007MAIL” -DefaultDomain “contoso.com”

  4. 再次运行Get-ReceiveConnector -identity <YourReceiveConnectorName> |flcmdlet 并验证输出中是否已设置 DefaultDomain。

答案3

请遵循以下指南:http://technet.microsoft.com/en-us/library/bb232021.aspx

确保将连接器限制到允许中继邮件的内部 IP 地址。(-RemoteIpRanges)

New-ReceiveConnector -名称“匿名中继”-使用自定义-PermissionGroups AnonymousUsers -Bindings 10.2.3.4:25 -RemoteIpRanges 192.168.5.77

Get-ReceiveConnector“匿名中继”| Add-ADPermission -User“NT AUTHORITY\ANONYMOUS LOGON”-ExtendedRights“Ms-Exch-SMTP-Accept-Any-Recipient”

相关内容