What p=none actually does

p=none is DMARC's monitoring policy: it explicitly asks receivers not to change how they handle a message on the basis of DMARC. It gives you aggregate reports — visibility into who is sending as your domain and whether they align — but it provides no protection against spoofing. It is the correct first stage of a deployment and the wrong place to stop.

Updated July 14, 2026 · DMARC

v=DMARC1; p=none; rua=mailto:[email protected]

What you gain

Aggregate reports. Receivers send you XML summarising the mail they saw claiming to be from your domain: source IP, volume, whether SPF and DKIM passed, and crucially whether they aligned. This is the only practical way to inventory your own senders — and almost every organisation discovers at least one it had forgotten.

What you do not gain

Protection. This is the part that gets glossed over. p=none is not a weak enforcement setting; it is an explicit instruction not to enforce. A phisher spoofing your domain is delivered exactly as they would be if you had no DMARC record at all. You will see them in your reports. Nothing will stop them.

DMARC passes when at least one of SPF or DKIM both passes and aligns. Publishing all three records is not enough. If SPF passes for your ESP's bounce domain but the visible From: is your domain, SPF does not align, and it contributes nothing to DMARC. Alignment is where most "but I set everything up!" failures actually live.

Before you raise enforcement

  1. Collect reports across normal and infrequent sending cycles. The quarterly invoice run is the one that bites.
  2. Classify every source. Anything you cannot identify is either a sender you forgot or an attacker, and you need to know which.
  3. Get aligned DKIM working wherever possible — it survives forwarding, SPF does not.
  4. Check forwarding, mailing lists, support desks, and vendor workflows specifically. These are where enforcement breaks legitimate mail.
  5. Move to quarantine, then reject, reading reports after each step. Use sp= to hold subdomains back if they are not ready.
Do not use pct= to stage this. It was removed from the DMARC specification by RFC 9989 in May 2026. A lot of otherwise good tutorials still recommend it.

Check your record

We parse the live record and report policy, alignment mode and reporting addresses.

Frequently asked

Does DMARC p=none protect against spoofing?

No. p=none explicitly asks receivers not to alter message handling based on DMARC. Someone spoofing your domain will still have their mail delivered exactly as it would have been without a DMARC record. What p=none gives you is reporting, so you can see the spoofing — not stop it.

Is p=none enough for Gmail's bulk sender requirements?

Yes, for that specific requirement. Google requires bulk senders to publish a DMARC record and accepts p=none as the minimum policy. It satisfies the checkbox. It does not protect your domain, and you should treat it as a starting line rather than a finish line.

How long should I stay at p=none?

Long enough to see a full sending cycle — including the infrequent stuff. Invoicing, annual renewals, the HR system, the ticketing tool, the one marketing blast a quarter. If you enforce before you have observed a rare-but-legitimate sender, you will reject your own mail. For most organisations that is several weeks to a few months, not days.

Related

Automate this → — free tier, public pricing, API key emailed in about thirty seconds. No call with anyone.