Příznaky
Vezměte v úvahu následující scénář:
- Odešlete e-mailovou zprávu pomocí poštovní schránky systému Microsoft Exchange Server 2016 nebo poštovní schránky systému Exchange Server 2013.
- Řádek předmětu e-mailové zprávy obsahuje nepodporované kódované znaky, počínaje CP nebo MS a následovanými "-" místo čísla, například cp-850.
V tomto scénáři se e-mail nedoručí. Navíc vám může přijít zpráva s oznámením o nedoručení (NDR), která vypadá nějak takto:
Poznámka
Remote Server vrátil '550 5.6.0 KAT. InvalidContent.Exception: InvalidCharsetException, Název znakové sady (cp-850) je neplatný nebo není nainstalován.; cannot handle content of message with InternalId InternalId, InternetMessageId.'
Z tohoto důvodu nelze do cílových poštovních schránek deníku doručovat e-maily se zprávou o nedoručení pro poštu cp-850 znaků.
Příčina
K tomuto problému dochází, protože Exchange Server 2016 a Exchange Server 2013 nezpracovávají e-mailové zprávy, jejichž předmět obsahuje nepodporované kódované znaky.
Řešení
Pokud chcete tento problém vyřešit, nainstalujte jednu z následujících aktualizací:
- V případě systému Exchange Server 2016 nainstalujte kumulativní aktualizaci 9 nebo novější kumulativní aktualizaci pro Exchange Server 2016.
- V případě systému Exchange Server 2013 nainstalujte kumulativní aktualizaci 20 nebo novější kumulativní aktualizaci pro Exchange Server 2013.
Kromě toho je k dispozici funkce, která umožňuje použití výchozí znakové sady v konfiguračním souboru. Pokud tuto funkci povolíte, můžou se doručovat e-mailové zprávy, které mají v řádku předmětu nepodporované zakódované znaky. Chcete-li tuto funkci povolit, postupujte takto:
Nakonfigurujte tyto dva soubory: EdgeTransport.exe.config a MSExchangeDelivery.exe.config.
Poznámka Ve výchozím nastavení jsou tyto dva soubory umístěny v následující složce: C:\Program Files\Microsoft\Exchange Server\V14\Bin, otevřete soubory v Poznámkovém bloku.
V každém souboru přidejte pod konfigurační element následující konfigurační elementy:
Poznámka Jediný rozdíl v tomto prvku je "Verze". Například pro kumulativní aktualizaci 20 pro Exchange Server 2013 použijte "Version=15.0.1366.0", pro kumulativní aktualizaci 9 pro Exchange Server 2016 "Version=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>Poznámky:
a) Oddíl configSections musí být prvním prvkem elementu konfigurace, který je vynucován rozhraním .NET. Pokud není, přestane služba Transportation po spuštění reagovat.
b) Verze, jazyková verze a veřejný token sestavení Microsoft.Exchange.Data.Common musí být správné. Můžete je najít z globální mezipaměti sestavení (GAC).
c) Element FallbackToDefaultCharset se používá k zapnutí nebo vypnutí této funkce. Tuto funkci můžete zapnout nebo vypnout nastavením atributu Fallback na hodnotu true nebo false.
d) Element DefaultCUlture určuje záložní jazykovou verzi, pokud znaková sada v e-mailové zprávě není podporována. Atribut Culture je nutné nastavit na platný název jazykové verze. Pokud ne, Exchange použije jazykovou verzi aktuálního vlákna jako záložní jazykovou verzi. V ukázkové konfiguraci je záložní jazyková verze nastavená na en.
Uložte EdgeTransport.exe.config a MSExchangeDelivery.exe.config soubory.
Restartujte službu přenosu, aby se projevila.
Poznámka Konfigurační soubor je nutné pečlivě upravit. Pro diagnostiku neexistují žádná trasování ani protokoly událostí. Pokud je v konfiguračním souboru překlep, nebude funkce fungovat podle očekávání. Navíc nezapomeňte, že u zprávy s nepodporovanou znakovou sadou nezaručujeme nic u zprávy při jejím přijetí ani za věrnost žádných zpráv způsobených touto zprávou při jejím přijetí.
Tady je také související odkaz, na který můžete odkazovat: E-mailová zpráva, která obsahuje v řádku předmětu nepodporované kódované znaky, se nedoručuje v prostředí systému Exchange Server 2010.
Další informace
K problému může dojít, když použijete tuto aktualizaci spolu s aktualizací EdgeTransport.exe.config souboru. Při aktualizaci EdgeTransport.exe.config souboru pomocí Set-AppConfigValue během instalace novější kumulativní aktualizace pro Exchange Server 2016 nebo Exchange Server 2013 se může zobrazit následující chybová zpráva:
Microsoft.Exchange.Data.Common.LocalizedException: Set-AppConfigValue: Oddíl uzlu byl nalezen v souboru F:\Program Files\Microsoft\Exchange Server\V15\bin\EdgeTransport.exe.config, ale není jedinečný.
Pokud chcete tento problém vyřešit, měli byste před spuštěním novější kumulativní aktualizace pro Exchange Server 2016 nebo Exchange Server 2013 provést následující kroky a odebrat oddíl CTS, jak je uvedeno výše, ze souboru EdgeTransport.exe.config:
- Zastavte všechny služby Exchange.
- Zkopírujte a uložte soubor EdgeTransport.exe.config.
- Ze souboru EdgeTransport.exe.config odeberte následující oddíl CTS (jak je uvedeno výše).
<CTS>
<Globalizace><FallbackToDefaultCharset Fallback="true"/>
<DefaultCulture Culture="en"/>
</Globalizace>
</CTS>
- Aktualizovaný soubor EdgeTransport.exe.config uložte.
- Spusťte novější kumulativní aktualizaci s nastavením Exchange Server 2016 nebo Exchange Server 2013.
- Po dokončení instalace aktualizujte soubor EdgeTransport.exe.config podle pokynů v tomto článku.
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Reference
Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.