在 Exchange Server 中透過 POP/IMAP 存取共用信箱時發生 "NoPrimarySmtpAddress" 錯誤

徵狀

請試想下列案例:

  • 您正在執行 Microsoft Exchange Server 2019、Exchange Server 2016 或 Exchange Server 2013。
  • Exchange Server 已設定 POP/IMAP 存取。
  • Exchange 環境中的共用信箱已設定為啟用 POP/IMAP 存取。
  • 未啟用郵件功能的服務帳戶會被授與共享信箱的許可權。

在此案例中,使用者無法透過 POP/IMAP 使用服務帳戶來存取共用信箱。 此外,您會在 POP/IMAP 的通訊協定記錄中看到錯誤訊息,如下所示:

"R =" "?無登入失敗: "";Msg = NoPrimarySmtpAddress "

發生此問題時,服務帳戶仍可透過 Microsoft Outlook、Outlook Web App、Exchange Web 服務或 Exchange ActiveSync 存取共用信箱。

原因

發生此問題的原因是 POP/IMAP 驗證程式要求經過驗證的使用者已定義主要 SMTP 位址。

解決方案

若要修正此問題,請使用下列兩種方法之一 (,但只有一個) 。

方法1:建立服務帳戶的信箱

使用 Exchange 系統管理中心或 Exchange 管理命令介面來建立服務帳戶的信箱。 如需如何為現有使用者建立信箱的詳細資訊,請參閱 在 Exchange Server 中建立使用者信箱

方法2:將主要 SMTP 位址新增至 proxyAddresses 屬性

使用 Active Directory 使用者和電腦,將主要 SMTP 位址新增至服務帳戶的 proxyAddresses 屬性。 若要這樣做,請執行下列步驟:

  1. 開啟 [Active Directory 使用者和電腦]。

  2. 選取 [查看 > 高級功能]。

  3. 尋找服務帳戶的使用者物件。

  4. 在物件上按一下滑鼠右鍵,然後選取 [ 屬性]。

  5. 選取 [ 屬性編輯器 ] 索引標籤。

  6. 尋找 userPrincipalName 屬性,並注意屬性值 (例如, serviceaccount01@contoso.com) 。

  7. 找到 proxyAddresses 屬性,然後選取 [ 編輯]。

  8. 在 [ 要新增的值 ] 文字方塊中,新增下列文字以設定主要 SMTP 位址,然後選取 [ 新增 ] 按鈕:

    SMTP: serviceaccount01 @ contoso.com

  9. 選取 [確定] 兩次,然後關閉 [Active Directory 使用者及電腦]。

進行此變更之後,請使用者 POP/IMAP 中重新存取共用信箱。