Exchange2010匿名发送无法发送外域

现象

部分用户发送qq,163等邮箱时有如下提示:

(550, b'5.7.1 Unable to relay')

排查

共性:都有匿名权限,发送邮件时没有使用密码

问题重现:只有发内部域时才会成功,其他域都有此提示

定位问题

这部分用户有匿名权限,发送邮件走的是接收连接器的一个具有匿名权限的链接器。 确认此链接器匿名权限正常(因为匿名发内部域邮件可以成功)

阅读微软相关文档
  • 使用命令行管理程序向新接收连接器上的匿名连接授予中继权限
    注释注意:
    无法使用 EMC 执行此任务。

    此示例将检索指定接收连接器的信息,并通过管道将结果传递给 Add-ADPermission cmdlet,从而向新接收连接器上的匿名连接授予中继权限

    Get-ReceiveConnector "anonymous" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

判断是这个匿名接收链接器并没有被授予中继权限

解决

微软的操作是给这个接收链接器添加一个”Ms-Exch-SMTP-Accept-Any-Recipient”这个权限
下面照着做
先看下这个接收连接器现在的权限:

[PS] C:\Windows\system32>Get-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON"  -Identity anonymous|fl ExtendedRights


ExtendedRights : {ms-Exch-SMTP-Accept-Authoritative-Domain-Sender}

ExtendedRights : {ms-Exch-SMTP-Accept-Any-Sender}

ExtendedRights : {ms-Exch-SMTP-Submit}

ExtendedRights : {ms-Exch-Accept-Headers-Routing}

ExtendedRights : {ms-Exch-Store-Create-Named-Properties}

ExtendedRights : {ms-Exch-Create-Public-Folder}

ExtendedRights :

ExtendedRights :

可以看到确实没有微软文档里说的”Ms-Exch-SMTP-Accept-Any-Recipient”这个权限
然后按照文档添加下这个权限:

[PS] C:\Windows\system32>Get-ReceiveConnector "anonymous" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

Identity             User                 Deny  Inherited
--------             ----                 ----  ---------
TESTCAS\anonymous    NT AUTHORITY\ANON... False False

运行没有任何报错警告什么的,现在验证下是否添加成功:

[PS] C:\Windows\system32>Get-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON"  -Identity anonymous|fl ExtendedRights


ExtendedRights : {ms-Exch-SMTP-Accept-Authoritative-Domain-Sender}

ExtendedRights : {ms-Exch-SMTP-Accept-Any-Sender}

ExtendedRights : {ms-Exch-SMTP-Submit}

ExtendedRights : {ms-Exch-Accept-Headers-Routing}

ExtendedRights : {ms-Exch-SMTP-Accept-Any-Recipient}

ExtendedRights : {ms-Exch-Store-Create-Named-Properties}

ExtendedRights : {ms-Exch-Create-Public-Folder}

ExtendedRights :

ExtendedRights :

可以看到倒数第五个已经显示的已经添加成功了:

ExtendedRights : {ms-Exch-SMTP-Accept-Any-Recipient}

然后重启下exchange传输服务,找用户测试后可以正常发送

后记

Ms-Exch-SMTP-Accept-Any-Recipient

  • 百度百科

    此权限允许会话通过此连接器中继邮件。如果未授予此权限,则此连接器仅接受发送给所接受域中收件人的邮件。
  • TechNet

    允许将消息发送到本地服务器未知的电子邮件地址(称为中继)