DMARC · RFC 7489
DMARC Record Checker
Find the DMARC policy that applies to a domain, see what each tag does, check where reports go and how strongly spoofed mail is blocked.
Lookup
How the DMARC checker works
Enter a domain and press Check DMARC. The checker queries _dmarc.<domain>. If nothing is published there, it falls back to the organisational domain, exactly as receivers do: for mail.example.co.uk that is example.co.uk, worked out with the Public Suffix List. The subdomain policy sp= then applies.
What the verdict means
- Enforced:
p=quarantineorp=rejectfor all failing mail. Spoofed messages go to spam or are refused. - Partly enforced: an enforcing policy limited by a
pctbelow 100, or in test mode witht=y. - Monitoring only:
p=none. You receive reports, but spoofed mail is still delivered.
The alignment tags decide how closely domains must match. Relaxed (r, the default) accepts any subdomain of the same organisational domain; strict (s) needs an exact match. When rua sends reports to another domain, that domain must publish an authorisation record at <your-domain>._report._dmarc.<their-domain>, and the checker looks it up for you.
To create or tighten a policy, use the DMARC record generator.
Frequently asked questions
What is the difference between p and sp?
p is the policy for the domain itself and sp the policy for its subdomains. Without sp, subdomains inherit p. A domain that never sends from subdomains can safely use the same or a stricter value for sp.
What does pct do?
pct applies the policy to only part of the failing mail; the rest is handled one step weaker, so quarantine becomes none and reject becomes quarantine. It exists for gradual rollouts, and the updated DMARC specification replaces it with the t= test flag.
Why do external report addresses need an extra record?
So that nobody can flood a stranger’s mailbox with reports, receivers only send reports to another domain if that domain publishes a TXT record saying it accepts them. Report services set this up for their customers.
Why is my DMARC policy shown as inherited?
No record exists at _dmarc for the exact name you entered, so receivers use the record of the organisational domain instead. For subdomains this is normal and expected.