DMARC Checker
Check your domain's DMARC record, policy strength, subdomain policy, and enforcement coverage.
Why DMARC matters
Without DMARC, any server on the internet can send email with your domain in the From address. Recipients have no automated way to know the message is fraudulent. Phishing campaigns, supplier impersonation attacks, and BEC (business email compromise) all rely on this gap.
DMARC closes that gap by publishing a policy in DNS — at
_dmarc.yourdomain.com — that instructs receiving mail servers to check SPF and DKIM alignment, and what to do when those checks fail:
deliver, quarantine, or reject.
The rua= reporting tag provides aggregate visibility into every source sending mail as your domain — including sources you didn't know existed. That data is the foundation of a safe migration from
p=none to
p=reject.
Common DMARC issues
No DMARC record
The domain publishes no TXT record at
_dmarc.. Receiving servers apply their own local policies — often deliver — and you receive no reporting.
Fix: publish v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com to start collecting data.
Policy stuck at p=none
p=none means DMARC is monitoring but not enforcing. Spoofed messages are still delivered to recipients. Many organizations publish p=none to begin with and never advance it.
Fix: analyse rua= reports, align all legitimate senders, then advance to p=quarantine then p=reject.
Partial enforcement (pct < 100)
A pct value below 100 means only a fraction of failing messages are actioned. This is useful during rollout but must not become permanent — it leaves a predictable bypass window.
Fix: raise pct gradually from 10 → 50 → 100 as you confirm clean delivery reports.
Subdomains unprotected
When sp= is absent or set to none, subdomains can be used for spoofing even when the apex domain has a strict policy. Forgotten subdomains are common attack targets.
Fix: explicitly set sp=quarantine or sp=reject once subdomains are authenticated.
Monitor DMARC changes over time
DMARC records can change silently. A deployment that updates DNS may replace or corrupt the record. A vendor migration may introduce a new mail source that breaks alignment, causing legitimate email to be rejected under p=reject.
DomainRisk.io tracks the full DMARC record and policy on every scan. Any change — a policy downgrade, a pct reduction, a record going missing — triggers an alert so you catch regressions before they affect deliverability or let attackers through.
Frequently asked questions
What is DMARC?
What is the difference between p=none, p=quarantine, and p=reject?
What does pct= mean in a DMARC record?
What is the sp= tag and when does it matter?
Do I need SPF and DKIM to use DMARC?
What happens to emails that fail DMARC when p=reject?
How do I safely move from p=none to p=reject?
Start continuous domain security monitoring
DMARC, SPF, DKIM, DNS, SSL, WHOIS and subdomains — monitored continuously with change alerts and an explainable risk score.