使用步骤
- 输入域名,或直接粘贴邮箱地址(会自动取 @ 后面的域名)。
- 点「查询」,查看 MX、SPF、DKIM、DMARC 的结果;DKIM 查不到时可以填写选择器再查。
- 按提示到域名的 DNS 解析里修改记录,生效后再查一次。
参数说明
- SPF
- 域名根下以 v=spf1 开头的 TXT 记录,列出允许用这个域名发信的服务器。只能有一条。
- DMARC
- _dmarc 子域名下以 v=DMARC1 开头的 TXT 记录,告诉收件方 SPF、DKIM 校验不通过时怎么处理。
- 查询次数
- SPF 里的 include、a、mx、ptr、exists 和 redirect 每个都要额外查一次 DNS,总数不能超过 10。这里会逐层展开 include 和 redirect,把嵌套的查询一起算上。
怎么看这些记录
SPF 记录是一串条目。每个条目前面可以带一个限定符,说明命中时怎么处理(RFC 7208):
| 限定符 | 含义 | 示例 |
|---|---|---|
+(默认) |
通过 | a 或 +a |
- |
失败:拒绝 | -all |
~ |
软失败:接收但做标记 | ~all |
? |
中立:不作表态 | ?all |
检测器会把 +all(或单独的 all)报为允许所有服务器发信,把 ?all 报为对防伪造不起任何作用,把没有 all 或 redirect= 的记录报为未完成。对 ptr 机制和第二条 SPF 记录也会给出警告。
DMARC 记录是一组用分号隔开的 tag=value(RFC 7489):
v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; adkim=s; pct=100
| 标签 | 含义 |
|---|---|
v |
版本,始终是 DMARC1,并且位于记录最前面 |
p |
对该域名的策略:none、quarantine 或 reject |
sp |
对子域名的策略;没有时沿用 p |
rua |
聚合报告发到哪里 |
ruf |
失败报告发到哪里 |
pct |
策略适用于多大比例的校验失败邮件;没有时为 100 |
adkim、aspf |
DKIM 和 SPF 对齐方式:r 宽松(默认)或 s 严格 |
fo |
失败报告选项;没有时为 0 |
没有 rua 的 DMARC 记录会被标出,因为这样你收不到任何报告。DKIM 方面,短于 2048 位的 RSA 密钥会被标为强度不足,p= 的值为空的密钥会显示为「已撤销」。
常见问题
SPF 用 ~all 还是 -all?
-all 表示不在列表里的服务器一律拒绝,~all 表示标记为可疑。确认列表完整之前用 ~all 更稳妥;配合 DMARC 使用时,两者效果差别不大。
DMARC 应该从哪个策略开始?
先用 p=none 并设置 rua 收报告,观察一两周确认合法的发信来源都通过校验,再改成 quarantine,最后改成 reject。
为什么查不到 DKIM?
DKIM 记录放在「选择器._domainkey.域名」下,选择器由邮件服务商决定。这里会自动尝试 default、selector1、selector2、google 等常见选择器;查不到时,在邮件原文的 DKIM-Signature 头里找到 s= 后面的值,填到「DKIM 选择器」里再查。
改了记录多久生效?
取决于记录的 TTL,一般几分钟到几小时。这里默认用阿里公共 DNS 查询,结果可能被缓存一段时间。
隐私说明
这个工具需要服务器完成:你输入的内容或文件通过 HTTPS 发送到我们的服务器,处理完立即丢弃,不做保存。服务器访问日志会记录 IP 地址和请求地址,仅用于防止滥用。