EML/MIME 导入检查器

粘贴原始 .eml(RFC 822 / MIME)邮件内容或选择 .eml 文件,查看哪些结构可能在 Outlook、Gmail 导入、Apple Mail、Thunderbird 和通用 IMAP 工具间表现不同或失败。

在您的浏览器中本地处理。文件绝不会被上传。

使用方法 工具

  1. 粘贴原始 .eml 内容或选择 .eml 文件;分析在浏览器中运行,内容不会发送。
  2. 选择“检查导入兼容性”。
  3. 查看每个标记结构为何降低可移植性,以及哪些客户端/导入器可能有差异。
  4. 仅在提供时使用改写:将换行规范为 CRLF 和按 RFC 2047 编码标题都是安全的机械操作。其余问题会解释而不猜测安全修复。

假设条件

来源与参考数据

方法说明

将原始文本解析为标题(展开 RFC 822 折行)和 MIME 部件树(使用每个部件自己的 Content-Type boundary 参数定位分隔行),然后依据 RFC 5322/2045-2049/2047 要求及邮件客户端/导入器容错差异进行检查。只有机械上安全且无歧义时才改写:换行规范为 CRLF,以及将原始非 ASCII 标题值编码为 RFC 2047(两者均为无损、确定性转换)。其他问题均说明而不猜测,因为错误地自动修复真实邮件文件比不修复更糟。

计算示例

multipart Content-Type 缺少 boundary 参数

输入项: Content-Type: multipart/mixed(缺少 boundary="...")

结果: 严格 MIME 解析器需要 boundary 才能定位各部件。标记为错误,因为结构无法解析;不会编造正确的 boundary 值。

整个文件使用仅 LF 的换行

输入项: 标题与正文之间使用“\n”而不是“\r\n”

结果: RFC 5322 要求 CRLF 换行。部分严格解析器会误解析或拒绝仅 LF 文本,尽管多数现代客户端会规范化。标记为信息,并可安全将所有换行规范为 CRLF。

Subject 标题包含未编码的非 ASCII 文本

输入项: Subject: 咖啡馆会议记录

结果: 传统 RFC 822/5322 邮件的标头使用 7-bit ASCII。RFC 6532 允许在接收链路支持 SMTPUTF8 时直接使用 UTF-8 标头。对于旧式系统,RFC 2047 编码词仍是兼容性更广的选择。此情况会标记为兼容性警告,并提供确定且可逆的 RFC 2047 编码改写。

实用指南
常见错误

常见问题

为什么缺少 boundary 是错误,而缺少 MIME-Version 只是警告?

缺少 boundary 会使严格解析器无法定位邮件部件,直接导致失败。缺少 MIME-Version 违反 RFC 2045,但许多宽松客户端能从其他标题推断 MIME 处理方式,因此实际影响较窄。

为什么工具会改写非 ASCII 标题,却不修复缺失 boundary?

用 RFC 2047 编码标题值是对现有数据进行确定且无损的转换,不涉及猜测。编造 boundary 或决定保留哪一个重复标题需要推断工具不知道的意图。

工具会解码或显示附件内容吗?

不会。它只检查标题和结构标记(boundary、编码声明、行长度)以解释可移植性问题。除了说明特定问题所需的短片段(例如格式错误 base64 的首个无效字符),不会解码或显示附件内容。

为什么 Outlook 无法打开或导入此 EML 文件?

本检查器寻找特定邮件结构问题,例如缺失或格式错误的 MIME multipart boundary、传输编码不匹配等。它不测试 Outlook 本身,也不诊断所有导入问题;通过这些检查仍可能因范围外原因失败。

上次审核: 2026-09-25

这是专用的窄范围 RFC 822/MIME 解析器,不是完整邮件解析库:只识别上述八类结构,不分析 UTF-8 以外字符集边界、S/MIME 签名、日历/iCal 部件或深层嵌套 multipart/related 结构等问题。行长度通过 UTF-8 字节数近似 octet 长度,对绝大多数真实邮件精确。

此工具 根据上述假设提供参考估算值。

主题和工具偏好设置,以及已保存和最近使用的列表仅存储在此浏览器中。