DMARC

DMARC 检查器

查看直接 DMARC、SPF 与可选 DKIM DNS 记录,进行局部检查

DNS 与域名
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 Evan 维护•最近更新:2026年9月30日

直接查询邮件 DNS 记录,进行部分语法和公钥结构检查。不会发送邮件,不执行 DMARC DNS Tree Walk、SPF 递归求值或 DKIM 签名验证,也不判断邮件认证是否通过。

查询名称

手动查询会把域名及选择器发送给 Cloudflare DNS-over-HTTPS。最多 3 个直接 TXT 查询,每个限时 10 秒、响应上限 256 KiB。示例完全在本地运行。不会保存输入草稿;统计事件不含查询名称或记录内容。

工具说明

DMARC 检查器通过 Cloudflare DNS-over-HTTPS 查询直接 _dmarc TXT、域名中的 SPF TXT,以及可选 selector._domainkey TXT。它拼接同一 TXT 记录内的字符串,保留独立记录,区分 DNS 查询失败与空响应,并报告已支持的局部标签和密钥结构检查。DMARC 检查参考 RFC 9989;SPF 检查涵盖完整版本、已知机制名称、基本分隔及 ip4/ip6 字面量,不求值域名参数、宏或递归机制。DKIM 检查涵盖标签语法、必填或撤销的 p、Base64、RSA PKCS#1/SPKI 结构与 Ed25519 字节长度。工具不发送邮件,不执行 DNS Tree Walk,不发现组织域或选择器,不验证报告授权、邮件对齐、密钥可用性或邮件签名。手动查询会将输入名称发送给 Cloudflare;示例使用本地公开夹具,不发送查询。输入不保存为草稿,每次查询限时 10 秒、响应上限 256 KiB。结果是配置观察,不是认证或投递结论。

失败门诊(高频踩坑)

把 p=none、直接记录缺失或发现 DKIM 公钥当成认证结论

原因:DNS 配置只是邮件处理的一部分。RFC 9989 使用 DNS Tree Walk,SPF/DKIM 求值还需要发信身份或已签名邮件。

修复:将结果用于局部观察。工具不执行上级策略发现、邮件对齐、报告授权或签名验证。

机械地按 none → quarantine → reject 升级策略

原因:策略选择取决于邮件用途和互操作性。RFC 9989 §7.4 不建议通用邮件域采用 p=reject。

修复:先结合真实邮件流和现行标准判断。缺少 p 有缺省与回退规则,本工具不计算收件方最终策略。

把 Base64 编码正确等同于公钥可用

原因:编码、DER 结构或 Ed25519 字节长度都不能证明密钥归属、密码学有效性或邮件签名真实。

修复:只在已声明的范围内使用结构检查。未知 DKIM 标签/密钥类型,以及 SPF 域名参数和宏,均不求值。

场景配方

01

查询直接邮件 DNS 记录,区分配置观察与认证结果

目标:分清解析器返回的内容与收件方实际作出的判断。

  1. 输入 ASCII 域名,国际化域名使用 punycode。已知 DKIM 选择器时,再填写邮件 DKIM-Signature 中的 s= 值。
  2. 通过 Cloudflare DNS-over-HTTPS 查询,查看每个直接名称、TTL、原始 TXT 表示及拼接内容。查询失败与空响应会分别显示。
  3. 检查多记录、已支持标签与公钥结构提示。策略发现、SPF 身份求值和 DKIM 邮件签名仍需使用实际收件系统或专用认证流程。

结果:得到带查询时间的直接记录观察;不能据此确定投递能力、最终 DMARC 策略或认证通过。

生产可用片段

TXT 分段属于同一条 DNS 记录

text

_dmarc.example.test. IN TXT "v=DM" "ARC1; p=none"

同一条记录拼接后:v=DMARC1; p=none
两个字符串之间不补空格。
两条独立 TXT 记录仍是两条,不能合并为一个策略。

常见问题

这能证明邮件通过认证吗?

不能。直接 DNS 观察不求值发信身份、DMARC 对齐或 DKIM 邮件签名。发现记录或公钥结构不等于认证通过。

会发现上级 DMARC 策略吗?

不会。RFC 9989 使用 DNS Tree Walk 发现策略和组织域,本工具只查询直接名称。缺少直接记录不证明没有适用策略。

p=none 或缺少 p 一定失败吗?

不一定。p=none 是有效策略,RFC 9989 对缺失或无效策略字段有缺省及有效 rua 回退规则。本工具只报告字段和局部问题,不计算收件方最终策略。通用邮件域不应机械升级到 p=reject。

如何获得可选 DKIM 选择器?

从真实邮件 DKIM-Signature 的 s= 字段或邮件服务商文档确认;工具不枚举或猜测选择器。

为什么多条 TXT 记录不能直接合并?

同一 TXT 记录内部的字符串拼接时不补空格,独立记录仍分别保留。多个 SPF 记录产生 permerror,多个 DMARC 候选记录会被舍弃,同一 DKIM 选择器的多记录结果未定义。

输入在哪里处理?

手动查询会将域名与选择器发送给 Cloudflare DNS-over-HTTPS,返回记录在浏览器检查。示例完全本地运行,不保存草稿,统计不包含名称或记录。

继续浏览