How to Set Up DMARC
DMARC (Domain-based Message Authentication, Reporting and Conformance) builds on SPF and DKIM. It tells receiving servers what to do with mail that fails authentication, and sends you reports on who is sending as your domain. Set up correctly, it is what actually stops spoofed email from reaching inboxes.
Before you start
The DMARC record explained
DMARC is a single TXT record published at _dmarc.yourdomain:
v=DMARC1— required version tag.p— the policy:none,quarantine, orreject.rua— where to send aggregate (daily summary) reports.pct— percentage of failing mail the policy applies to (use for gradual enforcement).sp— an optional separate policy for subdomains;aspfandadkimset alignment to strict or relaxed.
How to set up DMARC step by step
- Publish a monitoring record. Start with
v=DMARC1; p=none; rua=mailto:dmarc@yourdomainat_dmarc.yourdomain. - Collect reports. Aggregate reports arrive at your
ruaaddress; a DMARC report analyzer makes them readable. - Find and fix unaligned senders. Identify every legitimate service and make sure it passes SPF or DKIM and aligns with your From domain.
- Raise the policy. Move to
p=quarantine(failing mail goes to spam), optionally ramping withpct. - Enforce. Once reports show only authorized senders passing, move to
p=reject— failing mail is refused outright.
Why p=none is not enough
The most common DMARC mistake is leaving the policy on p=none for years. In monitor mode, receivers report failures back to you but reject nothing — so your domain can still be spoofed. The whole point of the rollout is to reach quarantine or reject. ZoneWatcher's DMARC monitor flags a record stuck on p=none, a missing rua, or a pct below 100.
If mail is still landing in spam after this, work through why is my email going to spam.