症状
请考虑以下情况:
- 你运行的是Microsoft Exchange Server 2019、Exchange Server 2016 或 2013 Exchange Server。
- 为 POP/IMAP 访问配置了Exchange Server。
- Exchange 环境中的共享邮箱配置为启用 POP/IMAP 访问。
- 向未启用邮件的服务帐户授予对共享邮箱的权限。
在这种情况下,用户无法使用服务帐户通过 POP/IMAP 访问共享邮箱。 此外,POP/IMAP 协议日志中会显示类似于以下内容的错误消息:
“R=”? NO 登录失败:“”;Msg=NoPrimarySmtpAddress”
发生此问题时,服务帐户仍可以通过 Microsoft Outlook、Outlook Web App、Exchange Web Services 或Exchange ActiveSync访问共享邮箱。
原因
出现此问题的原因是 POP/IMAP 身份验证过程要求经过身份验证的用户定义主 SMTP 地址。
解决方案
若要解决此问题,请使用以下方法之一 (,但只能使用一种) 。
方法 1:为服务帐户创建邮箱
使用 Exchange 管理员中心或 Exchange 命令行管理程序为服务帐户创建邮箱。 有关如何为现有用户创建邮箱的详细信息,请参阅在 Exchange Server 中创建用户邮箱。
方法 2:将主 SMTP 地址添加到 proxyAddresses 属性
使用 Active Directory 用户和计算机 将主 SMTP 地址添加到服务帐户的 proxyAddresses 属性。 为此,请按照下列步骤操作:
打开 Active Directory 用户和计算机。
选择“ 查看>高级功能”。
查找服务帐户的用户对象。
右键单击该对象,然后选择“ 属性”。
选择“属性编辑器”选项卡。
找到 userPrincipalName 属性,并记下属性值 (, serviceaccount01@contoso.com 例如,) 。
找到 proxyAddresses 属性,然后选择 “编辑”。
在“ 要添加的值 ”文本框中,添加以下文本以设置主 SMTP 地址,然后选择“ 添加 ”按钮:
Smtp:serviceaccount01@contoso.com
选择“确定”两次,然后关闭Active Directory 用户和计算机。
进行此更改后,请要求用户通过 POP/IMAP 再次访问共享邮箱。