我有一个网站应用程序,需要通过我们的Exchange服务器发送电子邮件。 它发送内部电子邮件罚款,但发送到外部地址时,我得到550 5.7.1无法中继错误。 我遵循这个指南来创build一个连接器来允许中继。 不幸的是,所有的办公室电子邮件试图使用该连接器,并没有正确路由。 它也好像打开了它的垃圾邮件发送者使用。 这显然是不可接受的,需要一个安全的方法。
在您的新范围内,您是否只将Web服务器的IP设置为可以发送邮件? 如果您将连接器限制为只接收来自您的networking服务器的应该处理的邮件。
或者,如果您可以设置您的Web应用程序使用经过身份validation的SMTP会话,则不需要新的连接器。
出现此问题的原因默认情况下Exchange Server 2007年中的接收连接器没有设置其默认域值。 这与Exchange 2000或2003中的行为不同,在此情况下,如果未提供域名,则它会自动将默认域附加到发送服务器的邮件信封中提交给MAIL FROM:或RCPT TO的值。
在Exchange Server 2007/2010中,默认情况下未设置接收连接器上的默认域值。 如果在MAIL FROM:或RCPT TO:命令中没有指定域名,则Exchange Server 2007拒绝具有“501 5.1.7无效地址”响应的邮件。
要解决此问题,请执行以下步骤在Exchange命令行pipe理程序中设置接收连接器上的默认域值:
单击开始,单击所有程序,单击Microsoft Exchange Server 2007,然后单击Exchange命令行pipe理程序。
运行以下cmdlet以查看接收连接器上的默认域值的当前设置:
Get-ReceiveConnector -identity <YourReceiveConnectorName> |fl
在输出中,请注意DefaultDomain的值默认为空白。
运行以下cmdlet以设置默认域值:
Set-ReceiveConnector -identity “<YourReceiveConnectorName>” -DefaultDomain “<YourSMTPDomainName>”
例如, Set-ReceiveConnector -identity “Default EX2007MAIL” -DefaultDomain “contoso.com”
再次运行Get-ReceiveConnector -identity <YourReceiveConnectorName> |fl
cmdlet,并validation在输出中设置了DefaultDomain。
请遵循以下指南: http : //technet.microsoft.com/en-us/library/bb232021.aspx
确保将连接器限制为允许中继邮件的内部IP地址。 (-RemoteIpRanges)
New-ReceiveConnector -Name“匿名中继” – 使用自定义-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”