Learn · Email authentication

DMARC policies explained: none → quarantine → reject

The p= tag in your DMARC record is the instruction every mailbox provider follows when a message claiming your domain fails authentication. Getting from monitoring to enforcement is the entire point of DMARC — and rushing it is how companies lose real mail.

The three policies

PolicyWhat receivers do with failing mailUse it when
p=noneDeliver normally, but count it in your aggregate reports. Zero protection, full visibility.You've just published DMARC and are discovering your senders.
p=quarantineTreat as suspicious — in practice, the spam folder. Mistakes are recoverable: misclassified mail sits in spam rather than vanishing.Your known senders pass aligned and you're validating enforcement.
p=rejectRefuse delivery outright. Spoofed mail never reaches a human. The destination.Reports show clean, aligned traffic from every legitimate source.

The supporting tags

pct= is gone. The old percentage tag — p=quarantine; pct=25 to enforce against a quarter of failing mail — was removed by RFC 9989. It was widely misread, inconsistently implemented, and gave a false sense of a gradual rollout. Leaving it in your record is harmless but does nothing; receivers are free to ignore it. Ramp by fixing senders and then moving p=, not by sampling.

The safe playbook

  1. Publish p=none with reporting. Nothing changes for your mail; data starts flowing. Expect surprises — most teams find senders they forgot existed within days.
  2. Fix every legitimate source. Work through your reports: your mail platform, each ESP, the billing system, the support desk. Each needs SPF or (preferably and) DKIM passing aligned to your domain. This is the long stage — typically two to eight weeks depending on how many tools send as you.
  3. Move to quarantine when compliance is stable. A steady 98–100% of legitimate volume passing aligned for a couple of weeks is the usual bar. There is no partial setting to hide behind since pct= was removed, so the ramp is your sender inventory, not a percentage. Forwarded mail will produce some unavoidable stragglers — that's expected and small.
  4. Watch, then reject. If quarantine produces no complaints and reports stay clean for a few weeks, move to p=reject. Your domain is now closed to spoofing at every mainstream provider.
  5. Keep monitoring. New tools get adopted, keys expire, records get edited. The companies that get burned post-reject are the ones who stopped reading their reports.

Rolling back is not failure. If tightening breaks something, drop back one level, fix the source in the reports, and advance again. The staged path exists precisely so mistakes cost a spam-folder incident, not a lost contract.

Not sure where your domain stands right now? The DMARC checker reads your live record and grades it — which stage you’re at, and whether anything in SPF or DKIM would make the next step unsafe.

Common mistakes

Reach p=reject with buttons, not DNS edits

Hosted DMARC is included on every Canny Pigeons plan — even Free. Publish one CNAME and change policy from the dashboard when your reports say you're ready.

Start free