Тела RTF-сообщения в EML-файлах - PullRequest
1 голос
/ 14 июля 2011

Мы используем библиотеку LumiSoft.NET MIME для создания файлов EML.Эти EML-файлы создаются на основе значений базы данных.Тело письма может быть простым текстом, RTF или HTML.Мы знаем, когда тело является HTML, поэтому, когда это происходит, тип содержимого нашего EML-файла задается следующей строкой:

Content-Type: text/html; charset="utf-8"

Когда тело представляет собой простой текст или RTF (потому что мы не знаем, какойэто так), мы устанавливаем тип контента в RTF следующим образом:

Content-Type: text/rtf; charset="utf-8".

Файлы HTML EML отлично отображаются в разных продуктах ... но файлы RTF EML, по-видимому, по-разному интерпретируются разными продуктами,Это работало годами, и наши получившиеся EML-файлы были проверены на соответствие Outlook Express и выглядели нормально.Но недавно у нас было несколько сообщений о проблемах с этими электронными письмами, отображаемыми в виде вложений.В Outlook 2007 с пакетом обновления 2 (SP2) и Outlook 2010 тела электронной почты действительно отображаются в виде файлов TXT, прикрепленных к электронной почте ... и тела внутри самой электронной почты пусты.Кроме того, мы используем продукт с именем dtSearch, и когда он преобразует эти EML-файлы в HTML, он выполняет аналогичный перевод, в котором тело EML-файла отображается в содержимом вложения с именем Attachment0.DAT.Кроме того, мы также обрабатываем эти EML-файлы через погашение Outlook, и, как и в Outlook 2010, тела сообщений находятся во вложенном файле TXT.Странное поведение по всем направлениям ... вот несколько скриншотов в действии.

Outlook Express:

enter image description here

Outlook 2010:

enter image description here

Вот фактический файл EML.

Мы делаем что-то не так, используя RTF для типа контента?Кажется, он работал в прошлом и работает с Outlook Express.Было рекомендовано переключиться на формат MSG, используя Redemption вместо формата EML, чтобы облегчить это, но я считаю, что это ставит обязательное требование на пользовательском компьютере Outlook или библиотеки MAPI .... но если формат EML не анализируетсято же самое для разных продуктов, тогда, возможно, формат MSG - это то, что нужно.

1 Ответ

2 голосов
/ 27 июля 2011

Содержимое письма не похоже на действительный rtf (без магического числа "{\ rtf").

Это простой текст с цитируемой печатаемой кодировкой для передачи.

Вы должны использовать content-type: text / plain.

...