Skip to content

Free tool

DMARC record checker

Enter a domain to read its DMARC record. We check the policy, reporting address, percentage and subdomain policy, and fall back to the parent domain the way receivers do.

Public DNS lookups only. Nothing is sent to the domain.

Quick answer

A DMARC record is a TXT record at _dmarc.<domain> starting with v=DMARC1 and a p= policy. p=none only monitors; p=quarantine and p=reject protect you from spoofing. Gmail and Yahoo require at least p=none for bulk senders.

What this tool checks

A valid record exists. We look up _dmarc.<domain>. For a subdomain without its own record, we check the organizational domain, since receivers apply its policy (or its sp= policy).

Policy strength. p=none is monitoring only. p=quarantine sends failing mail to spam and p=reject blocks it.

Reporting. Without rua= you get no aggregate reports, so you cannot see who sends as your domain before tightening the policy.

Gaps in coverage. pct below 100 applies the policy to part of your mail only, and sp=none leaves every subdomain open to spoofing.

DMARC tags at a glance

Main DMARC tags and recommended values
TagWhat it doesRecommended
pPolicy for the domainquarantine, then reject
spPolicy for subdomainsOmit, or match p
ruaWhere aggregate reports goA mailbox you read
pctShare of failing mail the policy applies to100
adkim / aspfStrict (s) or relaxed (r) alignmentRelaxed (default)

How to fix common issues

No DMARC record

Publish a TXT record at _dmarc.yourdomain.com with v=DMARC1; p=none; rua=mailto:[email protected]. Make sure SPF or DKIM passes and aligns with your From domain first.

Stuck on p=none

Read a few weeks of aggregate reports. When every legitimate source passes, move to p=quarantine, optionally with pct=25 then 100, and finally to p=reject.

Malformed record

The record must start with v=DMARC1 and include a p= tag with none, quarantine or reject. Separate tags with semicolons and publish only one record.

Subdomains left open

Remove sp=none so subdomains inherit p=, or set sp=reject if no subdomain sends mail.

Frequently asked questions

Is p=none enough?

It satisfies the Gmail and Yahoo bulk sender requirement, but it does not stop spoofing. Use it to collect reports, then move to quarantine or reject.

Does a subdomain need its own DMARC record?

No. Without one, receivers use the organizational domain’s record, applying sp= if set and p= otherwise. This tool shows when a policy is inherited.

What is DMARC alignment?

DMARC passes only if SPF or DKIM passes for a domain that matches the visible From domain. Relaxed alignment accepts a parent or subdomain match; strict requires an exact match.

Will p=reject block my newsletter?

Only if your email platform does not authenticate with your domain. Check that DKIM signs with your domain and passes before moving to reject.

Does this tool contact my mail server?

No. It reads public TXT records from DNS only, with a timeout on each query.

Related tools and guides

Authenticated sending, set up for you.

3,000 emails a month free. Unlimited subscribers on every plan. Campaigns, automations and transactional email on one domain.