Consider the following scenario:
- You send an email message by using a Microsoft Exchange Server 2016 mailbox or Exchange Server 2013 mailbox.
The subject line of the email message contains unsupported encoded characters, starting from CP or MS and following by "-" instead of a number, such as cp-850.
In this scenario, the email isn't delivered. Additionally, you may receive a non-delivery report (NDR) message that resembles the following:
Remote Server returned '550 5.6.0 CAT.InvalidContent.Exception: InvalidCharsetException, Character set name (cp-850) is invalid or not installed.; cannot handle content of message with InternalId InternalId, InternetMessageId.'
Therefore, the journal report emails of the NDR for cp-850 characters mail can't be delivered to Exchange journal destination mailboxes.
To fix this issue, install one of the following updates:
Additionally, a feature is available to enable fallback to use the default character set in the configuration file. If you enable this feature, email messages that have unsupported encoded characters in the subject line can be delivered. To enable this feature, follow these steps:
- Configure these two files: EdgeTransport.exe.config and MSExchangeDelivery.exe.config.
- Note By default, these two files are located in the following folder: C:\Program Files\Microsoft\Exchange Server\V14\Bin, open files in Notepad.
- In each file, add the following configuration elements under the configuration element:
Note The only difference in the element is "Version." For example, use "Version=15.0.1366.0" for Exchange Server 2013 Cumulative Update 20, "Version=15.1.1462.0" for Exchange Server 2016 Cumulative Update 9.
<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) The configSections section must be the first element of the configuration element that's enforced by .Net. If not, the Transport service stops responding when it starts.
b) The version, culture, and public token of the Microsoft.Exchange.Data.Common assembly must be correct. You can find them from the Global Assembly Cache (GAC).
c) The FallbackToDefaultCharset element is used to turn on or turn off this feature. You can turn on or turn off this feature by setting the Fallback attribute to true or false.
d) The DefaultCUlture element is to specify a fallback culture if the character set on the email message isn't supported. You must set the Culture attribute to a valid culture name. If not, Exchange will use the culture of the current thread as the fallback culture. In the sample configuration, the fallback culture is set to "en."
- Save the EdgeTransport.exe.config and MSExchangeDelivery.exe.config files.
Restart the Transport service to take effect.
Note The configuration file must be edited carefully. There are no traces or event logs for diagnostics. The feature won't work as expected if there's a typo in the configuration file. In addition, notice that for a message that has unsupported charset, we won't guarantee anything with the message when it's received and we won't guarantee the fidelity of any messages that's caused by this message when it's received.
Moreover, here is a related link for you to reference: An email message that contains unsupported encoded characters in the subject line isn't delivered in an Exchange Server 2010 environment.
An issue may occur after you apply this update together with updating the EdgeTransport.exe.config file. When the EdgeTransport.exe.config file is being updated with Set-AppConfigValue during the installation of a later cumulative update for Exchange Server 2016 or Exchange Server 2013, you may receive the following error message:
Microsoft.Exchange.Data.Common.LocalizedException: Set-AppConfigValue: The node section was found in file F:\Program Files\Microsoft\Exchange Server\V15\bin\EdgeTransport.exe.config, but it isn't unique.
To fix the issue, before you run a later cumulative update for Exchange Server 2016 or Exchange Server 2013, you should take the following steps to remove the CTS section as listed above from the EdgeTransport.exe.config file:
- Stop all the Exchange services.
- Copy and save the EdgeTransport.exe.config file.
- Remove the following CTS section (as listed above) from the EdgeTransport.exe.config file.
<Globalization> <FallbackToDefaultCharset Fallback="true"/>
- Save the updated EdgeTransport.exe.config file.
- Run a later cumulative update's setup of Exchange Server 2016 or Exchange Server 2013.
- As soon as the setup is completed, follow this article to update the EdgeTransport.exe.config file.