Table of Contents
- What p=reject Actually Means and Why It Is a Project
- The prerequisites are operational, not cosmetic
- The Staged Rollout From p=none to p=reject
- Five phases that prove readiness
- Reading DMARC Reports Before You Enforce
- The fields that decide readiness
- Subdomain Policy sp= and Forgotten Subdomains
- Find the domains nobody remembers
- What Breaks at reject and How ARC Helps
- ARC is a mitigation, not an exemption
- The Rollback Plan If Legitimate Mail Starts Failing
- A realistic failure path
- Monitoring After the Switch and Final Takeaways
- The discipline that keeps enforcement healthy
Do not index
Do not index
A marketing team flips its DMARC record to
p=reject after a sudden wave of spoofed messages. Within hours, password resets from the support platform stop arriving, a billing notification is rejected, and a forgotten marketing subdomain keeps sending unauthenticated mail. The team didn't make a bad DNS edit. It skipped the sender inventory and alignment work that makes enforcement safe.DMARC policy reject is the correct end state for domain protection, but it isn't a one-line security upgrade. It's the result of a staged deliverability program that identifies every legitimate sender, fixes SPF and DKIM alignment, tests subdomains and forwarding paths, and keeps a rollback ready. MailAdept treats that work as an ongoing operational discipline, not a checkbox.
Table of Contents
What p=reject Actually Means and Why It Is a ProjectThe prerequisites are operational, not cosmeticThe Staged Rollout From p=none to p=rejectFive phases that prove readinessReading DMARC Reports Before You EnforceThe fields that decide readinessSubdomain Policy sp= and Forgotten SubdomainsFind the domains nobody remembersWhat Breaks at reject and How ARC HelpsARC is a mitigation, not an exemptionThe Rollback Plan If Legitimate Mail Starts FailingA realistic failure pathMonitoring After the Switch and Final TakeawaysThe discipline that keeps enforcement healthy
What p=reject Actually Means and Why It Is a Project
p=reject is DMARC's strictest enforcement mode. Under RFC 7489, a receiving server should reject a message during the SMTP transaction when it fails DMARC. The message generally receives a 5xx-style response instead of reaching the inbox or spam folder.That behavior is materially different from the other policies:
p=nonecollects reports but asks receivers to take no enforcement action.
p=quarantinetells receivers to treat failing messages as suspicious, often by placing them in junk.
p=rejecttells receivers to refuse failing messages before delivery.
The DNS edit is easy. The project around it is difficult because DMARC evaluates alignment, not just isolated SPF or DKIM success. A message can pass SPF or DKIM and still fail DMARC when the authenticated domain doesn't align with the visible
From domain.
The prerequisites are operational, not cosmetic
Before changing policy, the sending organization should have:
- A complete SPF record at the organizational domain, with every legitimate sending path represented and no unnecessary duplication.
- DKIM signing on every sending platform, including transactional, marketing, support, billing, and customer-facing systems.
- A monitored
rua=address, so aggregate reports reveal source IPs, authentication results, policy evaluation, and message counts.
- At least 30 days of clean aggregate reports, with legitimate sources identified and alignment failures understood.
- A documented sender inventory, including third-party services, legacy applications, subdomains, forwarders, and mailing-list paths.
The phrase “clean reports” doesn't mean every message must pass. Known forwarding or list behavior can remain imperfect. It means the team understands each material failure and can distinguish legitimate infrastructure from spoofing.
A domain that publishes DMARC but leaves
p=none in place still has limited protection against spoofing. Global monitoring found that 83.9% of domains had no visible DMARC record in December 2025, while only 2.5% enforced p=reject, according to the large-scale analysis summarized by dmarc adoption research. The gap shows why publishing a record isn't the same as operating an enforcement program.For technical context, the SPF, DKIM and DMARC explained guide covers how the three controls interact. The practical recommendation is direct: don't move to reject until every legitimate source has an owner, an authentication method, and a report-backed alignment result.
The Staged Rollout From p=none to p=reject
A safe rollout moves enforcement gradually. Each policy change should answer a specific operational question, and every percentage increase should be followed by at least one to two weeks of stable aggregate reports before the next change.
Five phases that prove readiness
Phase 1 starts with observation. Publish
p=none with rua= enabled. The team uses reports to map source IPs, DKIM signing domains, visible From domains, and unknown senders. Nothing is blocked yet, so this phase exposes the sending estate without disrupting inbox placement.Phase 2 introduces limited quarantine. A record such as the following applies quarantine to only part of failing traffic:
v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc-reports@example.comThis tests whether the known inventory is complete and whether receivers treat unexpected failures as suspicious. A legitimate message landing in junk is an operational signal, not a reason to abandon enforcement.
Phase 3 expands quarantine. Increase the same policy to
pct=50, then pct=100:v=DMARC1; p=quarantine; pct=50; rua=mailto:dmarc-reports@example.comv=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc-reports@example.comThe team should compare report results with seed-account delivery and business-critical workflows. If a source fails, the owner fixes alignment before the percentage rises.
Phase 4 isolates subdomains. A controlled subdomain policy can test a risky marketing or legacy branch while the apex remains under observation:
v=DMARC1; p=none; sp=reject; pct=100; rua=mailto:dmarc-reports@example.comThis only makes sense when the subdomain's legitimate traffic has been inventoried. Otherwise, the experiment can block real campaign or transactional mail.
Phase 5 enforces at the apex. The final record can make alignment modes explicit:
v=DMARC1; p=reject; sp=reject; pct=100; adkim=s; aspf=s; rua=mailto:dmarc-reports@example.comStrict alignment isn't automatically appropriate for every environment. It requires the authenticated DKIM and SPF domains to match the visible From domain exactly, so the team should confirm that every sender supports the chosen mode before deployment.
Phase | Sample TXT Record | Validates | Exit Signal |
Observation | v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com | Sender inventory and report collection | Legitimate sources are mapped |
Limited quarantine | v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc-reports@example.com | Initial enforcement behavior | No unexplained critical failures |
Expanded quarantine | v=DMARC1; p=quarantine; pct=50; rua=mailto:dmarc-reports@example.com | Broader alignment coverage | Reports remain stable |
Full quarantine | v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc-reports@example.com | Complete transitional enforcement | Known failures are remediated |
Reject | v=DMARC1; p=reject; sp=reject; pct=100; adkim=s; aspf=s; rua=mailto:dmarc-reports@example.com | Full domain enforcement | Monitoring and rollback are staffed |
The sequence matters because
p=reject exposes hidden infrastructure immediately. That can protect the domain while harming revenue if a forgotten sender carries receipts, onboarding messages, or campaign mail.Reading DMARC Reports Before You Enforce
A sender can pass quarantine testing while a forgotten billing workflow still fails alignment. Aggregate reports expose that gap before
p=reject turns it into missing receipts, onboarding messages, or campaign mail. They arrive as XML summaries from receiving organizations and usually identify the reporting organization, evaluated policy, source IP, message count, DKIM result, SPF result, and disposition.A report record can look like this:
<record><row><source_ip>192.0.2.10</source_ip><count>42</count><policy_evaluated><disposition>none</disposition><dkim>pass</dkim><spf>fail</spf></policy_evaluated></row><identifiers><header_from>example.com</header_from></identifiers></record>Treat the source IP as an investigation lead, not an ownership answer. Map it to a platform, campaign, application, or unauthorized sender. Then inspect the authenticated domains and selectors recorded elsewhere in the report.
The fields that decide readiness
header_fromidentifies the domain recipients see.
dkim=passmatters only when the DKIM signing domain aligns withheader_from.
spf=passmatters only when the SPF-authenticated domain aligns withheader_from.
dispositionshows whether the receiver applied none, quarantine, or reject.
- Policy overrides explain why a receiver did not apply the published policy. They do not prove that the sender is healthy.
Three anomalies require an owner and a resolution path.
A misaligned DKIM signature means a platform signs with its own domain while the visible From address uses the organization's domain. Configure authenticated custom-domain signing. Adding another SPF include does not correct DKIM alignment.
A forwarded message failure often produces SPF fail because the forwarder is not authorized for the original sending domain. DKIM may survive, but message changes can break the signature and cause DMARC failure at the destination. Record these cases for the later ARC decision.
A missing third-party sender appears as an unfamiliar IP or signing domain. Confirm whether it is legitimate, assign an owner, and configure aligned DKIM before enforcement. An unrecognized source belongs in the unauthorized category until verified.
Manual XML review hides recurring source-IP patterns across reporting organizations. Supplement it with automation that groups sources, flags repeated failures, and assigns follow-up work. The MakeAutomation deliverability guide offers related guidance on authentication, reputation, list quality, and mailbox-provider behavior.
A dmarc checker can confirm the published record. It cannot identify an undocumented billing workflow or decide whether an unfamiliar source is legitimate. Operational ownership remains part of enforcement readiness.
Subdomain Policy sp= and Forgotten Subdomains
The most frequently missed enforcement boundary is the subdomain. A DMARC record published for
example.com governs the organizational domain, while the sp= tag controls policy treatment for mail using subdomains.A parent record can state the policy explicitly:
v=DMARC1; p=reject; sp=reject; pct=100; rua=mailto:dmarc-reports@example.comWithout
sp=, subdomains generally inherit the parent policy, but relying on implicit behavior makes future changes harder to audit. Explicit sp=reject documents the intended security posture and prevents a later parent-policy adjustment from creating an unnoticed gap.
Find the domains nobody remembers
The inventory should include subdomains found through:
- DMARC reports, especially the
header_fromfield.
- SPF history, including old includes and delegated sending paths.
- Passive mail observation, such as application logs and mail-flow records.
- DNS and certificate inventories, which can reveal marketing, development, and legacy names.
Common offenders include transactional subdomains, old CRM namespaces, and development environments that still send password resets or test notifications. A forgotten subdomain can continue delivering spoofed mail even while the apex appears protected.
A controlled policy can isolate a risky branch:
v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc-reports@example.comAfter legitimate traffic is aligned and reports remain stable, the subdomain can move to
p=reject. The parent domain can remain at p=none during that experiment, but the team should not mistake subdomain success for apex readiness.The DNS checklist is short:
- Confirm every active subdomain appears in the sender inventory.
- Assign an owner to every sending subdomain.
- Pair enforcement with a monitored
rua=destination.
- Test legacy and transactional flows before changing policy.
- Revisit
sp=whenever a new subdomain or sending service is added.
Unprotected subdomains can undermine domain reputation, confuse incident response, and let legitimate mail bypass the intended governance model.
What Breaks at reject and How ARC Helps
The claim that “SPF and DKIM are aligned” is too broad to be useful. Alignment has to hold at the receiver that evaluates the final message, and forwarding systems can change the authentication context before delivery.
Mailing lists may rewrite the From header or message body. Forwarders can break SPF because the forwarding server isn't authorized by the original domain. A third-party SaaS platform may send from a subdomain without a working DKIM key. Those messages can be legitimate and still fail DMARC at
p=reject.ARC, or Authenticated Received Chain, can preserve an upstream authentication assessment across intermediary handling. A receiver may see
arc=pass, a chain validation result such as cv=pass, and ARC set details including authentication results and message signatures. ARC doesn't make every failing message trustworthy. It gives the receiver additional evidence when a trusted intermediary handled the message.ARC is a mitigation, not an exemption
ARC helps when:
- A recognized intermediary received and authenticated the original message.
- The intermediary seals the authentication results correctly.
- The receiving system trusts the intermediary's ARC chain.
- The message hasn't been altered in a way that invalidates the chain.
ARC won't rescue a message from an unknown sender, a broken chain, or an untrusted intermediary. The receiver can still apply the published reject policy.
Scenario | Why SPF/DKIM Fails | Fix Before Reject | ARC Helpful? |
Forwarder | The forwarding host isn't authorized by the original SPF record | Preserve valid DKIM and test the forwarding path | Sometimes, if the intermediary is trusted |
Mailing list | The list rewrites headers or body content | Use aligned list handling or a controlled sender domain | Potentially, when the list seals the chain |
Third-party SaaS | The service sends without an aligned custom DKIM domain | Configure a selector under the organization's domain | No, not as a substitute for alignment |
Tenant-to-tenant forwarding | Multiple boundaries alter SPF or signatures | Validate each boundary and preserve DKIM where possible | Sometimes, depending on trust |
Header modification | A change invalidates DKIM | Stop the modification or use a stable authenticated path | Only if the ARC chain remains valid |
An allow-list should be built from verified business relationships, not guessed IP ranges. Each approved sender needs an owner, aligned DKIM, report monitoring, and a documented change process. The operational rule should be strict: a vendor doesn't enter the reject rollout until its DKIM alignment has been verified for ninety consecutive days.
A dkim checker can validate selector publication and signing configuration. It won't prove that every message path preserves alignment, so message headers and aggregate reports still decide readiness.
The Rollback Plan If Legitimate Mail Starts Failing
Every reject deployment needs an exit route before launch. The rollback isn't an admission of failure. It's a control that lets the incident team protect revenue while correcting a sender configuration.
A practical threshold is more than two percent of legitimate mail failing alignment, or any critical transactional flow, such as a password reset or order confirmation, remaining broken for more than thirty minutes. The threshold should be written into the runbook, assigned to named roles, and tested before the DNS change.

