邮件送达率工具:SPF、DKIM、DMARC 检测完全指南

Dovecot 次阅读

为什么邮件会进垃圾箱?

邮件被标记为垃圾邮件,最常见的技术原因是域名的 SPF、DKIM、DMARC 配置不正确或缺失。这三个协议共同构成了邮件认证体系,告诉收件服务器「这封邮件确实来自域名所有者授权的服务器」。

三大邮件认证协议

SPF(Sender Policy Framework)

SPF 通过 DNS TXT 记录,声明哪些 IP 地址或服务器有权代表你的域名发送邮件。收件服务器会查询发件域的 SPF 记录,验证来源 IP 是否在授权范围内。

# SPF 记录示例(DNS TXT)
v=spf1 include:_spf.google.com include:sendgrid.net ~all

# 含义:
# v=spf1         → SPF 版本 1
# include:...    → 包含这些服务的授权 IP
# ~all           → 其他来源软失败(建议;-all 为硬失败)

DKIM(DomainKeys Identified Mail)

DKIM 为每封发出的邮件添加数字签名。发件服务器用私钥对邮件头部签名,收件服务器从 DNS 查询对应的公钥验证签名真实性,确保邮件内容在传输中未被篡改。

DMARC(Domain-based Message Authentication, Reporting & Conformance)

DMARC 建立在 SPF 和 DKIM 之上,定义当邮件未通过认证时应采取的策略(无操作/隔离/拒绝),并可配置收取认证报告。

# DMARC 记录示例(DNS TXT,记录名 _dmarc.yourdomain.com)
v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com; pct=100

# p=none      → 仅监控,不处理
# p=quarantine → 未通过的邮件进垃圾箱
# p=reject    → 完全拒绝未通过的邮件

三者的关系和部署顺序

  1. 先配置 SPF:告知哪些服务器可以代表你发邮件
  2. 再配置 DKIM:为发件服务器(邮件服务商)启用 DKIM 签名
  3. 最后配置 DMARC:初期设 p=none 收集报告,确认 SPF 和 DKIM 正常后逐步升级到 quarantinereject

如何检测邮件配置

使用 tool.tl 的邮件诊断工具:

常见配置错误

  • SPF 超过 10 次 DNS 查询限制:SPF 中过多的 include: 会超过查询限制导致验证失败,需要合并或使用扁平化工具
  • DKIM 选择器过期:更换邮件服务商后旧 DKIM 记录未删除,导致旧签名无法验证
  • DMARC 过早设为 reject:未先确认 SPF 和 DKIM 正常就设置严格策略,可能导致合法邮件被拒

常见问题

用 Gmail / Outlook 发邮件需要配置这些吗?

如果只是个人用 Gmail/Outlook 收发邮件,不需要——这些平台已自动处理认证。但如果你从自己的域名(如 @yourcompany.com)发送业务邮件,或使用 SendGrid、Mailchimp 等第三方发件服务,就必须配置 SPF、DKIM 和 DMARC。

配置后需要多久生效?

DNS 记录的 TTL 决定生效时间,通常 5 分钟至 48 小时内生效,大多数情况下 1 小时内可验证。

工具是免费的吗?

是的,tool.tl 的所有邮件检测工具完全免费,即时查询,无需注册。