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.

outlook.com 的邮件认证

SPF有效
DKIM找到 2 个密钥
DMARCp=none

SPF (Sender Policy Framework)

1/10 次 DNS 查询
v=spf1 include:spf2.outlook.com -all
  • SPF 记录有效,并以 -all 结尾。

DKIM (DomainKeys Identified Mail)

选择器 selector1 (通过 CNAME selector1._domainkey.outbound.protection.outlook.com)

v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvWyktrIL8DO/+UGvMbv7cPd/Xogpbs7pgVw8y9ldO6AAMmg8+ijENl/c7Fb1MfKM7uG3LMwAr0dVVKyM+mbkoX2k5L7lsROQr0Z9gGSpu7xrnZOa58+/pIhd2Xk/DFPpa5+TKbWodbsSZPRN8z0RY5x59jdzSclXlEyN9mEZdmOiKTsOP6A7vQxfSya9jg5N81dfNNvP7HnWejMMsKyIMrXptxOhIBuEYH67JDe98QgX14oHvGM2Uz53if/SW8MF09rYh9sp4ZsaWLIg6T343JzlbtrsGRGCDJ9JPpxRWZimtz+Up/BlKzT6sCCrBihb/Bi3pZiEBB4Ui/vru...

选择器 selector2 (通过 CNAME selector2._domainkey.outbound.protection.outlook.com)

v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv4FtIHuwq9952OTOwVZEofzUo9nZJZV7Hn3zOXBHaEOP71nMs+uCheSeYRH34PLvo9MngvAFxXG4X8dpL35onCZq2uivZrSBid1ZPDiDqTsK8y26vCV/RpVSWeJEO0SWejooFY7RJ1sbSIxj3Yj4n95oysVoNk3OIJcLryIgjPwzoxFyFQKfpfzAuBf0xvAs29JW9whxe1A7J9Z+wJVhVs37o2ua+sMb7ypEhVjoGHJnGpHh3qq8ukHMw6XAiSD1bG5jndbWNXEf93E1UAAmIYZvxGqwFU0cpCu9YwmwEXYQtAXORinEYAIQKpIlCtH0hW6XKnsbxnbmUmRs/...

DMARC

v=DMARC1; p=none; sp=quarantine; pct=100; rua=mailto:rua@dmarc.microsoft; ruf=mailto:ruf@dmarc.microsoft; fo=1
策略(p)
none
子域名策略(sp)
quarantine
汇总报告(rua)
mailto:rua@dmarc.microsoft
百分比(pct)
100%
对齐方式
DKIM: R, SPF: R (R = 宽松,S = 严格)
  • 当前策略为 p=none(仅监控)。待报告显示正常后,请先改为 p=quarantine,再改为 p=reject。

查看 outlook.com 的 MX 记录(邮件由 Microsoft 365 处理)。

为什么 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 加以保护。

更新于

评论

暂无评分

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

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

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

已复制到剪贴板