"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 символов не могут быть доставлены в почтовые ящики назначения журнала 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 используйте "Version=15.0.1366.0", а для Exchange Server 2016 с накопительным пакетом обновления 9 — "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>
      

      Примечания.
      а) Раздел configSections должен быть первым элементом элемента конфигурации, применяемого .NET. В противном случае транспортная служба перестает отвечать на запросы при запуске.
      б) Версия, язык и язык и общедоступный токен сборки Microsoft.Exchange.Data.Common должны быть правильными. Их можно найти в глобальном кэше сборок (GAC).
      в) Элемент FallbackToDefaultCharset используется для включения и отключения этой функции. Эту функцию можно включить или отключить, задав для атрибута Fallback значение true или false.
      г) Элемент DefaultCUlture предназначен для указания резервного языка и региональных параметров, если символы, определенные в сообщении, не поддерживаются. Необходимо задать для атрибута Culture допустимое имя языка и региональных параметров. В противном случае Exchange будет использовать язык и региональные параметры текущего потока в качестве резервных языков и региональных параметров. В конфигурации примера для резервного языка и поддержки задано значение "en".

  2. Сохраните файлы EdgeTransport.exe.config и MSExchangeDelivery.exe.config.

  3. Перезапустите транспортную службу, чтобы она вступила в силу.

Примечание Файл конфигурации должен быть отредактирован осторожно. Для диагностики отсутствуют трассировки или журналы событий. Функция не будет работать должным образом, если в файле конфигурации допущена опечатка. Кроме того, обратите внимание, что для сообщения с неподдерживаемой кодировкой мы не гарантируем ничего с сообщением при его получении, и мы не гарантируем точность любых сообщений, вызванных этим сообщением после его получения.

Кроме того, ниже приведена соответствующая ссылка для справки: Сообщение электронной почты, содержащее неподдерживаемые закодированные символы в строке темы, не доставляется в среде Exchange Server 2010.

Дополнительные сведения

После применения этого обновления и обновления файла EdgeTransport.exe.config может возникнуть проблема. Если файл EdgeTransport.exe.config обновляется с помощью Set-AppConfigValue во время установки более позднего накопительного пакета обновления для Exchange Server 2016 или Exchange Server 2013, может появиться следующее сообщение об ошибке:

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.
  • Удалите следующий раздел CTS (как указано выше) из файла EdgeTransport.exe.config.
    <CTS>
    <Глобализация><FallbackToDefaultCharset Fallback="true"/>
    <DefaultCulture Culture="en"/>
    </Глобализация>
    </СТС>
  • Сохраните обновленный файл EdgeTransport.exe.config.
  • Запустите более позднюю установку накопительного пакета обновления Exchange Server 2016 или Exchange Server 2013.
  • После завершения настройки обновите файл EdgeTransport.exe.config, указанные в этой статье.

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».

Ссылки

Узнайте о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.