常见电子邮件存储格式

MBOX

MBOX(Mailbox 的缩写) 是一种广泛使用的电子邮件存储格式,已流行数十年。它用于将多个电子邮件消息存储在单个文件中,每条消息通过分隔行连接。

MBOX 最早在 1970 年代开发,此后出现了多个版本和实现。它已在众多邮件客户端中实现,如 Unix mail、Mozilla Thunderbird、Eudora 等。

关键特性:

  • MBOX 在包括 Unix、Linux、macOS 在内的多平台上得到支持。
  • 如 Mozilla Thunderbird、Apple Mail 等客户端都可以读写 MBOX 文件。
  • 该格式的纯文本特性使其易于使用文本处理工具进行解析和处理。
  • 由于结构简单,MBOX 被广泛用于归档和备份。
  • 由于所有邮件都存储在单个文件中,文件随时间可能会变得非常大,导致效率低下。

MBOX 的变体:

MBOX 有多种变体,它们在处理消息方式上有细微差别:

  • MBOXO: 原始格式,电子邮件正文中的 "From " 行使用 > 字符进行引用。
  • MBOXRD: MBOXO 的一种变体,进一步扩展了对 "From " 行的引用方式。
  • MBOXCL: 由 "Classic" MBOX 变体引入,每个 "From " 行使用 ffrom 字符串进行引用。
  • MBOXCL2: MBOXCL 的一种变体,其中 "From " 行加倍以示区别。

MBOX 格式的技术基础

文件结构:

  • MBOX 文件是一个纯文本文件,包含一系列 EML 消息。
  • 每条消息以 "From " 行(单词 "From" 后有空格)开始,通常包含发件人的电子邮件地址和收到该邮件的时间戳。
  • 每条消息后面跟随一个空行,以将其与下一条消息分隔。

MBOX 存储结构

示例:

From user@example.com Fri Jan 01 00:00:00 2021
[Headers]
[Body]
From user2@example.com Fri Jan 01 00:01:00 2021
[Headers]
[Body]

PST/OST

Personal Storage Table (PST)Offline Storage Table (OST) 是 Microsoft Outlook 用于存储电子邮件、日历事件等项目的文件格式。

关键特性:

  • PST 文件用于存储个人信息,通常用于归档旧邮件和数据。主要供家庭用户和小型组织用于本地存储电子邮件、联系人和日历事件。
  • OST 文件用于离线存储并与 Exchange 服务器同步电子邮件及其他数据。主要供访问 Microsoft Exchange Server 或 Office 365 的用户使用。
  • 存储在用户的本地计算机上。即使未连接到邮件服务器,也可以访问。
  • PST 文件可以轻松备份并转移到其他计算机。用户可以在不同系统或 Outlook 版本之间转移 PST 文件。
  • OST 文件并非用于手动备份或转移,因为它们是服务器数据的同步副本。OST 文件绑定到特定的配置文件,无法轻松迁移到其他系统。

OLM

Outlook for Mac Archive File (OLM) 是 Microsoft Outlook for Mac 使用的文件格式,用于存储电子邮件、日历事件、联系人、任务及其他项目。

关键特性:

  • OLM 文件主要用于在 Mac 系统上归档和备份电子邮件以及其他 Outlook 项目。
  • OLM 文件存储在用户的 Mac 本地。
  • OLM 文件可通过 Microsoft Outlook for Mac 打开和访问。它们无法直接在 Windows 版 Outlook 中使用,除非进行转换。
  • Microsoft 并未对 OLM 文件设定固定大小限制,但如果文件过大可能会出现性能问题。用户通常通过创建多个较小的归档而不是单个大型 OLM 文件来管理大小。
  • 备份:由于 OLM 文件存储在本地,可对其进行备份或复制到外部存储设备。

TGZ

TGZ(Zimbra 用于邮箱备份的文件)是一种用于归档和压缩数据的文件格式,常见于 Unix 和 Linux 系统。"TGZ" 代表两种工具的组合:"tar"(Tape Archive)和 "gzip"。.tar 文件格式将多个文件和目录打包成单个归档文件,保留目录结构、文件权限和时间戳等文件系统信息。.gz 文件格式对数据进行压缩,使 tar 归档更小、更易于管理或传输。TGZ 的压缩特性使其适合在互联网上传输电子邮件归档或在系统之间移动。

NSF

Notes Storage Facility (NSF) 是一种专有文件格式,主要由 IBM Lotus Notes(现为 HCL Notes)使用,用于存储各种数据,包括电子邮件、日历事件、任务和其他应用数据。NSF 文件使用 NoSQL 文档型数据库模型。每个数据库作为单个扩展名为 .nsf 的文件存储。该扩展名代表 IBM Notes 和 Domino Server 使用的数据库格式。每封电子邮件、日历条目或任务都存储为一个文档,文档可以包含文本、附件、链接、富文本格式,甚至元数据等多种数据类型。