无需登录 数据私有 本地保存

邮件头分析器 - 解析 SPF/DKIM/DMARC 认证路径

18
0
0
0

邮件头分析器

解析 SPF / DKIM / DMARC 认证路径,验证邮件来源可信度

认证结果摘要

SPF
-

Sender Policy Framework · 发件人策略框架

DKIM
-

DomainKeys Identified Mail · 域名密钥识别邮件

DMARC
-

Domain-based Message Authentication · 基于域的消息认证

邮件传输路径

从Received头解析的传输跳转链

DKIM 签名详情

从DKIM-Signature头部解析

原始解析数据

                

常见问题与知识点

SPF(Sender Policy Framework,发件人策略框架) 是一种DNS级别的邮件认证协议。域名所有者在DNS中发布SPF记录,列出被授权发送该域名邮件的IP地址或主机名。接收邮件服务器检查发件人的IP是否在SPF记录中,从而判断邮件是否来自授权的发送源。

常见SPF结果:
  • pass - IP地址在授权列表中,验证通过
  • fail - IP地址不在授权列表中,验证失败
  • softfail - IP地址不在列表中,但域名所有者建议标记而非拒绝
  • neutral - 域名未明确授权或拒绝该IP
  • none - 域名没有SPF记录
  • temperror - 临时错误(如DNS查询超时)
  • permerror - 永久错误(如SPF记录格式错误)

DKIM(DomainKeys Identified Mail,域名密钥识别邮件) 是一种使用非对称加密的邮件签名技术。发送服务器使用私钥对邮件头部和正文进行签名,接收服务器通过DNS查询发送域名发布的公钥来验证签名完整性。

DKIM签名的关键参数包括:d=(签名域名)、s=(选择器,用于在DNS中定位公钥)、h=(被签名的头部字段列表)、bh=(正文哈希值)。即使邮件被转发,只要签名头部和正文未被篡改,DKIM验证仍然可以通过。

注意:DKIM签名本身不包含"对齐"概念。在DMARC评估中,需要DKIM签名域名(d=)与From头部域名对齐,才算DKIM通过。

DMARC(Domain-based Message Authentication, Reporting & Conformance) 建立在SPF和DKIM之上,增加了域名对齐(Alignment)检查和策略执行。

DMARC通过需要满足以下至少一项:
  1. SPF对齐:SPF检查pass,且Return-Path(信封发件人)域名与From头部域名一致(严格模式)或是其子域(宽松模式)
  2. DKIM对齐:DKIM验证pass,且DKIM签名中的d=域名与From头部域名一致(严格模式)或是其子域(宽松模式)
DMARC策略(p=):
  • none - 仅监控,不采取行动
  • quarantine - 将未通过邮件放入垃圾箱
  • reject - 拒绝未通过邮件

不同邮件客户端查看原始邮件头的方法:

Gmail:打开邮件 → 点击右上角三个点 → "显示原始邮件"
Outlook Web:打开邮件 → 点击右上角三个点 → "查看" → "查看邮件源"
Apple Mail:打开邮件 → "显示"菜单 → "邮件" → "原始来源"
Thunderbird:打开邮件 → "查看" → "邮件来源"
Yahoo Mail:打开邮件 → 更多 → "查看原始邮件"

将显示的完整原始内容(包括所有Received、Authentication-Results等头部信息)复制粘贴到本工具即可分析。

ARC(Authenticated Received Chain,认证接收链) 解决了邮件经过转发或邮件列表后原始认证信息丢失的问题。当邮件经过中间服务器(如转发服务或邮件列表)时,该服务器可能修改邮件内容导致DKIM签名失效,或改变发送IP导致SPF失败。

ARC通过以下三个头部保留认证链:
  • ARC-Authentication-Results:记录该跳转点的认证结果(类似Authentication-Results)
  • ARC-Message-Signature:对该跳转点邮件状态的签名
  • ARC-Seal:对整个ARC链的封印,确保链的完整性
每个ARC集合有一个实例号(i=),接收方可以回溯整条认证链,判断邮件在原始发送时是否通过了认证。

会的。邮件认证状态直接影响送达率和收件箱放置位置。

SPF失败:许多邮件服务器会将SPF失败的邮件标记为可疑,增加进垃圾箱的概率。如果域名设置了-all(硬拒绝),接收方可能会直接拒绝邮件。

DKIM失败:签名验证失败意味着邮件可能在传输过程中被篡改,或签名配置有问题。这会严重降低可信度。

DMARC失败:如果域名设置了p=reject策略,DMARC失败的邮件会被直接拒绝。设置p=quarantine则会被放入垃圾箱。

建议:对于发送营销邮件或事务性邮件的域名,务必正确配置SPF、DKIM和DMARC,并定期检查认证状态,确保邮件能顺利送达收件箱。

Authentication-Results 头部遵循 RFC 8601 标准。格式为:

Authentication-Results: <authserv-id>; <method>=<result> [<props>]; ...

其中:
  • authserv-id:执行认证的服务器标识(如mx.google.com)
  • method:认证方法(spf/dkim/dmarc/arc)
  • result:认证结果
  • props:属性,如smtp.mailfrom=header.i=header.from=
多个认证结果用分号分隔。不同邮件服务商的格式可能略有差异,本工具已适配主流格式(Gmail、Microsoft、Yahoo等)。