Authentication‑Results 排错指南
AR 是收件服务器对一封邮件的“验身报告”。读取 spf=/dkim=/dmarc= 与 smtp.mailfrom/header.from/dkim d=,就能快速判断是否对齐,以及失败属于哪一环。
快速检查
体检会解析 AR 要点并计算对齐(宽松/严格)。上传 .eml 也只解析头部,正文绝不保存。
示例(常见格式)
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of bounce@mail.example.com designates 203.0.113.1 as permitted sender) smtp.mailfrom=bounce@mail.example.com;
dkim=pass header.i=@mail.example.com header.d=mail.example.com header.s=s1;
dmarc=pass (p=REJECT sp=REJECT) header.from=example.com
注意:header.i 是 DKIM 身份(通常为 @d= 的地址),对齐判断以 header.d 与 header.from 的组织域为准。
折行与多条 AR
Authentication-Results: mx.example.net;
spf=neutral smtp.mailfrom=bulk@vendor.example.net;
dkim=pass (good signature) header.d=brand.example header.s=sel2;
dmarc=fail (p=quarantine) header.from=brand.example
- 多行折行通常以制表符/空格继续;解析时需要合并。
- 同一封信可能有多条 AR(多网关);以最终接收者记录为准。
对齐判断(实操)
- 宽松:比较
org(header.from)与org(smtp.mailfrom)/org(dkim d=);任一匹配即可。 - 严格:要求域名完全相等(建议先在关键域启用)。
- 组织域计算需依赖 PSL(Public Suffix List)。
排错对照表
| 症状 | 可能原因 | 修复动作 | 如何验证 |
|---|---|---|---|
| spf=softfail/neutral | 来源未覆盖;SPF 超查询 | 补充来源;扁平化至 ≤10 | 体检看 lookups;AR 变为 pass |
| dkim=fail | 选择器过期;公钥不匹配 | 轮换选择器;检查 TXT | AR 新选择器 pass;PDF 证据 |
| dmarc=fail | 对齐失败;策略 still none | 在 DKIM 上对齐;推进 p= 值 | 体检对齐徽章 pass |
实战技巧
- 抓取多封具有代表性的报文(不同来源/模板/ESP 路由)。
- 先看
header.from再看 SPF/DKIM 身份,避免“身份混淆”。 - 把“AR 关键字段提取 + 对齐判断”写入 CI 或回归脚本。