Microsoft 信箱中出現「Http 伺服器傳回禁止例外狀況」錯誤 Dynamics 365

本文提供當您在 Dynamics 365 中選取信箱記錄上的 [測試 & 啟用信箱] 按鈕時所發生錯誤的解決方案。

適用於:Microsoft Dynamics 365
原始 KB 編號: 4483440

徵狀

當您在 Dynamics 365 中選取信箱記錄上的 [測試 & 啟用信箱] 按鈕時,[測試結果] 區段會顯示 [失敗],並記錄下列警示:

「您的信箱現在已連線到 Dynamics 365」電子郵件訊息無法傳送,因為建立與電子郵件伺服器的安全連線時發生錯誤。 信箱 [信箱名稱] 未同步處理。 電子郵件伺服器配置檔 Microsoft Exchange Online 的擁有者已收到通知。
Email 伺服器錯誤碼:Http 伺服器傳回禁止例外狀況」。

如果您選取 [詳細資料],則會顯示下列其他詳細資料:

「錯誤:System.Net.WebException:要求失敗,HTTP 狀態為 403:禁止。
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse (SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.EndInvoke (IAsyncResult asyncResult)
at Microsoft.Crm.Asynchronous.EmailConnector.ExchangeServiceBinding.EndCreateItem (IAsyncResult asyncResult)
at Microsoft.Crm.Asynchronous.EmailConnector.ExchangeOutgoingEmailProvider.EndCreateItem () ”

原因

Dynamics 365 使用 Exchange Web Services (EWS) 要求與 Microsoft Exchange 通訊。 如果停用 EWS,就會發生此錯誤。 下列內容是一些可能在 Exchange 中停用或限制 EWS 的方式:

  1. 信箱的 EWS 已停用
  2. 整個組織已停用 EWS
  3. 設定EwsApplicationAccessPolicyEnforceAllowList,且the EwsAllowList不允許從 Dynamics 365 (CRM) 存取。
  4. 設定EwsApplicationAccessPolicyEnforceBlockList,並the EwsBlockList包含 Dynamics 365 (CRM) 。

解決方案

如果問題只發生在某些信箱,請檢查信箱是否已停用 EWS:

  1. 請先檢查信箱是否已停用 EWS。 使用下列 PowerShell 命令:

    Get-CASMailbox <mailbox-alias> | ft EwsEnabled
    
  2. 如果 EwsEnabled 設定為 False,請使用下列 PowerShell 命令來啟用信箱的 Exchange Web 服務 (EWS) :

    Set-CASMailbox <mailbox-alias> -EwsEnabled $True
    

    重要事項

    執行此命令之後,最多可能需要120分鐘,設定變更才會生效。

如果所有信箱都發生此問題,請檢查組織層級是否停用 EWS,或是否使用 EwsAllowList 來限制允許的 EWS 流量。

  1. 使用下列 PowerShell 命令來檢視是否已設定任何 EWS 設定:

    Get-OrganizationConfig |ft Name, EwsEnabled,EwsApplicationAccessPolicy,EwsBlockList,EwsAllowList
    
  2. 確認 EwsEnabled 未設定為 False。 如果 EwsEnabled 目前設定為 False,則可以使用下列命令將 EwsEnabled 設定為 True

    Set-OrganizationConfig -EwsEnabled $True
    

    重要事項

    執行此命令之後,最多可能需要120分鐘,設定變更才會生效。

  3. 如果 EwsApplicationAccessPolicy 設定為 EnforceAllowList,且 EwsAllowList 不包含 CRM 的值 (範例:CRM/*) ,這會防止 Dynamics 365 (CRM) 與 Exchange 通訊。 使用下列命令來更新清單,以包含CRM/* 以及您想要在下列範例中允許 (<PreviousAllowList> 的任何其他應用程式) :

    Set-OrganizationConfig -EwsApplicationAccessPolicy:EnforceAllowList -EwsAllowList:CRM/*,<PreviousAllowedList>
    

    重要事項

    執行此命令之後,最多可能需要120分鐘,設定變更才會生效。

  4. 如果 EwsApplicationAccessPolicy 設定為 EnforceBlockList且 EwsAllowList 包含 CRM 的值 (範例:CRM/*) ,這會防止 Dynamics 365 (CRM) 與 Exchange 通訊。 使用下列命令將清單更新為不再包含CRM:

    Set-OrganizationConfig -EwsApplicationAccessPolicy:EnforceBlockList -EwsBlockList:<PreviousBlockList WITH CRM REMOVED>
    

    重要事項

    執行此命令之後,最多可能需要120分鐘,設定變更才會生效。

其他相關資訊

如需使用PowerShell變更Exchange 設定及控制EWS存取權的詳細資訊,請參閱下列文章: