DMARC Checker

Validate your DMARC policy and get a recommended record for your next step.

A

Grade

Excellent

DMARC record at _dmarc.wikimedia.org

v=DMARC1; p=reject; rua=mailto:dmarc-rua@wikimedia.org;

Results

  • Ok: Policy is "p=reject": failing emails are rejected. This is the strongest protection.
  • Ok: text-lb.drmrs.wikimedia.org has no own DMARC record, so it inherits the policy of wikimedia.org (using sp= if set).

Tags explained

v=DMARC1 Version. Must be DMARC1.
p=reject Policy: reject failing emails.
rua=mailto:dmarc-rua@wikimedia.org Aggregate (daily) reports are sent to: mailto:dmarc-rua@wikimedia.org.

Recommended record

Publish this as a TXT record at _dmarc.wikimedia.org. Replace the report address with a mailbox you control.

v=DMARC1; p=reject; rua=mailto:dmarc-rua@wikimedia.org

Check the SPF record of text-lb.drmrs.wikimedia.org →

What is DMARC?

DMARC (Domain-based Message Authentication, Reporting and Conformance, RFC 7489) is a DNS TXT record that protects your domain from email spoofing. It builds on SPF and DKIM and does three things:

  1. Alignment: it requires that the domain checked by SPF or DKIM matches the domain in the visible From address. Without DMARC, a scammer can pass SPF with their own domain while showing yours to the reader.
  2. Policy: it tells receivers what to do with mail that fails: nothing, send it to spam, or reject it.
  3. Reporting: it asks receivers to send you reports about all mail using your domain, so you can see who is sending as you.

The record lives at _dmarc.yourdomain.com and looks like this:

v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com

How to use the DMARC checker

  1. Enter your domain. The checker looks up _dmarc.yourdomain; for a subdomain without its own record, it checks the parent domain, as receivers do.
  2. You get a grade from A to F, a list of problems and good points, and every tag explained.
  3. Below the results you get a recommended record: the safe next step for your domain, ready to copy.

How to read the results

  • Grade: A is a valid record with p=quarantine or p=reject and reporting enabled. p=none and missing reports lower the grade; a missing or invalid record gets an F.
  • Results: each finding in plain English, from the most serious to the positive ones.
  • Tags explained: what each part of your record does.
  • Recommended record: your current settings moved one step forward (none → quarantine → reject), always with reporting.

DMARC tags explained

TagMeaningValues
vVersion. Required, must be first.DMARC1
pPolicy for the domain. Required.none, quarantine, reject
spPolicy for subdomains. Defaults to p.Same as p
ruaWhere to send daily aggregate reports.mailto: addresses, comma separated
rufWhere to send per-message failure reports. Few providers send them.mailto: addresses
pctPercentage of failing mail the policy applies to. Defaults to 100.0–100
adkimDKIM alignment mode.r relaxed (default), s strict
aspfSPF alignment mode.r relaxed (default), s strict
foWhen to generate failure reports.0, 1, d, s

p=none vs p=quarantine vs p=reject

p=none: monitoring

Receivers take no action; they only send you reports. It is the right first step because you learn which services send mail as you before enforcing anything. But it does not protect you: spoofed mail is still delivered. Staying on p=none forever is one of the most common DMARC mistakes.

p=quarantine: spam folder

Mail that fails DMARC goes to the recipient's spam folder. It is a good intermediate step: if you forgot a legitimate sender, its mail ends up in spam instead of disappearing.

p=reject: full protection

Mail that fails is rejected and never reaches the recipient. This is the goal: nobody can send email that appears to come from your domain. It is also required for BIMI (showing your logo next to your emails in Gmail and other providers).

A safe path to p=reject

  1. Make SPF and DKIM work first for every service that sends mail as you. Check SPF with our SPF Checker.
  2. Publish p=none with rua and read the reports for 2–4 weeks. Use a DMARC report service or a dedicated mailbox; the XML reports are hard to read by hand.
  3. Fix every legitimate sender that fails: add it to SPF, enable DKIM signing with your domain in its settings.
  4. Move to p=quarantine. Optionally use pct=25, then 50 and 100 to roll out gradually.
  5. Move to p=reject once reports show only spoofing in the failures.

Common DMARC errors

  • Record on the wrong name: DMARC must be published at _dmarc.example.com, not on the root of the domain.
  • Multiple DMARC records: receivers ignore DMARC entirely when there is more than one.
  • Missing or misplaced v=DMARC1: it must be the very first tag.
  • Missing p tag: the policy is required.
  • rua without mailto:: write rua=mailto:reports@example.com, not just the address.
  • Reports to another domain: if rua points to a different domain, that domain must publish an authorization record, or reports are not sent. Report services set this up for you.
  • Forgetting subdomains: sp=none leaves subdomains open to spoofing even with p=reject on the main domain.

Gmail, Yahoo and Microsoft requirements

Since February 2024, Gmail and Yahoo require bulk senders (more than 5,000 messages a day to their users) to have SPF, DKIM and a DMARC record with at least p=none, with the From domain aligned. Microsoft introduced similar rules for Outlook.com in 2025. Even small senders get better deliverability with DMARC in place, and every domain benefits from the protection against spoofing.

Domains that do not send email

Parked domains and domains used only for websites are attractive to spammers precisely because nobody watches them. Protect them with two records:

example.com         TXT  "v=spf1 -all"
_dmarc.example.com  TXT  "v=DMARC1; p=reject"

This tells every receiver that no mail from this domain is legitimate. You can verify both records with the DNS Lookup.

Frequently asked questions

What is DMARC?

DMARC (Domain-based Message Authentication, Reporting and Conformance) is a TXT record at _dmarc.yourdomain that tells receivers what to do with email that fails SPF and DKIM checks, and where to send reports.

What is the difference between p=none, quarantine and reject?

p=none only monitors and sends reports. p=quarantine sends failing mail to spam. p=reject blocks it completely. Start with none, read the reports, then move to quarantine and reject.

Do Gmail and Yahoo require DMARC?

Yes. Since 2024, Gmail and Yahoo require a DMARC record (at least p=none) for anyone sending more than 5,000 emails a day to their users, plus SPF and DKIM.

What are rua reports?

The rua tag sets the address that receives daily aggregate reports in XML. They show which servers send mail as your domain and whether it passes SPF and DKIM.

What does alignment (adkim, aspf) mean?

DMARC passes only if the domain in SPF or DKIM matches the From domain. Relaxed alignment (r, the default) accepts subdomains of the same domain; strict (s) requires an exact match.

How long before I can move to p=reject?

Typically 2–8 weeks. Monitor reports with p=none until all your legitimate senders pass, switch to quarantine, and move to reject once nothing legitimate is failing.

Related tools

Last updated: