Apple Mail MBOX → Outlook PST 改进版

本压缩包包含两种实现:

文件适用场景保真程度额外要求
mbox_to_pst_improved.py不想安装第三方 MAPI 组件;先完成大部分邮件迁移尽力保留Python、pywin32、经典版 Outlook
mbox_to_pst_redemption.py发件人、原始日期、邮件状态和完整 MIME 结构必须尽量准确推荐,高保真上述环境,另需安装并注册 Redemption
两个脚本都只适用于 Windows 的经典版 Outlook/MAPI。仅安装“新版 Outlook”无法使用 Outlook COM。

一、主要改进

  • 恢复 Apple Mail .mbox 目录层级;
  • 解码中文主题、姓名和多种正文字符集;
  • 导入纯文本、HTML、普通附件和 CID 内嵌图片;
  • 导入 To、Cc、Bcc、Reply-To;
  • 尽量保留发件人、发送/接收时间、Message-ID、References 和原始邮件头;
  • 尽量保留已读/未读、旗标、重要性和草稿/已发送状态;
  • 创建 Unicode PST,并按 PST 实际文件路径识别正确的 Store,不再使用不可靠的 Folders.GetLast()
  • 使用 SQLite 保存断点,脚本中断后可继续,并避免重复导入;
  • 失败邮件自动另存为 .eml,同时生成日志与 CSV 清单。

二、运行前准备

  1. 备份原始 MBOX 文件。
  2. 安装并至少启动、初始化一次经典版 Outlook。
  3. 安装 Python 3.10 或更高版本。
  4. 安装依赖:
py -m pip install --upgrade pywin32

建议先用一个小 MBOX 和一个全新的测试 PST 验证,再导入全部邮件。

三、方案 A:纯 pywin32 改进版

直接运行默认路径:

py mbox_to_pst_improved.py

指定输入目录和输出 PST:

py mbox_to_pst_improved.py "E:\email2026" "D:\test1\Mac_Archive_2026.pst"

显示详细日志:

py mbox_to_pst_improved.py "E:\email2026" "D:\test1\Mac_Archive_2026.pst" --verbose

此版本无需 Redemption,但 Outlook 对象模型对发件人、原始时间等属性存在只读限制。脚本会在第一次保存前写入底层 MAPI 属性,并把原始值另存为自定义 MAPI 属性;不同 Outlook/PST 版本仍可能拒绝部分字段。因此,导入完成后应检查“发件人”“接收时间”“已发送状态”和附件。

四、方案 B:Redemption 高保真版(推荐)

安装并正确注册与 Python/Outlook 位数匹配的 Redemption 后运行:

py mbox_to_pst_redemption.py "E:\email2026" "D:\test1\Mac_Archive_2026_RDO.pst"

该版本把每封邮件的完整 RFC822/MIME 字节交给 Redemption 的 MIME→MAPI 转换器,不是把 Subject、Body、附件拆开后重新拼装,通常能更可靠地保留原始元数据和 MIME 结构。

Redemption 的评估、企业内部使用和软件分发应遵守其许可条款;本压缩包不包含其 DLL。

五、断点、重复导入与失败恢复

默认会在 PST 旁生成:

Mac_Archive_2026.pst.import_state.sqlite3

脚本按“目标 PST + 目标文件夹 + 邮件 SHA-256”记录成功项。再次运行时,成功导入过的邮件会跳过。

强制重新导入:

py mbox_to_pst_improved.py "E:\email2026" "D:\test1\Mac_Archive_2026.pst" --force

--force 可能制造重复邮件。需要真正从头开始时,更稳妥的做法是使用一个新的 PST,并删除对应的断点数据库。

失败时会生成:

Mac_Archive_2026.pst.import.log
Mac_Archive_2026.pst.failures.csv
Mac_Archive_2026_failed_eml\

失败的原始邮件会保存在 failed_eml 目录中,便于单独检查或重新导入。

六、退出码

退出码含义
0全部处理成功,或仅跳过已导入邮件
1转换完成,但存在失败邮件
2输入路径不存在或 Outlook/Redemption 初始化失败等运行错误
3输入目录中未发现 MBOX 数据卷

七、Apple Mail 常见目录形式

脚本支持这些常见形式:

E:\email2026\收件箱.mbox\mbox
E:\email2026\工作.mbox\mbox
E:\email2026\归档\2025.mbox\mbox

也支持直接把单个 MBOX 文件作为输入路径。

八、验证建议

正式交付前至少抽查以下邮件:

  1. 一封中文主题和中文发件人邮件;
  2. 一封 HTML 邮件;
  3. 一封同时含普通附件和正文内嵌图片的邮件;
  4. 一封已发送邮件和一封收件箱邮件;
  5. 一封日期较早、时区明确的邮件;
  6. 一封包含 Cc/Bcc、Reply-To 或特殊字符附件名的邮件。

高保真要求较高时,优先使用 Redemption 版,并保留原始 MBOX 作为最终备份。

下载地址:

下载【苹果邮箱转outlook脚本】

最后修改:2026 年 07 月 29 日
如果觉得我的文章对你有用,请随意赞赏