DMARC Checker
Enter a domain to read its DMARC record and see how receivers are told to handle mail that fails authentication.
- Email security
- Live check
- Free, no sign-up
- Results are not published
Run DMARC Checker
At a glance
- What it checks
- Read a domain's DMARC policy, reporting addresses and alignment settings, and see how strictly it is enforced.
- Data source
- The _dmarc TXT record, with organisational-domain fallback and report-destination authorisation checks.
- Freshness
- Live check; results are cached for up to 10 minutes
- Limits
- Shows the published policy; whether receivers apply it, and who sends your mail, cannot be seen from DNS. Methodology
- Cost
- Free, no account needed
Understanding the result
How DMARC works
Domain-based Message Authentication, Reporting and Conformance (DMARC) ties SPF and DKIM to the From address that recipients actually see. A message passes DMARC when SPF or DKIM passes and the domain it authenticated is aligned with the From domain. The DMARC record, published as TXT at _dmarc.example.com, tells receivers what to do with mail that fails and where to send reports.
v=DMARC1; p=quarantine; rua=mailto:[email protected]; adkim=r; aspf=r
What DMARC does covers alignment and reporting in more depth.
How the record is found
The checker queries _dmarc. followed by the name you enter. When you enter a subdomain that has no record of its own, it also checks the organizational domain, because receivers apply the parent's policy (or its sp= subdomain policy) in that case. The result shows where the record was found and whether it was inherited.
Reading the findings
- Record present: missing is a FAIL, since without DMARC receivers have no instructions for spoofed mail. More than one DMARC record is also a FAIL, as receivers then ignore both.
- Policy:
p=rejectandp=quarantineare a PASS.p=noneis a WARNING, because it collects reports but asks receivers to take no action. A missing or invalidptag is a FAIL. - pct: when an enforcing policy applies to less than 100 percent of failing mail, a WARNING shows the percentage.
- Aggregate reporting: a
ruaaddress is a PASS; without it (INFO) you get no visibility into who sends mail as your domain. - Alignment: INFO showing whether DKIM and SPF alignment are relaxed (the default, allowing subdomains) or strict (exact domain match).
The record details also list the subdomain policy sp, any forensic report address ruf and every other tag.
Moving to enforcement
A safe rollout usually looks like this:
- Publish
p=nonewith aruaaddress and read the aggregate reports for a few weeks. - Fix every legitimate sender that fails, typically by adding DKIM signing or SPF entries for newsletters, CRMs and ticketing systems.
- Move to
p=quarantine, optionally with a lowerpctat first, then top=reject.
Aggregate reports are XML files and are easier to read with a DMARC report analyzer. Before tightening the policy, confirm your SPF record with the SPF Checker and your signing keys with the DKIM Checker.
Frequently asked questions
Is p=none useless?
No. It is the right first step, because the reports show which services send mail as your domain. It just does not protect you from spoofing until you move to quarantine or reject.
Can I send DMARC reports to an address on another domain?
Yes, but the receiving domain must publish a TXT record authorizing it, at a name like example.com._report._dmarc.example.net. Report analysis services set this up for you.
Why does DMARC fail when SPF passes?
SPF may be passing for a different domain than the one in the From header, such as the bounce domain of an email service. Without alignment, that pass does not count for DMARC. Setting up DKIM signing with your own domain is usually the fix.
Does DMARC apply to my subdomains?
Yes, unless a subdomain publishes its own record. The sp tag lets you set a different policy for subdomains than for the main domain.