SPF与DMARC检测

Test a domain's email authentication: SPF, DKIM and DMARC records are checked for syntax, lookup limits and policy strength, with plain-English fixes.

paypal.com 的邮件认证

SPF有效,但有警告
DKIM找到 2 个密钥
DMARCp=reject

SPF (Sender Policy Framework)

9/10 次 DNS 查询
v=spf1 include:pp._spf.paypal.com include:3ph1._spf.paypal.com include:3ph2._spf.paypal.com include:3ph3._spf.paypal.com include:3ph4._spf.paypal.com include:sendgrid.net include:aspmx.pardot.com ~all
  • 该记录已使用 10 次允许 DNS 查询中的 9 次,已接近上限。

DKIM (DomainKeys Identified Mail)

选择器 s1 (通过 CNAME s1.domainkey.u2325424.wl175.sendgrid.net)

k=rsa; t=s; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxbgrZ8NI+r1z/S4RHUWdMmwmN+JGEY9Blcd1cqhocyKq+4qzU5TDXX4gKIZ2Apq3tTdA/a5hNEE4bPyhJAHFA0/x7Xhg//F4+iLwAB766QJ10Yjv7nQIqvzMmMpLctr5FjgnclGvPUgow3ofUpnmxyr1s9fR2JdvrRzXtwvuvbDV8j98iuIGYgcTcmQwJHH3HcGuxYOc57YZBNPUQbd5fcR5hcpbi+rWeT/SlNCCLNLP4gmXVg7lPc37Yo3CG5gpAsTAf/4RIxb22aL2xW596h/Hi1EebekpqF1dWogRs7x2JK1JYQaVIJEYNSuv5nqLR6FA1SUmB1375JL4pTX...

选择器 s2 (通过 CNAME s2.domainkey.u2048429.wl180.sendgrid.net)

k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMTLst9tYk0BVG2VmtfH+pSW9SYaffk4Z3wx361Z2P8Knyh+UNT6EWgdLfhz35K2hD04HMNy+wQqNiN7EFDmUUiqoJ69Z2d4JKNfNWXoKubJFrTRHdKVl7o17yN/Pw6N/O5wqxqe0pISJjglebwjwX4JpTQZ6wHzQhGu5++JDP2QIDAQAB

DMARC

v=DMARC1; p=reject; rua=mailto:d@rua.agari.com,mailto:dmarc_agg@vali.email; ruf=mailto:d@ruf.agari.com,mailto:MTc4Mzcw@ruf.vali.email
策略(p)
reject
子域名策略(sp)
与 p 相同
汇总报告(rua)
mailto:d@rua.agari.com,mailto:dmarc_agg@vali.email
百分比(pct)
100%
对齐方式
DKIM: R, SPF: R (R = 宽松,S = 严格)
  • DMARC 已以 p=reject 强制执行,并已启用报告。

查看 paypal.com 的 MX 记录。

为什么 SPF、DKIM 和 DMARC 很重要

电子邮件在设计之初没有发件人验证,因此任何人都可以把您的域名写进“发件人”一栏。三项基于 DNS 的标准解决了这个问题。自 2024 年 2 月起,Google 和 Yahoo 要求批量发件人必须配置它们,缺少这些记录如今已成为正常邮件被判为垃圾邮件的常见原因。

  • SPF 在以 v=spf1 开头的 TXT 记录中,列出允许代表您的域名发送邮件的服务器。
  • DKIM 为每封邮件添加加密签名;收件方使用发布在 selector._domainkey.yourdomain 的公钥进行验证。
  • DMARC(位于 _dmarc.yourdomain)告诉收件方:当 SPF 和 DKIM 与发件人域名不一致时该怎么办(none、quarantine 或 reject),以及把报告发送到哪里。

本检测工具测试什么

  • SPF 是否存在、是否只有一条记录、是否以 ~all 或 -all 结尾(绝不能是 +all),以及包含嵌套 include: 机制在内的 DNS 查询总次数是否在 RFC 7208 规定的 10 次上限之内。
  • DKIM 密钥:针对您提供的选择器,或针对 Google Workspace、Microsoft 365 和常见发信服务所使用的十几个常用选择器。
  • DMARC 是否存在、策略是否有效、是否适用于 100% 的邮件,以及是否发送汇总报告,让您能看到谁在以您的名义发信。

记录示例

example.com.         TXT  "v=spf1 include:_spf.example.net ip4:192.0.2.0/24 -all"
_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; adkim=s"
s1._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh…"

推荐的部署步骤

  1. 发布 SPF,涵盖所有代表您发信的服务,并以 ~all 结尾。
  2. 在每个服务商中开启 DKIM 签名。
  3. 发布 p=none 的 DMARC 并设置 rua 地址,在两到四周内持续查看报告。
  4. 待所有合法邮件都能通过之后,改为 p=quarantine,再改为 p=reject。

完整讲解:SPF、DKIM 和 DMARC 详解。

常见问题

应该使用 ~all 还是 -all?

配置了 DMARC 的情况下,两者都可以;由 DMARC 决定结果。~all 是更稳妥的起点;一旦确信所有发件方都已列出,-all 则更严格。

“DNS 查询次数过多”是什么意思?

每个 include、a、mx、exists 和 redirect 都计一次查询,包括被引用记录内部的那些。超过 10 次,SPF 对所有人都会失败。请删除不用的服务,或用 ip4/ip6 地址段替换 include。

闲置域名也需要这些记录吗?

需要。对从不发送邮件的域名,请用 v=spf1 -all 和 v=DMARC1; p=reject 加以保护。

更新于

评论

暂无评分

登录后即可为此工具评分。

分享技巧、提出问题,或说说这个工具对您是否有用。

还没有评论,来分享您的使用体验吧。

已复制到剪贴板