三项认证分别回答什么
| 机制 | 验证对象 | 常见失败 |
|---|---|---|
| SPF | 发送 IP 是否被 Return-Path 域名授权 | 漏掉发送平台、多条 SPF、DNS 查找过多。 |
| DKIM | 邮件签名能否由 Selector 下的公钥验证 | Selector/公钥不匹配、签名被改写、记录未发布。 |
| DMARC | SPF 或 DKIM 是否通过,并与可见 From 域名对齐 | 认证通过但域名不对齐,或策略记录语法错误。 |
DMARC 不是第三套独立签名。它要求 SPF 或 DKIM 至少一项通过并与用户看到的 From 域名对齐。
先读取一封真实邮件头
在收件箱中打开“显示原始邮件”或“查看邮件源代码”,找到 Authentication-Results、Received-SPF 和 DKIM-Signature。不熟悉字段时,可先用邮件头本地分析器在浏览器中拆解;邮件内容不会上传。重点记录:
- 实际发送 IP,以及 SPF 使用的 envelope-from / Return-Path 域名。
- DKIM 的
d=签名域和s=Selector。 - DMARC 的 header.from 域名,以及最终 pass/fail 原因。
Authentication-Results: mx.example;
spf=pass smtp.mailfrom=bounce.example.com;
dkim=pass header.d=mailer.example.com header.s=s1;
dmarc=fail header.from=example.com这个例子中 SPF 和 DKIM 各自通过,但签名域与可见 From 可能没有对齐,因此 DMARC 仍可能失败。
SPF 失败的修复顺序
- 只保留一条 SPF。同一名称发布多条
v=spf1会形成永久错误,应合并机制。 - 覆盖所有合法发送源。企业邮箱、营销平台、客服系统、网站通知和监控服务都可能独立发信。
- 检查 DNS 查找次数。
include、a、mx、redirect等会产生查询,超过协议限制会失败。 - 谨慎使用 all。
-all适合配置完整后严格拒绝,测试阶段可按服务商建议逐步收紧。
DKIM 与 DMARC 的关键检查
使用邮件头中的真实 Selector 查询:
dig TXT s1._domainkey.example.com +short
dig TXT _dmarc.example.com +shortDKIM 记录可能是 TXT,也可能由 CNAME 指向邮件服务商。若 DNS 有公钥但邮件仍失败,检查服务商后台是否启用签名、公私钥是否配套、转发或网关是否改写正文。DMARC 初次上线通常先用 p=none 收集报告,确认全部合法来源和对齐后,再逐步提高 pct 与策略。
可在 企业邮箱 DNS 检测中输入发件域名和真实 Selector,查看 MX、SPF、DKIM、DMARC、MTA-STS 与 TLS-RPT 当前公开结果。
常见问题
SPF pass 为什么还进垃圾箱?
投递还受内容、域名信誉、发送 IP 信誉、互动和退信率等因素影响,SPF 通过只是基础条件。
找不到 DKIM 是否代表没有配置?
只有知道真实 Selector 才能判断。随意猜 default、google 等名称不能证明域名没有 DKIM。
DMARC 直接设 p=reject 可以吗?
技术上可以,但未盘点完整发送源时容易拒绝合法邮件。建议先收集报告并逐步执行。
作者与维护
作者与维护:iphelp站长工具箱站长 核对方式:公网实测与官方资料 最后核对:2026年8月21日
本文依据 SPF、DKIM、DMARC 的公开 DNS 与邮件认证行为维护。可通过反馈表单提交复现。