DNS & Website Tools

How to Set Up a DMARC Policy Step by Step

DMARC tells receivers what to do when mail claiming to be from your domain fails authentication, and it sends you reports about it. Moving straight to a strict policy can block your own mail, so the safe route is to monitor first, fix what fails, and then enforce gradually.

Last updated: 2 November 2026

Open DMARC Generator →

Step-by-step

  1. Make sure SPF and DKIM are set up for every service that sends mail with your domain.
  2. Open the DMARC Generator, enter your domain and choose p=none.
  3. Add an aggregate report address (rua). A dedicated mailbox or a DMARC reporting service works best, because reports can be frequent.
  4. Publish the record as a TXT record at _dmarc on your domain and check it with the DMARC Validator.
  5. Read the reports for a few weeks. Fix any legitimate sender that fails by correcting its SPF or DKIM setup.
  6. Move to p=quarantine, optionally with a small pct such as 10, and raise the percentage over time.
  7. When no legitimate mail is failing, move to p=reject.

How DMARC passes

DMARC passes when SPF or DKIM passes and the domain used aligns with the visible From domain. Relaxed alignment, the default, accepts subdomains of the From domain. Strict alignment requires an exact match.

Reading the reports

Aggregate reports are XML files sent by receivers, usually once a day. They list the sending servers, how many messages each sent and whether SPF and DKIM passed. They are hard to read by hand, so many people use a free or paid DMARC reporting service and point rua at it.

Why legitimate mail fails

The usual causes are a service that was never added to SPF, a service that signs with its own domain instead of yours, and forwarding. Forwarding often breaks SPF, so DKIM that survives the forward matters. Fix these before you enforce.

Subdomains and rollout

The sp tag sets a separate policy for subdomains. A subdomain with no DMARC record of its own uses the policy of the organizational domain. Mailbox providers such as Gmail and Yahoo require SPF, DKIM and a DMARC policy from bulk senders, so even p=none is worth publishing.

USE THE TOOL

Finish the task with DevUtilityKits

Use the relevant online utility, check the result, and continue with your development workflow.

Open DMARC Generator →Open DMARC Validator →Open SPF Validator →Open DKIM Validator →
FAQ

Frequently asked questions

What should my first DMARC record be?

Start with p=none and a rua address, for example v=DMARC1; p=none; rua=mailto:dmarc@example.com. It collects reports without affecting delivery.

How long should I stay on p=none?

Long enough to see all your regular senders in the reports, often a few weeks. Move on once legitimate mail passes.

What does pct do?

It applies the policy to only that percentage of failing mail, which lets you roll out quarantine or reject gradually.

Why am I not getting DMARC reports?

Check the rua address for typos and the mailto: prefix. If it is on another domain, that domain must publish an authorization record. The DMARC Validator checks these.

Do I need DMARC if I have SPF and DKIM?

Yes. SPF and DKIM do not tell receivers what to do with failures, and DMARC adds the policy and the reporting.