Outlook не может отображать текст электронной почты в формате TNEF, экспортированный из транспортного агента Exchange

Я экспортирую электронные письма транспортным агентом Exchange 2016 и сохраняю их на диск. Outlook успешно открывает все электронные письма, разрешает заголовки, но ts не может отображать текст сообщений, отправленных из клиента Outlook. Тип:

Content-Type: application/ms-tnef; name="winmail.dat"

Другие типы (MIME и т. д.) допустимы. Экспортированные сообщения содержат текст. Я могу преобразовать его в .msg, и после этой операции все работает. Почему это происходит?

Метод экспорта электронной почты:

  using (var stream = new MemoryStream())
  {
    email.MimeDocument.WriteTo(stream);
    storageManager.SaveStreamToFile(stream, path);
    size = stream.Length;
  } 

Я уже пытался использовать различные события транспортного конвейера (https://technet.microsoft.com/en-us/library/bb125012(v=exchg.150).aspx). Этот вопрос задавали на разных форумах, но реального ответа нет. Я приведу пример электронной почты, если хотите.


person Miroslav Adamec    schedule 25.04.2017    source источник


Ответы (1)


TNEF (Transport Neutral Encapsulation Format) — это проприетарный формат вложения электронной почты, используемый Microsoft [дополнительная техническая информация здесь]. Если вы не сделаете это правильно, вы окажетесь в файле winmail.dat в виде вложения [объяснено здесь].

Чтобы получить содержимое из winmail.dat, теперь у вас есть несколько вариантов:

  1. Попробуйте разобрать его, как описано здесь.
  2. Используйте Yerase's TNEF Stream Reader [может быть, лучший вариант]
  3. Используйте OpaqueMail [может не работать с вашим транспортным агентом]
  4. Попробуйте использовать Класс TnefReader
  5. Перестройте свое решение и используйте Exchange EWS (= веб-службы Exchange)
person BastianW    schedule 25.04.2017
comment
Это не ответ на мой вопрос. Я знаю, как читать TNEF, но не хочу использовать EWS. Я просто не могу понять, почему Outlook по умолчанию не может читать экспортированную электронную почту. - person Miroslav Adamec; 26.04.2017