The DMARC enforcement journey.
DMARC only stops spoofing once you enforce it at p=reject.
But you don't leap there from p=none. You climb
through p=quarantine one safe step at a time, so
you never block a legitimate email on the way up. Here's the ladder, what each policy means, and how
dmarcula tells you when it's safe to take the next rung.
The three rungs
-
p=none: Monitor. Reports flow in; nothing is blocked. Every domain starts here. You're building a complete picture of who sends email as you. -
p=quarantine: Filter. Mail that fails DMARC is sent to spam/junk instead of the inbox. The cautious middle rung, a safety net that catches spoofing without hard-bouncing anything. -
p=reject: Block. Failing mail is refused outright. This is the destination: real protection. Spoofed mail in your name simply doesn't get delivered.
How to climb safely
The whole game: never advance until your legitimate mail is fully authenticated and aligned. The order that works:
- Stay at none until the picture is clean. Watch until your authentication rate is high and steady, and every legitimate sender (your mail platform, marketing tools, ticketing system) is identified and passing SPF or DKIM with alignment.
- Fix the gaps first. Hunt down sources that should pass but don't: a new ESP you forgot to set up, a tool sending without DKIM.
-
Soft-test a rung with
t=y. DMARCbis (2026) removed the oldpcttag - receivers now treat any value under 100 as 100, sopct=25no longer eases you in, andp=reject; pct=25would reject everything. Instead add thet=ytesting flag: it tells receivers to apply the next-lower policy, sop=quarantine; t=yreports failures while still delivering, andp=reject; t=ybehaves like quarantine. Dropt=yonce the rung runs clean. One catch during the transition:t=yis a new DMARCbis tag, so receivers that haven't adopted DMARCbis yet ignore it and act on the full policy -p=reject; t=ystill rejects at those inboxes. Treatt=yas a partial safety net, not a full brake: the real monitoring happens atp=none, where every receiver only reports, before you ever climb. - Give each rung a week or two. Mail patterns vary by day and week. Let a rung settle and watch for surprises before climbing.
-
Then reject. Once quarantine has run clean,
p=rejectis a small, confident step.
dmarcula does the watching. You don't have to track all this in your head. The journey card on your dashboard watches your authentication rate and your senders, tells you which rung you're on, and nudges you forward the moment the data says the next step is safe, and holds you back when it isn't.
Watch out for
- Don't skip to reject. The most common mistake, and it bounces real mail. Earn each rung.
-
Don't forget subdomains. A separate
sp=policy governs subdomains, so lock those down too, or they become the spoofer's open door. See Subdomains and DMARC for sp, np, and running several. - Forwarding breaks SPF. DKIM saves you. Forwarded mail and mailing lists often fail SPF because the path changed. A valid, aligned DKIM signature survives forwarding, which is why getting DKIM right on every sender matters before you enforce.
- Mind your third parties. Marketing platforms, invoicing tools, help desks. Each needs SPF/DKIM set up and aligned, or they'll fail the moment you enforce.
What's next
- Investigating sources: find and fix the senders holding you back.
- Reading your dashboard: where the journey card lives.
- Check your current rung on your dashboard.