Skip to content
Implementation

Rolling Out DMARC Safely: From p=none to p=reject

Enforcement is where DMARC protects you and where it can hurt you. This is the sequence that gets a domain to p=reject without blocking the invoices, statements and bookings your business depends on.

Every DMARC rollout carries the same tension. The protection only exists at enforcement, and enforcement is exactly where a mistake blocks legitimate email: the monthly statements, the booking confirmations, the invoices from an accounting system nobody remembered. This guide sets out the sequence that resolves that tension, the tags that matter along the way, and the domains most rollouts forget.

The principle: evidence before enforcement

A domain should move to a stricter policy only when the DMARC report data shows that every legitimate source is passing with alignment. Not when a date arrives, not when someone feels confident, and not because a checklist asks for it. The reports are the evidence; the policy change is the decision based on it. Everything in a safe rollout follows from that.

Phase 1: Monitor with reporting

Publish a monitoring policy with an aggregate reporting address:

_dmarc.yourcompany.co.za  TXT  "v=DMARC1; p=none; rua=mailto:dmarc@reports.example"

This changes nothing about delivery. What it does is start the flow of aggregate reports from receiving mail servers, each listing the IP addresses that sent mail as your domain, their volumes and their SPF, DKIM and DMARC results.

Run monitoring long enough to capture your real email patterns. A week catches daily mail. It will miss the monthly statement run, the quarterly newsletter, the annual renewal notices and the system that only emails when something goes wrong. The length of this phase depends on your business, and it should be decided by what the data shows rather than a fixed rule.

Reporting to an external address? If the rua address is on a different domain to the one being reported on, the receiving domain must publish an authorisation record, or many providers will not send the reports. DMARC platforms set this up for you.

Phase 2: Build the sender inventory

Group every source in the reports into three buckets.

BucketExamplesAction
Legitimate and alignedMicrosoft 365 with custom DKIMNone. Keep watching.
Legitimate but failingCRM signing with its own domain, accounting system with no SPF entryFix before enforcement.
Not legitimateUnknown servers abroad sending as your domainNothing to fix. These are what enforcement will block.

Expect some ambiguity. Forwarded mail shows up as failures from servers you do not recognise, often carrying intact DKIM signatures from your own platforms. Recognising forwarding patterns stops you wasting time chasing them or mistaking them for attacks.

Phase 3: Align every legitimate sender

For each legitimate service that is failing, set up authentication that aligns with your domain.

  • DKIM first. Enable custom domain signing so the d= value is your domain. This is the most robust route and survives forwarding. See our DKIM guide.
  • SPF where possible. Add the service to your SPF record, or set a custom return-path on your own subdomain so SPF aligns. Watch the ten lookup limit covered in our SPF guide.
  • Move or retire what cannot be fixed. A service that cannot authenticate as your domain may need to send from a subdomain with its own policy, or be replaced.

Then keep monitoring until the reports confirm the fixes worked across the full cycle of your email.

Phase 4: Quarantine

When legitimate mail is consistently passing, move to quarantine:

"v=DMARC1; p=quarantine; rua=mailto:dmarc@reports.example"

Failing mail now goes to spam rather than the inbox. If something legitimate was missed, it is still recoverable from spam folders, which is why quarantine is a valuable intermediate step. Watch the reports and listen for complaints of missing email. Anything that surfaces gets fixed before the next step.

Quarantine is the safety net. It turns a missed sender from lost email into email in the wrong folder, which gives you time to fix it.

Phase 5: Reject

Once quarantine has held cleanly, move to reject:

"v=DMARC1; p=reject; rua=mailto:dmarc@reports.example"

Forged mail is now refused during delivery. This is the state that stops criminals using your domain for invoice fraud and impersonation. It is also the state to maintain: new services must be aligned before they start sending, or they will be rejected too.

The tags that matter

TagPurposeGuidance
pPolicy for the domainnone, then quarantine, then reject
spPolicy for subdomainsDefaults to p. Set explicitly if subdomains need different treatment.
ruaAggregate report addressAlways set, and make sure someone reviews the data
rufForensic report addressUsually unnecessary; carries privacy considerations
adkim / aspfAlignment mode, relaxed or strictRelaxed is the default and suits most businesses
pctPercentage of mail the policy applies toInconsistently applied by receivers; prefer staged policies

Subdomains and parked domains

Two groups of domains are routinely left out of rollouts, and attackers know it.

Subdomains

Subdomains without their own record inherit the organisational domain’s policy through sp=, or p= if no sp= is set. Make sure an enforced policy on the main domain is not undermined by an sp=none left over from early testing.

Parked and unused domains

Many businesses own domains that never send email: old brand names, alternate extensions, defensive registrations. They are ideal for impersonation because nobody monitors them. Lock them down completely:

parkeddomain.co.za          TXT  "v=spf1 -all"
_dmarc.parkeddomain.co.za   TXT  "v=DMARC1; p=reject; rua=mailto:dmarc@reports.example"
parkeddomain.co.za          MX   0 .

The SPF record authorises nothing, the DMARC policy rejects everything, and the null MX record declares that the domain accepts no email. Because there is no legitimate mail to protect, these domains can go straight to reject.

The short version

  • Monitor with reporting long enough to see your full email cycle.
  • Build the sender inventory from report data and align every legitimate service.
  • Step up to quarantine, confirm nothing legitimate is caught, then move to reject.
  • Check subdomain policy and lock down parked domains immediately.
  • Keep monitoring after enforcement so new services are aligned before they send.

Frequently asked questions

Can we go straight to p=reject?

Only if you are certain every legitimate service is aligned, which is rarely the case without report data. The one common exception is a parked domain that sends no email at all, which can and should go straight to reject.

Should we use the pct tag to phase in enforcement?

It was designed for that, but receivers have never applied partial percentages consistently, and the revised DMARC specification moves away from it. A clean quarantine stage followed by reject is a more predictable path.

Do we need forensic (ruf) reports?

Usually not. Aggregate reports provide what is needed to reach enforcement. Forensic reports can contain message headers and personal information, few providers send them, and they add privacy obligations under POPIA.

What happens to a subdomain that has no DMARC record?

It inherits the policy of the organisational domain, using the sp= tag if it is set and the p= tag if it is not. Subdomains used by specific services can publish their own record when they need different treatment.

Sources and standards

  1. RFC 7489, section 6.3: General Record Format. The p, sp, pct, rua and ruf tags, and their defaults.
  2. Google Workspace Admin Help: Set up DMARC. Google guidance on publishing DMARC and moving to enforcement.
  3. Microsoft Learn: Set up DMARC to validate email in Microsoft 365. Microsoft guidance on publishing and enforcing DMARC.
  4. Microsoft: Outlook’s new requirements for high-volume senders. The April 2025 announcement of SPF, DKIM and DMARC enforcement for domains sending more than 5,000 messages a day.

MailMarq
MailMarq is a managed DMARC service run from Johannesburg. Our team has built and managed business websites, hosting and email infrastructure for South African companies since 2016, and writes these guides from work on real domains.

Find out where your domain stands

Send us your domain. We will review your DMARC, SPF and DKIM set-up, map the services sending as you, and tell you plainly what it would take to reach enforcement. No charge and no obligation.

Scroll to Top