DMARC 检测:查询一个域名的 DMARC 记录
简而言之: 读取 _dmarc.yourdomain.com 下的 TXT 记录,解释每个标签,并评估策略实际执行的是什么:none、quarantine 还是 reject。 局限: 它读取的是已发布的记录;某封邮件是否通过了 DMARC,只有那封邮件的邮件头能告诉你。
DMARC 检测读取 _dmarc.yourdomain.com 下的 TXT 记录,显示已发布的策略:none、quarantine 或 reject。关键在策略:p=none 只要求报告,不拦截任何东西;使用这种策略的域名仍然可以被冒充。
Free, no account. You don't need to type the _dmarc prefix. Ten lookups a minute.
工具本身与英文页面相同:按钮和结果显示为英文。 最后更新:2026年11月5日
如何检查一个域名的 DMARC 记录
- 输入域名,不要加
_dmarc前缀:工具会自己加上。 - 点击查询按钮。如果子域名没有自己的记录,会像收件方那样查询主域名的记录。
- 查看策略(
p=)、子域名策略(sp=)、百分比(pct=)以及报告发往哪里(rua=)。 - 如果还是
p=none,请阅读报告,直到所有合法发件人都能通过,然后切换到 quarantine,再到 reject。
DMARC 中的 none、quarantine 和 reject 是什么意思?
这是一个域名可以发布的三种策略,从弱到强。p=none 只做监控:失败的邮件照常投递,你会收到关于它们的报告。它是正确的起点,却是错误的终点:p=none 的域名任何人都能冒充。
p=quarantine 要求收件方把失败的邮件视为可疑,实际上就是放进垃圾箱。p=reject 则要求彻底拒收。目标是 reject,路径是:先发布 none,阅读报告直到所有合法发件人都能通过,然后收紧。
DMARC 实际检查什么?
它检查邮件的对齐(alignment):通过 SPF 或 DKIM 的域名,是否与 From 中的域名一致。DMARC 增加了一个 SPF 和 DKIM 单独都没有的要求:通过身份验证的域名必须与显示的 From 邮件头一致。这正好堵住了垃圾邮件发送者用自己的域名通过 SPF、却显示你的域名的漏洞。
对齐可以是默认的宽松模式,子域名与主域名匹配即可;也可以是用 aspf=s 和 adkim=s 要求完全一致的严格模式。发信服务常用子域名签名,所以大多数人适合宽松模式。
DMARC 记录中的 rua 和 ruf 是什么?
它们是报告地址。rua= 指定汇总报告发往哪里:按发送来源列出通过和失败情况的每日 XML 摘要。那个没人告诉过你、却已经用你的域名发了一年邮件的服务商,就是这样被发现的。
ruf= 要求为每一次失败发送取证报告。出于隐私,大多数大型收件方已不再发送这类报告,所以不要依赖它们。汇总报告才是有用的那一半,但很难手动阅读;最好把它们发给一个会解析报告的服务。
Google 和 Yahoo 要求 DMARC 吗?
要求,针对批量发件人。自 2024 年 2 月起,Google 和 Yahoo 要求每个向其用户批量发送邮件的域名都具备 DMARC 记录。发布 p=none 就满足要求;所以很多域名正是这样发布后就停在那里了。
这总比没有好,因为它开启了报告。但保护只有在 quarantine 或 reject 时才会出现,一直停在 p=none 的域名只是有一份没有保护作用的文书。要一步步生成记录,请用 DMARC generator(英文)。
常见问题
- 如何检查我的 DMARC 记录?
- 在工具中输入你的域名。它会查询 _dmarc.yourdomain.com 下的 TXT 记录,对子域名像收件方一样回退到主域名,解释每个标签,并评估策略执行了多少。你不需要输入 _dmarc 前缀。
- DMARC 中的 p=none 是什么意思?
- 只做监控。SPF 和 DKIM 对齐失败的邮件仍会照常投递,你只会收到报告。由于它不会影响合法邮件,所以是正确的第一步;但停在 p=none 的域名完全可以被冒充。
- 如何在 Office 365 中检查 DMARC?
- DMARC 记录不在 Office 365 里,而在你域名的 DNS 中;所以在上方输入域名即可。要在 Outlook 中查看一封收到的邮件的 DMARC 结果,打开邮件详细信息,在 Authentication-Results 邮件头中找 dmarc=pass 或 dmarc=fail。
- 如何用 nslookup 检查 DMARC 记录?
- 运行 nslookup -type=txt _dmarc.example.com,或在 Mac 和 Linux 上运行 dig txt _dmarc.example.com,把 example.com 换成你自己的域名。结果应该是一条以 v=DMARC1 开头的 TXT 记录。没有结果就说明该域名没有 DMARC 记录。
- quarantine 和 reject 有什么区别?
- quarantine 要求收件方把失败的邮件视为可疑,实际上就是放进垃圾邮件文件夹。reject 要求在 SMTP 对话期间就拒收,所以它们根本不会被投递。reject 更强;在确认没有任何合法发件人失败之前,quarantine 是更安全的中间步骤。
要检查整份列表?前 100 个地址免费。
用 Google 登录,粘贴地址或上传 CSV 文件。每个地址都经过真实的 SMTP 邮箱检测,结果可以下载。无需信用卡。
catch-all 域名和不响应的服务器会标为“有风险”,绝不会标为“有效”。