DMARC Setup Guide
Complete guide to setting up DMARC for your domain, from initial deployment to full enforcement.
What is DMARC?
DMARC (Domain-based Message Authentication, Reporting & Conformance) is an email authentication protocol that builds on SPF and DKIM. It allows domain owners to specify how receivers should handle emails that fail authentication checks.
DMARC Record Syntax
A DMARC record is a TXT record published at _dmarc.yourdomain.com. Here's an example of a complete DMARC record:
v=DMARC1; p=reject; sp=reject; rua=mailto:your-rua-token@rua.ddmarc.com; ruf=mailto:your-ruf-token@ruf.ddmarc.com; fo=1; adkim=r; aspf=r; pct=100Copy your record from the dashboard, not from this page
The rua and ruf mailboxes above are placeholders. DDMARC generates a unique token per domain and routes incoming reports by reading that token, so the address in your record belongs to your domain alone. Find the real record under Domains → your domain → DNS & Setup. A record copied from an example collects nothing.
The Rotate tokens action on the same page issues fresh tokens and immediately invalidates the old mailboxes — update DNS as soon as you rotate.
Why relaxed alignment (adkim=r / aspf=r)
Relaxed is the DDMARC default and what the setup wizard generates. It lets a subdomain such as mail.example.com satisfy alignment for example.com, which is how most ESPs and transactional senders are set up. Strict alignment (adkim=s; aspf=s) is an optional hardening step — only move to it once your reports show every legitimate source signing with an exact domain match.
| Tag | Required | Description | Example |
|---|---|---|---|
| v | Required | Version (always DMARC1) | v=DMARC1 |
| p | Required | Policy for domain | p=reject |
| sp | Optional | Subdomain policy | sp=quarantine |
| rua | Optional | Aggregate report URI | rua=mailto:dmarc@example.com |
| ruf | Optional | Forensic report URI | ruf=mailto:forensic@example.com |
| pct | Optional | Percentage of messages to apply policy | pct=100 |
| adkim | Optional | DKIM alignment mode (r=relaxed, s=strict) | adkim=r |
| aspf | Optional | SPF alignment mode (r=relaxed, s=strict) | aspf=r |
| fo | Optional | Failure reporting options | fo=1 |
| rf | Optional | Report format | rf=afrf |
| ri | Optional | Report interval in seconds | ri=86400 |
DMARC Policies
The policy tag (p=) tells receivers what to do with emails that fail DMARC:
p=none—Monitor OnlyTake no action, just collect reports. Use this to start monitoring without affecting delivery.
p=quarantine—QuarantineMark failing emails as suspicious (usually sent to spam folder). Intermediate step before full enforcement.
p=reject—RejectReject failing emails outright. Maximum protection - unauthorized emails won't be delivered.
Recommended Deployment Path
We recommend a phased approach to DMARC deployment. This minimizes risk while you identify and configure all your legitimate email sources.
Monitor
2-4 weeks
p=noneDeploy DMARC in monitoring mode to collect data without affecting email delivery.
Checklist:
- Add the domain in DDMARC — this mints the RUA/RUF tokens your record needs
- Publish the generated DMARC record with p=none
- Identify all legitimate sending sources
- Document third-party email services
Analyze & Fix
2-4 weeks
p=noneReview reports, configure SPF/DKIM for all senders, and fix alignment issues.
Checklist:
- Review aggregate reports in DDMARC
- Add SPF records for all legitimate senders
- Enable DKIM signing on all email sources
- Fix any alignment issues found in reports
Quarantine
2-4 weeks
p=quarantineStart filtering suspicious emails while monitoring for false positives.
Checklist:
- Update policy to p=quarantine
- Start with pct=10 and gradually increase
- Monitor quarantine rates and investigate failures
- Review forensic reports for issues
Enforce
Ongoing
p=rejectFull enforcement. Unauthorized emails are rejected completely.
Checklist:
- Upgrade to p=reject
- Remove pct tag (defaults to 100%)
- Configure MTA-STS for transport security
- Enable BIMI for brand recognition
Automate this path with Policy Rollouts
Rather than editing DNS by hand at each phase, DDMARC can drive the progression for you from the domain's Policy tab. Pick a template and the rollout advances on schedule, with safety gates that pause it if your pass rate drops or report volume is too thin to judge.
- Standard — the conservative none → quarantine → reject path above
- Gradual — steps the percentage through pct=10, pct=50, pct=100 before moving policy
- Fast — for domains whose senders are already fully authenticated
On the same tier, DDMARC can host the DMARC record itself: point _dmarc.example.com at example.com.dmarc.ddmarc.com with a CNAME once, and every later policy change publishes without another DNS edit.
Common Issues
- Third-party senders: Marketing platforms, CRMs, and other services need SPF/DKIM configured
- Email forwarding: Forwarded emails may break SPF — ARC preserves the original authentication result. DDMARC monitors ARC chains from Growth upward.
- Subdomain policy: Don't forget to set
sp=for subdomains