DMARC · rollout
Moving DMARC to reject without breaking your mail
Moving to p=reject takes five stages over two to three weeks: publish p=none with a rua address, read the daily reports to inventory every legitimate sender, align each on SPF or DKIM, run p=quarantine for one to two weeks, then p=reject. Never tighten before the reports are clean.
By Tom GernezUpdated 5 min read
Key points
- The risk is not rejection itself: it is a legitimate sender still unaccounted for when you tighten.
- Two to four weeks of monitoring are needed to see a full monthly cycle go past.
- An email provider aligns DKIM easily; it is SPF alignment that needs a custom return path.
- Strict alignment (adkim=s, aspf=s) comes last, once rejection has settled.
- A domain that sends nothing goes to reject immediately, with no monitoring period.
The real risk, and what it is not
Moving to p=reject never breaks a correctly authenticated message. The question is therefore not “is rejection dangerous” but “have I actually inventoried everything that sends in my name”. The typical casualty is not the main mail system, which is always identified: it is the invoicing package bought six years ago, the recruitment platform, the e-signature tool, the newsletter an intern set up.
Those senders are not recovered by memory. They are recovered from the aggregate reports, which list every IP address that sent under your name, whatever the reason.
The procedure, stage by stage
- 01
Stage 0 · Establish what exists
Before publishing anything, look at what is already there. A forgotten record, two competing SPF records, an expired DKIM key: half the difficulties are visible at this point.
dig +short TXT example.com dig +short TXT _dmarc.example.com - 02
Stage 1 · Observe, two to four weeks
Publish a policy that blocks nothing and a report address on a dedicated mailbox. Allow a full monthly cycle: payroll, reminders, the quarterly newsletter if it falls in the window.
_dmarc IN TXT "v=DMARC1; p=none; rua=mailto:reports@example.com" - 03
Stage 2 · Inventory and align
For every source appearing in the reports, decide: legitimate or not. Each legitimate source then has to align on at least one of the two checks. In practice DKIM is the simpler: most providers offer to have you publish two or three records on your domain, and alignment follows.
- 04
Stage 3 · Handle the providers' SPF case
A provider sending with its own return address passes SPF on its own domain, so alignment fails. The fix is to enable a custom return path with them, under a subdomain of yours, then publish the record they give you. Watch the ten-lookup limit while you are there: this is the moment it gets exceeded.
- 05
Stage 4 · Quarantine, one to two weeks
Once the reports show only known, aligned sources, move to quarantine. This stage exists to catch the forgotten sender: their messages go to junk and somebody complains, instead of disappearing silently.
_dmarc IN TXT "v=DMARC1; p=quarantine; rua=mailto:reports@example.com" - 06
Stage 5 · Reject, then strict alignment
Two weeks without incident, and rejection can be published. Strict alignment comes afterwards, separately: it is a second change with its own week of observation, because it invalidates the subdomains that were passing on tolerance until then.
_dmarc IN TXT "v=DMARC1; p=reject; rua=mailto:reports@example.com; adkim=s; aspf=s"
Reading the reports without losing your week
An aggregate report is a compressed XML file, sent once a day per provider. Opened in a text editor it is unreadable. What you are looking for, though, comes down to three questions.
- Which IP addresses are sending under my name, and which do I not recognise?
- For each recognised source, is alignment achieved through SPF, through DKIM, or through neither?
- Is the volume from an unknown source increasing?
A small firm's volumes are low: a few dozen sources in total, of which three or four account for 95% of traffic. Once the inventory is done, the monthly read takes a few minutes.
The special cases that keep coming up
| Situation | What to do |
|---|---|
| Domain that sends no email | Immediate rejection, no monitoring, with an empty SPF record: v=spf1 -all. |
| Subdomains never used | Covered by inheritance; sp=reject says so explicitly, which beats assumed inheritance. |
| Automatic forwarding to personal addresses | SPF breaks on forwarding, DKIM survives if nothing is rewritten. This is the decisive argument for never relying on SPF alone. |
| Mailing lists that rewrite the subject | The DKIM signature is invalidated. Ask the list to enable sender rewriting, or to implement ARC. |
| Changing provider mid-rollout | Drop back to quarantine for the switchover, then climb again. Rejection is not a state to be defended at any cost. |
What this procedure does not cover
It protects your domain name. It does nothing against a cousin domain or a misleading display name, both covered in the article on what DMARC does not stop.
It also assumes you know the list of your own domains. Registered trade marks, former trading names and defensively bought domains are regularly forgotten, and those are the ones nobody watches.
Common questions
Sources
Definitions
Read next
- DMARC: the complete guide
What DMARC is, how to read the record, how to publish it and how to move it to rejection without breaking your mail. Written by a consultant who deploys it, with the exact values.
- p=none, quarantine or reject: which to choose
The three DMARC policies, what they actually do to a message, and why staying at p=none amounts to having installed nothing. With the decision rule, and what pct= and sp= really do.
- SPF: the ten DNS lookup limit
Past ten DNS queries, an SPF record returns permerror and stops protecting the domain, with nothing visibly breaking. How to count, how to get back under the limit, and why flattening is a trap.
Want to know what is published on your domain? The check is free, takes no sign-up, and reads only public records. Check your domain
Tom Gernez · Independent information security consultant. Ruvalin sets up email authentication for small French firms and professional practices.