⚠ DMARC enforcement

How to fix DMARC p=none

p=none only watches — it does not stop spoofing. Here is the safe, staged path to p=reject without blocking your own mail.

Guide · 3 min read · updated 2026-08-01

Why p=none is not protection

A DMARC record with p=none tells receivers to take no action on mail that fails — it only sends you reports. Spoofed mail still reaches inboxes. Monitoring is a useful first stage, but it is not the goal.

Real protection begins at p=quarantine and p=reject, where receivers actually withhold or block forged mail.

Before you enforce

Enforcement blocks any mail that fails DMARC — including your own, if a legitimate sender is not set up correctly. So first make sure every real sender passes SPF or DKIM in alignment with your domain.

Use your aggregate reports for a few weeks to build a complete inventory of who sends as you: your mailbox provider, marketing platform, CRM, invoicing tool, help desk, and so on. Each must be authenticated before you tighten the policy.

The staged rollout

Move in steps, watching reports at each stage:

  1. Publish p=none with a rua address and collect reports for 2–4 weeks.
  2. Fix every legitimate sender until it passes SPF or DKIM with alignment.
  3. Move to p=quarantine, optionally with pct=25 to apply it to a fraction of mail first.
  4. Raise the percentage to pct=100, then drop pct entirely.
  5. Switch to p=reject once quarantine shows no legitimate mail failing.

Common breakage and fixes

Third-party senders that are not aligned are the usual culprit. Add the provider's SPF include, set up custom DKIM signing with them, or send their mail from a dedicated subdomain with its own policy.

Forwarding breaks SPF because the forwarding server becomes the sender — but DKIM survives forwarding, which is exactly why DMARC accepts a pass from either. Making sure DKIM is solid protects you here.

Check your own domain

Run a free live scan and see exactly where fix DMARC p=none stands for your domain.

DMARC Checker ▸

Frequently asked questions

How long should the move from none to reject take?

For most domains a few weeks to a couple of months — long enough to inventory senders from reports and fix any that fail before enforcing.

What does the pct tag do?

pct applies your policy to only a percentage of failing mail (e.g. pct=25). It lets you ramp enforcement gradually and watch for problems before going to 100%.

Will p=reject bounce my own mail?

Only if a legitimate sender fails DMARC. That is why you authenticate every real sender and watch quarantine reports before switching to reject.

Can subdomains have a different policy?

Yes. The sp tag sets the policy for subdomains independently of the main domain's p tag.

// More guides
What is DMARC?
Email authentication
How to set up an SPF record
SPF / sender authorization
How to enable DNSSEC
DNSSEC
HTTP security headers explained
Web security headers