徵兆
請試想下列案例:
-
您可以使用 Microsoft Exchange Server 2016 信箱或 Exchange Server 2013 信箱傳送電子郵件訊息。
-
電子郵件訊息的主旨行包含不支援的編碼字元,從 CP 或 MS 開始,然後以 「-」 開啟,而非數位,例如 cp-850。
在此案例中,電子郵件不會送達。 此外,您可能會收到未傳遞回報 (NDR) 訊息,如下所示:
遠端伺服器傳回 '550 5.6.0 CAT。InvalidContent.Exception: InvalidCharsetException, Character set name (cp-850) is invalid or not installed.;無法使用 InternalId InternalId、InternetMessageId.' 處理郵件內容。
因此,cp-850 字元郵件 NDR 的日誌報告電子郵件無法傳送至 Exchange 日誌目的地信箱。
原因
發生此問題的原因在於,如果主旨行包含不支援的編碼字元,Exchange Server 2016 和 Exchange Server 2013 不會處理電子郵件訊息。
解決方案
若要解決這個問題,請安裝下列更新之一:
-
針對 Exchange Server 2016,安裝累積更新 9或更新版本的累積更新,Exchange Server 2016。
-
針對 Exchange Server 2013,安裝 Exchange Server 2013 的累積更新 20或更新版本。
此外,還有一項功能可讓後援使用組態檔中的預設字元集。 如果您啟用這項功能,則可傳送主旨行中有不支援編碼字元的電子郵件訊息。 若要啟用此功能,請遵循下列步驟:
-
設定這兩個檔案:EdgeTransport.exe.config 和 MSExchangeDelivery.exe.config。
-
附註 根據預設,這兩個檔案位於下列資料夾中:C:\Program Files\Microsoft\Exchange Server\V14\Bin,在記事本中開啟檔案。
-
在每一個檔案中,在 Configuration 元素底下新增下列組態元素:
注意 元素中唯一的差異是「版本」。 例如,針對 Exchange Server 2013 累積更新 20,請使用 「Version=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) (Global Assembly 快取找到這些專案。
c) FallbackToDefaultCharset 元素是用來開啟或關閉此功能。 您可以將 Fallback 屬性設為 True 或 false,藉此開啟或關閉此功能。
d) 如果電子郵件訊息上的字元集不受支援, DefaultCUlture 元素會指定後援文化特性。 您必須將 Culture 屬性設為有效的文化特性名稱。 如果沒有,Exchange 會使用目前對話文化做為後援文化。 在範例設定中,後援文化特性設為 「en」。
-
-
儲存 EdgeTransport.exe.config 和 MSExchangeDelivery.exe.config 檔案。
-
重新開機傳輸服務以生效。
注意 組態檔必須仔細編輯。 診斷沒有追蹤或事件記錄檔。 如果組態檔中有錯字,此功能將無法如預期般運作。 此外,請注意,對於收到郵件時,我們不會保證郵件是否有任何內容,也不會保證收到此郵件時所造成之任何郵件的逼真度。
此外,以下是供您參考的相關連結:主旨行中包含不支援編碼字元的電子郵件訊息不會在 Exchange Server 2010 環境中傳遞。
其他相關資訊
當您將此更新與更新 EdgeTransport.exe.config 檔案一起套用之後,可能會發生問題。 在安裝 Exchange Server 2016 或 Exchange Server 2013 的後續累積更新期間,當 EdgeTransport.exe.config 檔案更新為 Set-AppConfigValue 時,您可能會收到下列錯誤訊息:
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> <種全球化> <FallbackToDefaultCharset Fallback=「true」/> <DefaultCulture Culture=「en」/> </> </CTS>
-
儲存更新 EdgeTransport.exe.config 檔案。
-
執行 Exchange Server 2016 或 Exchange Server 2013 的後續累積更新設定。
-
設定完成後,請依照本文更新 EdgeTransport.exe.config 檔案。
狀態
Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。
參考
了解 Microsoft 用來說明軟體更新的術語。