A realistic failure path
A marketing platform is rotated during a rollout. The new platform sends with the visible From domain but its DKIM alignment drops to zero because the custom selector wasn't activated. Campaign messages begin failing while transactional traffic remains healthy.
The incident commander should:
- Confirm the symptom in aggregate reports and delivery tests.
- Identify the source by filtering the report by sending IP, header From domain, and DKIM result.
- Audit SPF and DKIM configuration with the platform owner.
- Change the record from reject to limited quarantine:
v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc-reports@example.com- Restore broader quarantine only after the failure is understood:
v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc-reports@example.comIf the incident is severe, a temporary
p=none record can restore observation without enforcement:v=DMARC1; p=none; rua=mailto:dmarc-reports@example.comDNS caching means the change won't affect every receiver simultaneously. During the window, the communications lead should update the status page, prepare support macros, and explain to affected customers that a sender authentication configuration is being corrected. Silence creates more brand damage than a concise, accurate explanation.
The post-mortem should capture the failed source, owner, authentication result, DNS change, time of detection, business impact, communications actions, and the control that would have caught the problem earlier. The next rollout should not restart until the missing selector, SPF path, or vendor change process has been corrected and monitored.
Monitoring After the Switch and Final Takeaways
Reaching
p=reject marks a project outcome, not the end of deliverability work. The policy blocks unauthenticated impersonation, but it cannot correct poor list hygiene, weak content reputation, declining engagement, or an unhealthy sending IP.After enforcement, monitor six signals:
- Source changes, including new IP addresses, domains, and vendors.
- Alignment drops, especially SPF or DKIM failures from previously healthy sources.
- Aggregate report volume, separated by sending system and business owner.
- Inbox placement samples across major mailbox providers.
- Critical-flow delivery, including account access, billing, and customer notifications.
- Subdomain drift, whenever an application or campaign environment launches.
A vendor configuration change can break alignment overnight. Its dashboard may show successful delivery while receiving organizations reject messages because the authenticated domain no longer matches the visible From domain. Treat every new sender, selector, and subdomain as a change requiring review before production traffic begins.
The discipline that keeps enforcement healthy
Keep
rua= monitored, verify that the reporting address still works, and retain historical reports. The archive should show normal traffic, recurring failures, and the point at which a regression began. Revisit sp= whenever a subdomain is added or retired, and confirm that new subdomains have an intentional enforcement policy rather than inheriting an assumption.The 30/60/90-day cadence compounds. Weekly reviews catch regressions before they escalate, monthly checkpoints expose recurring vendor patterns, and archived reports become the baseline for every post-incident analysis. Keep seed-account tests running across major mailbox providers, and assess authentication separately from content and reputation health.
Global adoption remains uneven. In July 2026, 68.8% of domains had no effective DMARC protection, while 11.4% had full protection with
p=reject at 100% enforcement and 19.8% had partial coverage, according to global DMARC adoption monitoring. A Q2 2025 analysis found that only 3.9% of the top 10 million domains enforced reject on subdomains, as reported in the DMARC enforcement statistics. These figures support a practical conclusion: subdomain coverage deserves its own control, not a one-time DNS review.Keep
p=none only while the organization is identifying its sender estate. Move through quarantine with evidence, enforce p=reject once legitimate alignment is proven, and preserve reports, owners, tests, and a rollback path afterward. If a legitimate flow fails, restore mail flow according to the incident procedure, preserve the reports, and correct the sender before returning to enforcement.MailAdept provides subscription-based email deliverability consulting that combines AI agents with human experts to monitor authentication, investigate alignment failures, and coordinate remediation across sending systems. Teams moving toward DMARC enforcement can work with Mailadept to review rollout plans, validate sender paths, and maintain monitoring after the switch.

