Форматы файлов электронной почты

Contents
[ ]

EML

EML — один из самых широко известных и используемых форматов файлов электронной почты, в первую очередь разработанный в соответствии со стандартом MIME (Multipurpose Internet Mail Extensions). Этот формат поддерживается множеством почтовых клиентов и систем благодаря открытому и обобщённому подходу к хранению и передаче писем.

Ключевые особенности:

  • Каждый файл EML инкапсулирует одно электронное сообщение вместе с сопутствующими метаданными, такими как отправитель, получатели, тема и временные метки.
  • Файлы EML поддерживают богатое форматирование, вложения и встроенные элементы, соблюдая стандарт MIME, который позволяет гибко представлять содержимое письма.
  • В отличие от проприетарных форматов, таких как MSG (Microsoft Outlook Message), тесно привязанных к конкретному программному обеспечению (Outlook и MAPI), файлы EML предлагают более универсальный подход, совместимый с различными почтовыми программами на разных платформах. Файлы EML совместимы со множеством клиентов, включая, но не ограничиваясь, Microsoft Outlook, Mozilla Thunderbird, Apple Mail и многие веб‑почтовые сервисы.

Формат EML тесно связан со стандартом MIME, который описывает формат тел интернет‑сообщений. MIME расширяет базовый формат письма, поддерживая текст в кодировках, отличных от ASCII, а также вложения мультимедийного контента.

MIME‑структура:

  • Файл EML начинается с раздела заголовков, содержащих такие сведения, как From, To, Subject, Date и другие. Дополнительные заголовки могут включать Content-Type, Content-Transfer-Encoding и др.
  • После заголовков выводится тело файла EML. Этот раздел может содержать простой текст, HTML или multipart‑контент, позволяющий комбинировать разные типы содержимого в одном сообщении.
  • Файл EML может включать вложения, закодированные в base64, позволяя передавать бинарные данные по электронной почте. Такие вложения определяются в собственных MIME‑частях с соответствующими заголовками, указывающими тип файла и кодировку.

MIME‑типы:

Содержание файла EML разбивается на различные MIME‑типы, чтобы различать текст, HTML и другие типы медиа. Общие MIME‑типы, встречающиеся в файле EML, включают:

  • text/plain для сообщений в виде простого текста.
  • text/html для сообщений с HTML‑форматированием.
  • multipart/mixed для писем, содержащих как содержание сообщения, так и вложения.
  • application/octet-stream для бинарных вложений файлов.

пример MIME‑структуры multipart/mixed

MSG

Microsoft Outlook Message (MSG) — проприетарный формат электронных писем, используемый Microsoft Outlook для хранения отдельных сообщений. Эти файлы содержат содержание письма и метаданные, такие как отправитель, получатели, тема и временные метки. Они поддерживают богатое форматирование, вложения и специфические функции Outlook, такие как флаги, уровень важности и конфиденциальность.

Ключевые особенности:

  • Файл MSG представляет отдельное электронное сообщение.
  • Файлы MSG связаны с Microsoft Outlook и могут быть открыты им.
  • Файлы MSG часто используют для архивирования, резервного копирования и обмена элементами Outlook между различными экземплярами Outlook или другими совместимыми клиентами.

MSG тесно связан с Microsoft Outlook и Messaging Application Programming Interface (MAPI). MAPI — программный интерфейс, позволяющий приложениям взаимодействовать с сервисами обмена сообщениями, в первую очередь с Microsoft Exchange Server и Microsoft Outlook. Он предоставляет набор функций и протоколов для отправки, получения и управления электронными письмами, а также доступа к другим функциям, таким как календари, контакты и задачи. MAPI используется Microsoft Outlook для создания, изменения и управления письмами. Когда пользователь пишет или получает письмо в Outlook, MAPI обрабатывает связь с почтовым сервером и предоставляет необходимые функции для управления содержимым сообщения.

Техническая основа формата MSG:

Файлы MSG сохраняют данные сообщения, используя свойства MAPI, которые определяют различные аспекты письма. Эти свойства включают стандартные атрибуты, такие как отправитель, получатель, тема и метки времени, а также пользовательские свойства и расширенные атрибуты.

Свойства MAPI

Свойства организуют сообщение в иерархическую структуру: свойства верхнего уровня определяют общие атрибуты сообщения, а вложенные свойства представляют конкретные компоненты, такие как получатели, вложения и встроенные объекты. Файлы MSG могут содержать несколько потоков свойств, каждый из которых включает набор связанных свойств MAPI. Эти потоки структурированы согласно Compound File Binary Format (CFBF) и хранят как стандартные, так и пользовательские свойства.

Структура формата msg

OFT

Outlook File Template (OFT) — формат писем, используемый Microsoft Outlook для создания стандартизированных сообщений. В отличие от файлов MSG, файлы OFT не содержат реального текста сообщения, а служат шаблонами с предопределённым форматированием, макетом и заполняемыми полями для динамического контента.

Ключевые особенности:

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

TNEF

Transport Neutral Encapsulation Format (TNEF) — проприетарный формат электронной почты, используемый Microsoft Outlook и Microsoft Exchange Server для инкапсуляции свойств письма и богатого текстового контента, которые могут не поддерживаться стандартными почтовыми протоколами. Он используется в основном клиентами Microsoft для кодирования и передачи форматирования rich‑text, встроенных объектов и других проприетарных особенностей, обеспечивая сохранность сложного контента — форматирования, вложений и событий календаря — при пересылке писем между различными клиентами Microsoft.

Ключевые особенности:

  • TNEF может инкапсулировать широкий набор свойств MAPI, специфичное для Microsoft форматирование rich‑text и специальные свойства, которые нельзя передать через стандартные MIME‑или простые текстовые письма.
  • Элементы Outlook, такие как календарь, контакты, задачи, заметки, могут быть инкапсулированы в формате TNEF.
  • Клиенты почты, не являющиеся продуктами Microsoft, могут не понимать или некорректно обрабатывать TNEF‑вложения, часто вызывая раздражающий winmail.dat файл. Это обычно происходит потому, что они не могут декодировать проприетарное форматирование, закодированное в TNEF.

Техническая основа формата TNEF:

  • TNEF инкапсулирует содержание письма в специальное бинарное вложение. Обычно такое вложение содержит .dat расширение файла, обычно называемое winmail.dat.
  • Данные TNEF часто ассоциируются с MIME‑типом application/ms-tnef.
  • Формат TNEF представляет иерархию свойств сообщения в виде плоской структуры, которую можно рассматривать как последовательный поток данных. Обычный формат конкретного свойства в потоке включает идентификатор с информацией о типе данных, размер (если тип не задаёт его) и данные.

Структура свойства сообщения в TNEF