电子邮件文件格式
EML
EML 是最广为认知和使用的电子邮件文件格式之一,主要设计为遵循 MIME(多用途互联网邮件扩展) 标准。该格式因其开放且通用的邮件存储与传输方式,在各种邮件客户端和系统中得到广泛支持。
关键特性:
- 每个 EM L 文件封装了单个电子邮件消息及其相关元数据,如发件人、收件人、主题和时间戳。
- EML 文件遵循 MIME 标准,支持丰富的格式、附件和嵌入元素,实现对电子邮件内容的多样化呈现。
- 不同于像 MSG(Microsoft Outlook Message)那样与特定软件(Outlook 和 MAPI)紧密关联的专有格式,EML 文件提供了更通用的方式,兼容跨平台的各种电子邮件程序。EML 文件可在包括 Microsoft Outlook、Mozilla Thunderbird、Apple Mail 以及众多基于 Web 的邮件服务等大量邮件客户端中使用。
EML 文件格式本质上与 MIME 标准相连,MIME 是互联网消息体格式的规范。MIME 将基本的电子邮件格式扩展至支持非 ASCII 字符集的文本以及多媒体附件。
MIME 结构:
- EML 文件以头部部分开始,包含如 From、To、Subject、Date 等信息。其他可能的头部包括 Content-Type、Content-Transfer-Encoding 等。
- 在头部之后,呈现 EML 文件的正文。此部分可以包含纯文本、HTML 或 multipart 内容,允许在单个消息中组合不同类型的内容。
- EML 文件可能包含以 base64 编码的附件,从而允许通过电子邮件传输二进制数据。这些附件在各自的 MIME 部分中定义,包含指示文件类型和编码方式的相应头部。
MIME 类型:
EML 文件的内容被划分为不同的 MIME 类型,以区分文本、HTML 和其他媒体类型。EML 文件中常见的 MIME 类型包括:
text/plain用于纯文本消息。text/html用于 HTML 格式的消息。multipart/mixed用于包含消息内容和附件的电子邮件。application/octet-stream用于二进制文件附件。

MSG
Microsoft Outlook 消息(MSG) 是 Microsoft Outlook 使用的专有电子邮件格式,用于存储单个邮件。此类文件包含邮件内容及元数据,如发件人、收件人、主题和时间戳。它们支持丰富的格式、附件以及 Outlook 特有的功能,如标记、重要性和敏感度。
关键特性:
- MSG 文件代表单个电子邮件消息。
- MSG 文件与 Microsoft Outlook 关联,可由其打开。
- MSG 文件常用于归档、备份以及在不同 Outlook 实例或其他兼容邮件客户端之间交换 Outlook 项目。
MSG 与 Microsoft Outlook 以及 消息应用程序编程接口(MAPI) 紧密相关。MAPI 是一种编程接口,允许应用程序与消息服务交互,主要是 Microsoft Exchange Server 和 Microsoft Outlook。它提供了一套用于发送、接收和管理电子邮件以及访问日历、联系人、任务等功能的函数和协议。Outlook 使用 MAPI 创建、操作和管理电子邮件。当用户在 Outlook 中撰写或接收邮件时,MAPI 负责底层与邮件服务器的通信,并提供管理消息内容所需的功能。
MSG 格式的技术基础:
MSG 文件使用 MAPI 属性 存储消息数据,这些属性定义了消息的各个方面。属性包括发件人、收件人、主题、时间戳等标准属性,以及自定义属性和扩展属性。

属性将消息组织成层次结构,顶层属性定义整体消息属性,嵌套属性表示特定组件如收件人、附件和嵌入对象。MSG 文件可能包含多个属性流,每个流包含一组相关的 MAPI 属性。这些流按照 复合文件二进制格式(CFBF) 结构化,存储标准和自定义属性。

OFT
Outlook 文件模板(OFT) 是 Microsoft Outlook 用于创建标准化邮件的格式。与 MSG 文件不同,OFT 文件不包含实际的邮件内容,而是作为预定义格式、布局和动态内容占位符的模板。
关键特性:
- OFT 文件通过提供针对常见场景(如新闻简报、公告或回复)的预设模板,简化了重复邮件的创建过程。
- 通过使用 OFT 模板,组织可以确保所有外发通信在品牌、格式和信息传递上的一致性。
- 用户可以在发送前通过添加或修改内容来自定义 OFT 模板,实现个性化消息的同时保持统一格式。
TNEF
传输中立封装格式(TNEF) 是 Microsoft Outlook 和 Microsoft Exchange Server 使用的专有电子邮件格式,用于封装可能不被标准邮件协议支持的邮件属性和富文本内容。它主要由 Microsoft 邮件客户端使用,以编码和传输富文本格式、嵌入对象以及其他专有邮件功能,确保在不同 Microsoft 邮件客户端之间发送时,复杂的邮件内容(如格式、嵌入文件和日历事件)能够保持完整。
关键特性:
- TNEF 能封装大量 MAPI 属性、Microsoft 特有的富文本格式以及标准 MIME 或纯文本邮件无法传递的特殊属性。
- Outlook 项目,如日历、联系人、任务、备注,可被封装在 TNEF 格式中。
- 非 Microsoft 邮件客户端可能无法理解或正确处理 TNEF 附件,常导致恼人的
winmail.dat文件。这通常是因为它们无法解码 TNEF 中的专有格式。
TNEF 格式的技术基础:
- TNEF 将电子邮件内容封装为特殊的二进制附件。该附件通常携带一个
.dat文件扩展名,最常见为winmail.dat. - TNEF 数据通常关联的 MIME 类型是
application/ms-tnef. - TNEF 格式将消息属性的层次结构表示为平面结构,可视为顺序数据流。流中每个特定属性的典型格式包括带有数据类型信息的标识符、大小(如果类型未定义)以及数据本身。
