Skip to main content

Confirm

Are you sure?

Email · Checked once per domain

DMARC policyWhat it checks and how to fix it

What it checks

Reads the TXT record at _dmarc.<domain>. Passes when a single DMARC record sets p=quarantine or p=reject, warns when the policy is p=none (monitor only) or cannot be read, or when more than one DMARC record is published, and fails when there is no DMARC record.

Why it matters

DMARC tells receiving mail servers what to do with messages that claim to come from your domain but fail SPF and DKIM. With no record, or with p=none, spoofed mail using your exact address still reaches inboxes, which is how most brand phishing works. Gmail and Yahoo also require a DMARC record from bulk senders.

How to fix it

Publish exactly one DMARC record, and move it to enforcement in stages so legitimate mail is not caught.

1. Monitor. Start with p=none and a reporting address, and read the aggregate reports for two to four weeks:

_dmarc.example.com.  3600  IN  TXT  "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"

2. Fix your senders. Every service that sends as your domain (your mail provider, newsletter tool, CRM, transactional mail) must pass SPF or DKIM with your domain aligned. The reports show which ones do not.

3. Enforce. Move to quarantine, optionally for a share of the mail first, then to reject:

_dmarc.example.com.  3600  IN  TXT  "v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc-reports@example.com"
_dmarc.example.com.  3600  IN  TXT  "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com"

A domain that never sends mail can go straight to v=DMARC1; p=reject;, together with the SPF record v=spf1 -all.

In Cloudflare DNS the record name is _dmarc; Cloudflare's free DMARC Management also collects and summarizes the reports for you.

dig +short TXT _dmarc.example.com

Monitor this automatically

Full Stack Audit runs this check and 126 others on your site on a schedule, and emails you when one that passed starts failing.

More Email checks