解析 .eml 文件:邮件头、Received 链、链接、附件哈希、发件人不一致。
邮件头解析器
该工具本身是英文的;本页面将用您的语言对它进行说明。
使用 邮件头解析器
功能介绍
粘贴可疑邮件的原始标头,即可查看“发件人”、“收件人”、“日期”和“主题”,接收服务器记录的 SPF、DKIM 和 DMARC 验证结果,按时间倒序排列的所有“Received”中转节点,以及包含“Reply-To”和“Return-Path”在内的所有标头列表。
它完全在您的浏览器中运行:您输入的任何内容都不会被上传。
如何使用邮件头解析器
- 复制邮件头. 打开邮件源码(Gmail 的 Show original、Outlook 的 View message source、Thunderbird 的 View source),复制从开头到第一个空行为止的邮件头行。
- 粘贴并解析. 将它们粘贴到“原始邮件头”中,然后点击“解析”。如果同时粘贴了邮件正文,解析器会在第一行空行处停止,并显示未读取的行数。
- 查看顶部字段. 首先显示 From、To 和 Date,如有 Subject 则随后显示。值按原样显示,不做解码。
- 读取身份验证结果. SPF、DKIM 和 DMARC 显示的是接收服务器在最顶层的 Authentication-Results 头中写入的结果,其中包含该服务器的名称。此处不会对这些结果进行重新验证。
- 追随啤酒花. 收到的跳点按时间从早到晚排列,与 EML Analyzer 中的显示方式一致:跳点 1 距离发件人最近,最后一个跳点是由将消息传递给您的服务器添加的。
- 扫描整个表格. “所有标头”列出了所有标头,包括 Reply-To 和 Return-Path。Send to 会将解析结果传递出去,例如传递给 EML Analyzer。
示例
伪造的银行通知
Return-Path: <bounce@mailer.example.net>
Received: from mail.example.net (mail.example.net [203.0.113.25])
by mx.example.com with ESMTPS id 4Xk2Lm; Mon, 19 Oct 2026 09:14:07 +0000
Received: from [198.51.100.10] (unknown [198.51.100.10])
by mail.example.net with ESMTPSA id 77QaZ1; Mon, 19 Oct 2026 09:14:05 +0000
Authentication-Results: mx.example.com; spf=pass smtp.mailfrom=mailer.example.net; dkim=none; dmarc=fail (p=reject) header.from=example.org
From: "Example Bank Security" <security@example.org>
Reply-To: <help-desk@example.net>
To: <alice@example.com>
Subject: Action required: verify your account
Date: Mon, 19 Oct 2026 09:14:03 +0000
Message-ID: <20261019091403.1234@mail.example.net>FROM
"Example Bank Security" <security@example.org>
TO
<alice@example.com>
DATE
Mon, 19 Oct 2026 09:14:03 +0000
SUBJECT
Action required: verify your account
Authentication-Results by mx.example.com (as written by that server, not verified here)
SPF
pass
DKIM
none
DMARC
fail
Received hops (2, oldest first)
HOP 1 · OLDEST, NEAREST THE SENDER
from [198.51.100.10] (unknown [198.51.100.10]) by mail.example.net with ESMTPSA id 77QaZ1; Mon, 19 Oct 2026 09:14:05 +0000
HOP 2 · NEWEST, ADDED BY THE RECEIVING SERVER
from mail.example.net (mail.example.net [203.0.113.25]) by mx.example.com with ESMTPS id 4Xk2Lm; Mon, 19 Oct 2026 09:14:07 +0000
All headers (10)
Return-Path <bounce@mailer.example.net>
Received from mail.example.net (mail.example.net [203.0.113.25]) by mx.example.com with ESMTPS id 4Xk2Lm; Mon, 19 Oct 2026 09:14:07 +0000
Received from [198.51.100.10] (unknown [198.51.100.10]) by mail.example.net with ESMTPSA id 77QaZ1; Mon, 19 Oct 2026 09:14:05 +0000
Authentication-Results mx.example.com; spf=pass smtp.mailfrom=mailer.example.net; dkim=none; dmarc=fail (p=reject) header.from=example.org
From "Example Bank Security" <security@example.org>
Reply-To <help-desk@example.net>
To <alice@example.com>
Subject Action required: verify your account
Date Mon, 19 Oct 2026 09:14:03 +0000
Message-ID <20261019091403.1234@mail.example.net>最上方的字段显示了“发件人”的显示名称和地址,接着是接收服务器记录的“认证结果”(spf=通过, dkim=无, dmarc=失败),以及两个“接收”跳点,按照EML Analyzer中的惯例,按时间从早到晚排序: 在第 1 个中继点,mail.example.net 接收来自 198.51.100.10 的邮件;在第 2 个中继点,mx.example.com 接收来自 mail.example.net 的邮件。 包含全部 10 个标头的表格显示“Reply-To”位于另一个域名下;结合 dmarc=fail 的结果,这表明存在两个伪造发件人的迹象。
检查内容
| 信号 | 其含义 |
|---|---|
| From | 比较显示名称与尖括号中的地址。品牌名称搭配一个无关的域名,是常见的伪造迹象。 |
| To | 如果其中没有你自己的地址,你很可能在密送(Bcc)中,或是通过邮件列表收到的。群发钓鱼邮件常使用 Bcc。 |
| Date | 由发件人的软件写入,因此可以伪造。请与各跳 Received 中的时间进行比较。 |
| Subject | 按原样显示。=?UTF-8?B?...?= 这样的值是编码文本,本解析器不会解码。 |
| SPF、DKIM、DMARC | 接收服务器的判定结果。如果某个品牌的域名显示 dmarc=fail,则表明存在明显的冒充迹象;若未报告,则表示服务器未针对该检查写入任何结果。 |
| 已收到的啤酒花 | 每个跳点被截断为200个字符。只有列表末尾由您自己的提供商添加的跳点才是可信的;之前的跳点可能是伪造的。 |
| 回复至 | 如果回复地址所在的域名与“发件人”域名不同,则意味着您的回复将被发送到其他地方。 |
| Return-Path | SPF 检查的退信地址。对于邮件服务而言,该地址与“发件人”字段所属的域名不同是正常现象,但值得注意。 |
| Message-ID | @ 之后的部分常常标明生成该邮件的系统。请与 From 域名进行比较。 |
更多示例
经过编码的发件人名称和主题
Received: from mail.example.org (mail.example.org [192.0.2.44])
by mx.example.com with ESMTPS; Tue, 20 Oct 2026 10:02:11 +0000
From: =?UTF-8?B?UGF5cm9sbCBUZWFt?= <payroll@example.org>
To: staff@example.com
Subject: =?UTF-8?B?U2FsYXJ5IHVwZGF0ZQ==?=
Date: Tue, 20 Oct 2026 10:02:09 +0000“发件人”、“收件人”、“日期”和“主题”已填写,但“名称”和“主题”仍显示为“=?UTF-8?B?...?=”,因为内容未被解码(实际内容应为“薪资团队”和“薪资更新”)。“接收中继”列中将折叠的中继信息合并显示在一行,而“所有标头”列则列出了每个标头。
邮件头连同正文一起粘贴
From: IT Support <it@example.net>
To: you@example.com
Subject: Password expires
Hello,
Action needed: confirm your password today.只有第一行空行之前的行会被识别为表头。表格下方的注释说明,其后的行(即消息正文)并未被识别为表头。
折叠的 Subject 行
From: Example Shop <orders@example.com>
Subject: Your order
has shippedFrom 显示 Example Shop 及地址 orders@example.com,To 和 Date 显示短横线,Subject 在一行中显示为 “Your order has shipped”。Received hops (0),All headers (2)。
常见问题解答
如何阅读各跳 Received?
跳数按从最旧到最新的顺序编号,与 EML Analyzer 中的做法一致:第 1 跳是位于最底层的“Received”标头,由第一个处理该邮件的服务器添加;最后一跳是位于最顶层的“Received”标头,由将邮件投递给您的服务器添加。 只有由您自己的邮件服务商添加的跳点才是可信的,因为发件人可以伪造其下方的任何“Received”行。
它会检查 SPF、DKIM 或 DMARC 吗?
不。它显示来自最顶层 Authentication-Results 头中的 SPF、DKIM 和 DMARC 结果,并按接收服务器写入的原样列出 Received-SPF 和 DKIM-Signature,不进行任何验证,仅对 =?UTF-8?B?...?= 签名者或读取邮件正文(它会在第一行空白处停止),并会截短过长的值(跳转至 200 个字符,表格单元格截短至 300 个字符)。如需查看完整的 .eml 文件,请使用 EML Analyzer。
邮件头会被上传吗?
不会。解析在你的浏览器中进行,不会向任何地方发送数据。邮件头可能包含个人地址和内部 IP,分享前请先删除这些信息。
可以粘贴整封邮件(包括正文)吗?
是的,但只读取了头部块:根据 RFC 5322 的定义,解析会在第一行空行处停止,且页面会显示跳过了多少行正文。EML Analyzer 会读取完整的邮件,包括附件。
折叠的邮件头行会怎样处理?
以空格或制表符开头的行会用一个空格接到上方的邮件头后面,因此较长的 Received 或 Subject 头会显示为一个值。
使用了哪个“Authentication-Results”标头?
最顶部的那个,是由将该消息发送给您的服务器最后添加的。下方的“Authentication-Results”标头可能来自之前的服务器,也可能是发件人伪造的。