Validate a domain DMARC policy, inspect p=none/quarantine/reject, SPF/DKIM alignment, reporting addresses and DNS TXT tags.
Enter a domain above to validate its DMARC record, inspect every tag and review policy, alignment and reporting settings.
DMARC (Domain-based Message Authentication, Reporting & Conformance) ties SPF and DKIM together and tells receivers what to do when a message fails alignment. This DMARC record checker looks up the single DNS TXT record at _dmarc.<domain> and explains each tag=value pair.
The p tag is the policy: none (monitor only — take no action), quarantine (send failing mail to spam) or reject (block it outright). Most domains start at p=none to gather reports, then escalate to quarantine and finally reject once they're confident every legitimate sender passes.
DMARC only passes when SPF or DKIM passes and is aligned — the authenticated domain has to match the visible From: domain. adkim and aspf control whether that match is r (relaxed) or s (strict). The rua address is where daily aggregate reports go, but DMARC still does not guarantee inbox placement or block every phishing attempt.
Three stages of a typical policy for
example.com, all published at
_dmarc.example.com, and what the checker shows for each.
v=DMARC1; p=none; rua=mailto:[email protected]
Policy None (badge: Monitor), coverage 100%, alignment Relaxed, reporting On. Six checks pass and two need review: the policy takes no action, and there is no
sp=
tag. This is the normal starting point.
v=DMARC1; p=quarantine; pct=25; sp=quarantine; rua=mailto:[email protected]
Policy Quarantine (badge: Partial) with coverage 25%: a quarter of failing mail is quarantined, and the other 75% falls back to
p=none. The policy and coverage checks ask for review until you reach
p=reject
and
pct=100.
v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s; rua=mailto:[email protected]; ruf=mailto:[email protected]
Policy Reject (badge: Enforcing), coverage 100%, alignment Strict, and all eight checks pass. The Reporting destinations card lists both addresses, and the ladder footer reads "rua + ruf".
p=
value, highlighted on a None / Quarantine / Reject scale.
pct=
value: the share of failing mail the policy applies to. It is 100% when the tag is absent, and values outside 0–100 are clamped. Below 100%, the coverage check explains what happens to the remaining mail: under
p=reject
it is quarantined instead, under
p=quarantine
it gets
p=none
(RFC 7489, section 6.6.4).
adkim
and
aspf
are
r
(the default when the tags are missing), Strict when both are
s, and Mixed otherwise.
rua
address is present. The Reporting destinations card lists every
rua
and
ruf
address with the
mailto:
prefix and any size limit such as
!10m
removed.
p=none,
p=quarantine, coverage below 100%, a missing
rua
and a missing
sp
are flagged for review; a missing
p=
tag or more than one DMARC record fails.
v
and
p
marked Required, and the record as a zone-file line.
p=none with a rua address.
Receivers that send aggregate reports start mailing them, usually once a day.
p=quarantine gradually.
Raise
pct
in steps (for example 25, 50, 100) and watch the reports between steps. Failing mail outside the percentage gets the next lower policy: quarantine falls back to none, reject falls back to quarantine.
p=reject and set sp=.
An explicit subdomain policy makes it clear how mail from names like
news.example.com
is treated.
For a message with From: [email protected]:
d=mail.example.com
aligns in relaxed mode (same organizational domain) but not with
adkim=s.
[email protected] passes SPF alignment only in relaxed mode.d=example.net
and uses its own bounce domain passes SPF and DKIM for
example.net, yet fails DMARC for
example.com. Ask the provider for a custom DKIM domain or custom return path.
Keep relaxed alignment unless every source signs and bounces with the exact From: domain.
DMARC must be a TXT record on the
_dmarc
host, such as
_dmarc.example.com, not on the domain itself; in DNS panels that append the zone name, enter only
_dmarc. The record must have
v=DMARC1
as its first tag, or receivers ignore it. DNS errors and timeouts are reported the same way as a missing record.
Checking
mail.example.com
queries only
_dmarc.mail.example.com
and nothing above it. Receivers that find nothing there fall back to the organizational domain's record and apply its
sp=
(or
p=) policy, so check
example.com
as well.
With two
v=DMARC1
records, receivers skip DMARC for the domain; merge them into one (the checker shows the first one it receives). Without a valid
p=
tag, receivers either ignore the record or, when a valid
rua
is present, treat it as
p=none. Always state the policy explicitly.
Check the address in the Reporting destinations card and the
mailto:
prefix in the raw record. When reports go to another domain, for example
rua=mailto:[email protected]
on
example.com, the receiving domain must publish an authorization record at
example.com._report._dmarc.example.net
containing
v=DMARC1. This checker does not query that name — look it up with the
DNS lookup tool. Not every mailbox provider sends reports.
_dmarc
name for the domain you enter, with no organizational-domain fallback. A leading
www.
or
_dmarc.
is removed, and internationalized names are converted to punycode.
fo,
ri
and
rf
are listed but not evaluated; the "Daily XML" label on
rua
addresses describes the default report interval, not your
ri
value. Tags the tool does not recognise are shown with their raw key.
A DMARC record checker looks up the TXT record at _dmarc.domain, parses tags such as p, rua, ruf, adkim, aspf, pct, and sp, and explains the domain policy and reporting setup.
p=none monitors failures without taking action, p=quarantine asks receivers to send failing mail to spam, and p=reject asks receivers to reject failing mail. Roll out gradually after SPF and DKIM align.
rua receives aggregate XML reports that summarize DMARC pass and fail activity. ruf receives forensic failure samples when receivers support them, but many do not send ruf reports for privacy reasons.
No. DMARC helps receivers evaluate spoofed mail and alignment, but inbox placement also depends on reputation, content, sending infrastructure, list quality, and recipient engagement.