Free DMARC checker — no account, no card
Is your DMARC policy protecting anything?
We read the record at _dmarc, grade the policy, and check how strictly it asks receivers to align SPF and DKIM — because a record that says p=none enforces nothing. SPF, DKIM, MX and 39 blacklists come with it, in the same run.
What we read at _dmarc
A record is not a policy.
DMARC in one minute
What receivers should do when SPF and DKIM say no.
SPF and DKIM produce a verdict. DMARC is the instruction that turns that verdict into an action — and the reports that tell you who is sending as you.
A record that enforces something
v=DMARC1; p=quarantine; rua=mailto:[email protected]; sp=quarantine; adkim=s
p=none is a microphone, not a shield. It asks receivers to report what they see and do nothing about it. That is the right place to start and the wrong place to stay: a domain that has been sitting on p=none for a year is a domain anyone can still spoof. The ladder is none → quarantine → reject, and most domains never climb it because nobody is reading the reports.
Alignment is where it quietly breaks. A newsletter tool can pass its own SPF while sending From: your domain — SPF says pass, DMARC says fail, because the domain that authenticated is not the domain your reader sees. From your DNS we read how strictly your record demands alignment; seeing which of your senders actually meets it takes the DMARC reports receivers send back — the thing monitoring collects, and the reason you move to reject without losing mail.
Climbing to enforcement
none → quarantine → reject, one rung at a time.
Enforcement is not a switch you flip. It is a ramp you walk, watching your reports at every step so the only mail you ever block is mail that was never yours.
Ramping a policy into force
v=DMARC1; p=quarantine; pct=25; rua=mailto:[email protected]
The three policies do very different things.
p=none tells receivers to report and act on nothing.
p=quarantine files failing mail under spam, where a
recipient can still fish it out. p=reject refuses it at
the SMTP handshake — it never arrives, and the forger gets a bounce. Only the last two cost a
spoofer anything.
pct= is how you climb without falling.
p=quarantine; pct=25 applies the policy to a quarter of
failing mail and treats the rest as none. You watch the reports, confirm that only forgeries are
being caught, then step 25 → 50 → 100 and finally to p=reject.
Each rung is reversible in the time DNS takes to propagate.
Most domains stall on the first rung. Since February
2024, Google and Yahoo have required anyone sending bulk mail to them to publish a DMARC record at
all — and p=none satisfies the letter of that
requirement. So millions of domains published none, ticked the box, and stopped. The record exists.
The protection does not.
Where DMARC actually passes
An SPF pass and a DKIM pass are not a DMARC pass.
DMARC does not care that a check passed. It cares that the domain which passed it is the domain your reader sees. That single condition is where almost every legitimate sender trips.
Alignment is a comparison, not a check. DMARC needs at
least one of two things to line up with your From: domain. SPF alignment compares the hidden Return-Path
— the envelope your mail server bounces to — against your From:. DKIM alignment compares the
d= domain in the signature against your From:. Pass either,
and DMARC passes. Pass neither, and it fails no matter how green SPF and DKIM looked on their own.
Relaxed or strict decides how close is close enough. The
default, adkim=r and aspf=r,
accepts an organisational match: mail.yourdomain.com aligns
with yourdomain.com. Strict —
adkim=s, aspf=s
— demands an exact string match and will fail a subdomain you legitimately sign from. Start relaxed.
Reach for strict only when you control every host that signs your mail.
This is why your newsletter tool fails. It sends with a
Return-Path like bounces.themailer.com, so it passes its own
SPF — but that is the mailer's domain, not yours, and SPF alignment fails. The only rescue is DKIM: if
the vendor signs with d=yourdomain.com because you added the
CNAME records they asked for, DKIM aligns and DMARC passes. Most alignment failures are simply a sender
whose DKIM you never finished setting up.
Reading versus seeing
A lookup shows the record. Only reports show the senders.
What the aggregate reports contain. Every receiver that
honours your rua= address sends back an XML summary, usually
once a day. It lists each source IP that sent mail using your From: domain, how many messages, whether
SPF and DKIM passed, whether each one aligned, and which disposition your policy caused. Not the content
of anyone's mail — the verdicts. Read across a week of them from Google, Microsoft 365 and Yahoo and you
have the full census of who sends as you.
Reading DNS is not the same as ingesting reports. A
checker resolves your record in under a second and tells you the policy, the syntax, the alignment mode.
What it cannot tell you — because it is not in DNS — is whether your CRM, your invoicing system or your
support desk actually aligns in the wild. That answer lives only in the aggregate reports, which is why
you cannot reach p=reject blind: without ingesting them you
are guessing which of your own senders you are about to refuse.
The subdomain is the door left open. A subdomain with no
record of its own inherits your organisational policy — but only as far as
sp= allows. Set p=reject
on the apex and leave sp=none, and
news.yourdomain.com is wide open while the domain looks
locked. Spoofers know this. They rarely forge the name you defend; they forge the subdomain you forgot
to cover.
Five ways enforcement quietly fails
The record looks fine. It still protects nothing.
Common questions
About DMARC, specifically.
How it works
Real DNS queries, not a cached database.
We query your records live, the way Gmail or Outlook would at the moment of delivery. What you see is what receivers see.
- 1 You enter a domain. No verification needed — the records we read are public DNS, the same ones every mail server reads.
- 2 We run ~90 live queries. DNS records, selector probes, and one lookup per blacklist — about 40 seconds in total.
- 3 Every finding is scored and explained. Problems that cost you deliverability today, watches that will — each with numbered steps to fix it.
- 4 The report gets its own link. It stays at that URL: send it to your host, your IT provider or your client instead of a screenshot. Public DNS only — we store the answers, never your mail.
The other free checks