「550 5.6.0 CAT.InvalidContent.Exception」,且 Exchange Server 2016 和 2013 中未傳遞電子郵件

套用到
Exchange Server 2013 Enterprise Edition Exchange Server 2016 Enterprise Edition Exchange Server 2016 Standard Edition Exchange Server 2013 SP1 Exchange Server 2013 Standard Edition

症狀

請考慮以下案例:

  • 您可以使用 Microsoft Exchange Server 2016 信箱或 Exchange Server 2013 信箱傳送電子郵件訊息。
  • 電子郵件的主旨行包含不支援的編碼字元,以 CP 或 MS 開頭,後面接著 「-」,而不是數字,例如 cp-850。

在此案例中,電子郵件不會傳遞。 此外,您可能會收到類似下列 (NDR) 訊息未傳遞報告:

注意

遠端伺服器傳回 '550 5.6.0 CAT。InvalidContent.Exception: InvalidCharsetException, 字元集名稱 (cp-850) 無效或未安裝。;無法使用 InternalId InternalId, InternetMessageId 處理訊息內容。」

因此,cp-850 字元郵件的 NDR 日誌報告電子郵件無法傳遞到 Exchange 日誌目的地信箱。

原因

發生此問題的原因是,如果主旨行包含不支援的編碼字元,則 Exchange Server 2016 和 Exchange Server 2013 無法處理電子郵件訊息。

解決方式

若要解決這個問題,請安裝下列更新之一:

此外,還有一項功能可啟用後援以使用設定檔中的預設字集。 如果您啟用此功能,則可以傳送主旨行中包含不支援編碼字元的電子郵件訊息。 若要啟用此功能,請按照下列步驟操作:

  1. 設定這兩個檔案:EdgeTransport.exe.config 和 MSExchangeDelivery.exe.config。

    • 備註預設情況下,這兩個檔案位於下列資料夾中:C:\Program Files\Microsoft\Exchange Server\V14\Bin,在記事本中開啟檔案。

    • 在每個檔案中,在設定元素下新增下列設定元素:

      備註唯一的元素差異是「版本」。例如,針對 Exchange Server 2013 累積更新 20 使用「版本=15.0.1366.0」,針對 Exchange Server 2016 累積更新 9 使用「版本=15.1.1462.0」。

      <configSections>
          <section name="CTS" type="Microsoft.Exchange.Data.Internal.CtsConfigurationSection, Microsoft.Exchange.Data.Common, Version=15.0.1366.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35" />
      </configSections>
      <CTS>
          <Globalization>
            <FallbackToDefaultCharset Fallback="true"/>
            <DefaultCulture Culture="en"/>
          </Globalization>
      </CTS>
      

      附註:
      a) configSections 區段必須是 .Net 強制執行的設定元素的第一個元素。 否則,傳輸服務會在啟動時停止回應。
      b) Microsoft.Exchange.Data.Common 組件的版本、區域性和公用權杖必須正確無誤。 您可以從全域組件快取 (GAC) 中找到它們。
      c) FallbackToDefaultCharset 元素可用來開啟或關閉此功能。 您可以將 Fallback 屬性設定為 truefalse,以開啟或關閉此功能。
      d) 如果不支援電子郵件訊息上的字集, DefaultCUlture 元素是指定後援文化。 您必須將 Culture 屬性設定為有效的文化特性名稱。 否則,Exchange 會使用目前執行緒的文化性作為後援文化性。 在範例設定中,後援文化特性設定為 “en”。

  2. 儲存 EdgeTransport.exe.config 和 MSExchangeDelivery.exe.config 檔案。

  3. 重新啟動傳輸服務才會生效。

備註 必須仔細編輯設定檔。 沒有用於診斷的追蹤或事件記錄檔。 如果設定檔中有打錯字,此功能將無法如預期般運作。 此外,請注意,對於具有不支援字元集的訊息,我們無法保證收到該訊息時的任何內容,也無法保證收到此訊息時所造成的任何訊息的真實性。

此外,這裡有一個相關連結供您參考: 主旨行中包含不支援的編碼字元的電子郵件訊息不會在 Exchange Server 2010 環境中傳遞

其他資訊

在您套用此更新並更新 EdgeTransport.exe.config 檔案之後,可能會發生問題。 在安裝 Exchange Server 2016 或 Exchange Server 2013 的後續累積更新期間,使用 Set-AppConfigValue 更新 EdgeTransport.exe.config 檔案時,您可能會收到下列錯誤訊息:

Microsoft.Exchange.Data.Common.LocalizedException: Set-AppConfigValue: 節點區段位於檔案 F:\Program Files\Microsoft\Exchange Server\V15\bin\EdgeTransport.exe.config,但它並不是唯一的。

若要修正此問題,在執行 Exchange Server 2016 或 Exchange Server 2013 的累積更新之前,應先執行下列步驟,從 EdgeTransport.exe.config 檔案中移除上述 CTS 區段:

  • 停止所有的 Exchange 服務。
  • 複製並儲存 EdgeTransport.exe.config 檔案。
  • 從 EdgeTransport.exe.config 檔案中移除上述) 下列 CTS 區段 (。
    <CTS>
    <Globalization><FallbackToDefaultCharset fallback=“true”/>
    <DefaultCulture Culture=“en”/>
    </Globalization>
    </CTS>
  • 儲存更新的 EdgeTransport.exe.config 檔案。
  • 執行 Exchange Server 2016 或 Exchange Server 2013 的稍後累積更新安裝。
  • 完成設定後,請遵循本文來更新 EdgeTransport.exe.config 檔案。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來說明軟體更新的術語