在 Exchange 2010 中,我有一个通讯组[电子邮件保护]。它只允许用于内部邮件。当通过 OWA 或直接通过 Outlook RPC 发送电子邮件时,它可以正常工作。但是它不能通过经过身份验证的 SMTP 工作(一段时间内,由于管理层的决定,用户将不得不使用 pop3/smtp 而不是 RPC),并给出如下错误:
#550 5.7.1 RESOLVER.RST.AuthRequired; authentication required ##
SMTP 似乎即使经过身份验证(用户无法在未经身份验证的情况下发送邮件,因此他们使用身份验证才能发送普通邮件)也被视为非内部邮件。有没有办法让它工作,而不必为世界上的每个人启用该地址?
答案1
我还没有找到一种方法,可以在不向外界开放群组的情况下,让此功能与 SMTP AUTH 客户端配合使用。我认为最好在“所有”通讯组中启用“要求所有用户都经过身份验证”设置,因此您的设置可能无法实现这一点。
答案2
为了允许 SMTP 用户能够向通讯组发送电子邮件,并且"Require that all users are authenticated"
该组上启用了标志,必须将其添加"ms-Exch-SMTP-Accept-Authentication-Flag"
到接收连接器。
让我们验证连接器上的当前设置:
Get-ReceiveConnector "EXCHANGE1\Client EXCHANGE1" | Get-ADPermission
-User "NT AUTHORITY\Authenticated Users" | ft user,extendedrights
NT AUTHORITY\Authenticated Users {ms-Exch-SMTP-Accept-Any-Sender}
NT AUTHORITY\Authenticated Users {ms-Exch-SMTP-Accept-Any-Recipient}
NT AUTHORITY\Authenticated Users {ms-Exch-Accept-Headers-Routing}
NT AUTHORITY\Authenticated Users {ms-Exch-Bypass-Anti-Spam}
NT AUTHORITY\Authenticated Users {ms-Exch-SMTP-Submit}
使用此设置无法工作。因此我们ms-Exch-SMTP-Accept-Authentication-Flag
使用以下命令添加到 SMTP 连接器:
Get-ReceiveConnector "EXCHANGE1\Client EXCHANGE1" | Add-ADPermission
-User 'NT Authority\Authenticated Users' -ExtendedRights ms-Exch-SMTP-Accept-Authentication-Flag
我们用以下命令验证它是否已添加:
Get-ReceiveConnector "EXCHANGE1\Client EXCHANGE1" | Get-ADPermission
-User "NT AUTHORITY\Authenticated Users" | ft user,extendedrights
NT AUTHORITY\Authenticated Users {ms-Exch-SMTP-Accept-Any-Sender}
NT AUTHORITY\Authenticated Users {ms-Exch-SMTP-Accept-Any-Recipient}
NT AUTHORITY\Authenticated Users {ms-Exch-Accept-Headers-Routing}
NT AUTHORITY\Authenticated Users {ms-Exch-SMTP-Accept-Authentication-Flag}
NT AUTHORITY\Authenticated Users {ms-Exch-Bypass-Anti-Spam}
NT AUTHORITY\Authenticated Users {ms-Exch-SMTP-Submit}
注意:{ms-Exch-SMTP-Accept-Authentication-Flag}
之前并不存在该内容。
就这样。之后它就正常工作了。就我而言,我必须在 2 个连接器(2 个 Exchange 服务器)上进行设置。