Sintomas
Considere o seguinte cenário:
-
Enviar uma mensagem de email usando uma caixa de correio do Microsoft Exchange Server 2016 ou Exchange Server 2013.
-
A linha de assunto da mensagem de e-mail contém caracteres codificados sem suporte, iniciando de CP ou MS e depois por "-" em vez de um número, como cp-850.
Nesse cenário, o email não é entregue. Além disso, você pode receber uma mensagem de relatório de não-entrega (NDR) semelhante à seguinte:
O servidor remoto retornou ' 550 5.6.0 CAT. InvalidContent.Exception: InvalidCharsetException, conjunto de caracteres nome (850 cp) é inválida ou não instalada.; não é possível manipular o conteúdo da mensagem com InternalId InternalId, InternetMessageId.'
Portanto, os e-mails de relatório diário do NDR emails cp 850 caracteres não podem ser entregue a caixas de correio do Exchange diário destino.
Motivo
Esse problema ocorre porque 2016 do Exchange Server e o Exchange Server 2013 não processam uma mensagem de e-mail se a linha de assunto contiver caracteres codificados sem suporte.
Resolução
Para corrigir esse problema, instale uma das seguintes atualizações:
-
Para Exchange Server 2016, instale a atualização cumulativa 9 ou uma atualização cumulativa para o Exchange Server 2016posterior.
-
Para Exchange Server 2013, instale 20 atualização cumulativa ou uma atualização cumulativa para o Exchange Server 2013posterior.
Além disso, um recurso está disponível para habilitar o fallback para usar o caractere padrão definido no arquivo de configuração. Se você ativar este recurso, as mensagens de email que não oferece suporte a caracteres codificados na linha de assunto podem ser entregue. Para habilitar esse recurso, execute essas etapas:
-
Configurar esses dois arquivos: EdgeTransport.exe.config e MSExchangeDelivery.exe.config.
-
Observação: Por padrão, esses dois arquivos estão localizados na seguinte pasta: C:\Program programas\Microsoft\Exchange Server\V14\Bin, arquivos abertos no bloco de notas.
-
Em cada arquivo, adicione os seguintes elementos de configuração no elemento de configuração:
Observação: A única diferença no elemento é "Version". Por exemplo, use "versão = 15.0.1366.0" para o Exchange Server 2013 cumulativa atualização 20 "versão = 15.1.1462.0" para o Exchange Server 2016 a atualização cumulativa 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>
Observações:
a) a seção configSections deve ser o primeiro elemento do elemento de configuração é imposto pelo .net. Caso contrário, o serviço de transporte para de responder ao ser iniciado.
b) a versão, cultura e símbolo de pública do assembly Microsoft.Exchange.Data.Common deverão estar corretas. Você pode encontrá-los no Global Assembly Cache (GAC).
c) o elemento FallbackToDefaultCharset é usado para ativar ou desativar esse recurso. Você pode ativar ou desativar esse recurso, definindo o atributo de Fallback para true ou false.
d) o elemento DefaultCUlture é especificar uma cultura de fallback se não houver suporte para o conjunto de caracteres na mensagem de email. Você deve definir o atributo de cultura para um nome de cultura válido. Caso contrário, o Exchange usará a cultura do thread atual como cultura de reserva. A configuração de exemplo, a cultura de fallback é definida como "en".
-
-
Salve os arquivos EdgeTransport.exe.config e MSExchangeDelivery.exe.config.
-
Reinicie o serviço de transporte entrem em vigor.
Observação: O arquivo de configuração deve ser editado com cuidado. Não existem logs de eventos de diagnóstico ou traços. O recurso não funcionará conforme o esperado se houver um erro de digitação no arquivo de configuração. Além disso, observe que para uma mensagem que tem não há suporte para o conjunto de caracteres, não garantimos nada com a mensagem quando ela é recebida e não garantimos a fidelidade de todas as mensagens que é causada por essa mensagem quando é recebido.
Além disso, este é um link relacionado para você fazer referência: uma mensagem de email que contém caracteres codificados sem suporte na linha de assunto não é entregue em um ambiente do Exchange Server 2010.
Mais informações
Um problema pode ocorrer depois de aplicar essa atualização em conjunto com a atualização do arquivo EdgeTransport.exe.config. Wuando o arquivo EdgeTransport.exe.config foi atualizado com o conjunto AppConfigValue durante a instalação de uma atualização cumulativa mais recente para 2016 do Exchange Server ou o Exchange Server 2013, você receberá a seguinte mensagem de erro:
Microsoft.Exchange.Data.Common.LocalizedException: Conjunto-AppConfigValue: A seção de nó foi encontrada no arquivo F:\Program programas\Microsoft\Exchange Server\V15\bin\EdgeTransport.exe.config, mas não é exclusivo.
Para corrigir o problema, antes de executar uma atualização cumulativa mais recente para 2016 do Exchange Server ou o Exchange Server 2013, você deve tomar as seguintes etapas para remover a seção CTS, conforme listado acima do arquivo EdgeTransport.exe.config:
-
Pare todos os serviços do Exchange.
-
Copiar e salvar o arquivo EdgeTransport.exe.config.
-
Remova a seguinte seção CTS (conforme listado acima) do arquivo EdgeTransport.exe.config.<CTS> <Globalization> <FallbackToDefaultCharset Fallback="true"/> <DefaultCulture Culture="en"/> </Globalization> </CTS>
-
Salve o arquivo EdgeTransport.exe.config atualizado.
-
Execute a instalação de uma atualização cumulativa mais recente de 2016 do Exchange Server ou o Exchange Server 2013.
-
Assim que a instalação for concluída, siga este artigo para atualizar o arquivo EdgeTransport.exe.config.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Referências
Saiba mais sobre a terminologia de que a Microsoft usa para descrever as atualizações de software.