Email Authentication

SPF、DKIM、DMARC 检测失败怎么修?

不要从网上复制一组“万能 TXT”。先从一封真实邮件的认证结果定位发送源、签名域和对齐问题。

排查入口真实邮件头记录存在不等于实际邮件会通过。

三项认证分别回答什么

机制验证对象常见失败
SPF发送 IP 是否被 Return-Path 域名授权漏掉发送平台、多条 SPF、DNS 查找过多。
DKIM邮件签名能否由 Selector 下的公钥验证Selector/公钥不匹配、签名被改写、记录未发布。
DMARCSPF 或 DKIM 是否通过,并与可见 From 域名对齐认证通过但域名不对齐,或策略记录语法错误。

DMARC 不是第三套独立签名。它要求 SPF 或 DKIM 至少一项通过并与用户看到的 From 域名对齐。

先读取一封真实邮件头

在收件箱中打开“显示原始邮件”或“查看邮件源代码”,找到 Authentication-ResultsReceived-SPFDKIM-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 失败的修复顺序

  1. 只保留一条 SPF。同一名称发布多条 v=spf1 会形成永久错误,应合并机制。
  2. 覆盖所有合法发送源。企业邮箱、营销平台、客服系统、网站通知和监控服务都可能独立发信。
  3. 检查 DNS 查找次数。includeamxredirect 等会产生查询,超过协议限制会失败。
  4. 谨慎使用 all。-all 适合配置完整后严格拒绝,测试阶段可按服务商建议逐步收紧。
不要把任意第三方平台提供的整条 SPF 直接覆盖现有记录。应把合法来源合并到一条策略里。

DKIM 与 DMARC 的关键检查

使用邮件头中的真实 Selector 查询:

dig TXT s1._domainkey.example.com +short
dig TXT _dmarc.example.com +short

DKIM 记录可能是 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 可以吗?

技术上可以,但未盘点完整发送源时容易拒绝合法邮件。建议先收集报告并逐步执行。

作者与维护

作者与维护: 核对方式:公网实测与官方资料 最后核对:2026年8月21日

本文依据 SPF、DKIM、DMARC 的公开 DNS 与邮件认证行为维护。可通过反馈表单提交复现。