使用方法
- 在邮件程序中打开邮件,找到其原始邮件头或完整邮件头,从第一行复制到空行。
- 粘贴到 原始邮件头 中。页面在您的浏览器中读取它们。
- 从第一跳到最后一跳阅读 按顺序排列的跳数,以及表示每跳耗时的 延迟 列。
- 阅读 SPF 结果、DKIM 结果 和 DMARC 结果。通过为绿色,其他结果为红色。
邮件如何记录路线
每台处理邮件的服务器都会在邮件头最上面添加一行 Received(RFC 5321 第4.4节)。该行给出它所接收自的主机(from)、它转交给的主机(by)、协议(with),以及分号后面的日期(RFC 5322 第3.6.7节)。从下往上读,这些行就是按顺序排列的路线。
- 某一跳的延迟是它的时间减去前一跳的时间,从下往上计算。
- 服务器的时钟可能不准,因此负数或很长的延迟,既可能说明时钟的问题,也可能说明网络的问题。
地址与对齐
From 是作者的地址。Return-Path 是退信发往的地址,也是 SPF 检查的地址(RFC 5322 第3.6.2和3.6.7节)。DMARC 会把 From 的域名与通过 SPF 或 DKIM 检查的域名进行比较。在默认的宽松对齐下,两者只需共享同一个组织域名;在严格对齐下,两者必须完全相同(RFC 7489 第3.1和3.1.1节)。设置了 Reply-To 时,回复发往该地址(RFC 5322 第3.6.2节)。
认证结果
接收服务器会把它的检查记录在 Authentication-Results 邮件头中。第一个词是该服务器的 authserv-id,之后每项结果都是一个方法加一个值,例如 spf=pass、dkim=pass 或 dmarc=pass(RFC 8601 第2.2和2.7节)。Received-SPF 是较早的邮件头,记录一次 SPF 检查(RFC 7208 第9.1节)。
示例:一封经过三台服务器的邮件
默认邮件头显示一封来自 client.example.net 的邮件,它经过 relay.example.net 和 mx.example.org,最后到达 mail.example.net。从下往上读,三条 Received 行的时间是09:59:21、10:00:03和10:02:14,因此第二跳用了42秒,第三跳用了2分11秒。
Authentication-Results 邮件头为 example.net 报告 spf=pass、dkim=pass 和 dmarc=pass。回复发往 [email protected],这是另一个域名,页面会标注它,因为离开发件人域名的回复值得检查。
| 指标 | 数值 |
|---|---|
| Received 行数 | 3 |
| 从第一跳到最后一跳的时间 | 2分53秒 |
| SPF | pass(example.net) |
| Reply-To | 回复发往 example.org,而不是 example.net。请确认这是有意的(RFC 5322 第3.6.2节)。 |
常见问题
为什么跳数的顺序与 Received 行相反?
每台服务器都把它的 Received 行放在最上面,因此最新的一跳排在邮件头最前面(RFC 5321 第4.4节)。页面把它们倒过来,所以第一行就是邮件离开的那台服务器。
我可以相信 Received 行吗?
每台服务器都会写自己的那一行,但其中的名称和地址是该服务器报告的内容,发件人也可能自己添加行。最上面的行是最近添加的,由离您最近的服务器写入,最值得留意。
负延迟是什么意思?
某一跳的时间早于它前一跳,说明两台服务器的时钟不一致,或者时区被读错。这是时钟误差的迹象,并不表示网络更快。
什么是 Authentication-Results?
这是接收服务器添加的邮件头,说明它检查了什么,例如 SPF、DKIM 和 DMARC,以及每项检查的结果(RFC 8601)。第一个词是该服务器的名称,只应信任您自己接收服务器的邮件头(第2.5节)。
为什么 Reply-To 的域名很重要?
设置了 Reply-To 时,回复发往它;否则发往 From(RFC 5322 第3.6.2节)。如果它指向另一个域名,回复就会离开邮件来源的域名。这本身并非错误,但值得检查。
这个工具会把我的邮件头发送到什么地方吗?
不会。邮件头在您的浏览器中读取,不会发送到任何服务器,也不会被保存下来,页面不会记录您粘贴的任何内容。
资料来源
- RFC 5322:互联网消息格式(英文)
- RFC 5321:简单邮件传输协议,路由信息(英文)
- RFC 8601:指示消息认证状态的邮件头字段(英文)
- RFC 7208:发件人策略框架(SPF)(英文)
- RFC 7489:DMARC(英文)
数据和文字最近核对于2026年11月10日星期二。