Blog · Dmarc
What Happens When You Set DMARC to Reject Without Monitoring (And Why It Breaks Everything)
What Happens When You Set DMARC to Reject Without Monitoring
Here is what actually happens when someone sets DMARC p=reject before anyone has looked at an aggregate report: legitimate email starts bouncing, silently, and nobody knows why until the sales team cannot reach their clients.
That is the whole problem in one sentence. p=reject without monitoring does not produce a visible error. It produces a void. Mail goes somewhere else, or nowhere, and the people affected do not always report it.
The pressure to do this usually comes from the top. A CEO or compliance officer reads that p=reject is the gold standard for email authentication and asks why the organization is not doing it. The honest answer, which is hard to give in a board meeting, is that moving to reject without understanding your own mail flow is like changing all the locks on every building you manage before you have made a list of who holds keys.
This article explains exactly what breaks, why the breakage is silent, and how to move to p=reject the right way: with monitoring first, enforcement second.
Why p=reject Before You Understand Your Mail Flow Is Risky
DMARC p=reject tells receiving mail servers to drop any message that fails both SPF and DKIM alignment. That sounds straightforward. The complication is that "failing alignment" includes mail you legitimately send through systems you have forgotten about.
Most organizations send email through more sources than anyone has documented. The marketing CRM sends transactional mail. The accounting software sends invoices. The IoT devices in the break room send status updates. Your cloud phone system sends call recordings. Each of those systems has its own SMTP configuration, and none of them were necessarily set up with DMARC compliance in mind.
When you set p=reject, every one of those systems becomes a source of silent mail loss. The receiving server accepts the connection, sees the alignment failure, and discards the message without notifying you. There is no bounce, no delay, no log entry in your mail server. The message simply vanishes.
Aggregate reports are the only way to see this happening. They arrive daily from every major receiver and show every source that tried to send mail on behalf of your domain, whether it passed or failed, and why. Without those reports, you are operating on assumption instead of evidence.
Common Mail Breakage Scenarios After Moving to p=reject Prematurely
These are the patterns that appear in aggregate reports once organizations move to p=reject without preparation:
Newsletters and marketing automation platforms. Services like Mailchimp, SendGrid, or HubSpot send from your domain but use their own IP addresses. If SPF and DKIM are not aligned to your domain correctly, those messages disappear without warning.
CRM and ERP transactional mail. Salesforce, SAP, Microsoft Dynamics, and similar systems often send from your domain but through shared IP pools. When alignment fails, your invoice confirmations, password resets, and contract notifications never arrive, and nobody tells you.
Legacy internal SMTP relays. Organizations that run internal mail relays sometimes relay external mail through those servers. If the relay's SPF entry does not cover the forwarder, alignment fails for every relayed message.
Forwarded mail with SRS gaps. Forwarders that do not implement Sender Rewriting Scheme (SRS) correctly strip SPF protection during the forwarding process, causing alignment failures on legitimate forwarded mail.
Third-party ticketing and support platforms. Help desk software that sends from your domain through shared infrastructure is a common source of silent failures that nobody notices until a customer reports it.
The pattern in all these cases is the same: the mail was legitimate, the sender had no idea anything was wrong, and the message was dropped without any notification to anyone.
The Correct Sequence: Monitor Before You Enforce
The right way to move to DMARC p=reject has three stages, and enforcement is not stage one.
Stage 1: p=none (monitoring only). Your DMARC record reads v=DMARC1; p=none; rua=mailto:your@reports.example.com. Receivers send you aggregate reports but take no action on failing messages. You collect reports for at least two to four weeks, longer if your organization has seasonal mail flows or infrequent senders.
During this phase, every source in the reports should be a known, authorized sender. Unknown sources are a finding, not an emergency. They might be forgotten internal systems, third-party tools, or signs of domain spoofing. You investigate and decide.
Stage 2: p=quarantine (controlled exposure). Once you have resolved the alignment issues found in stage 1, move to p=quarantine. Failing messages go to spam instead of being dropped. This lets you catch remaining issues at a severity that produces complaints. Keep p=quarantine for at least two weeks before moving further.
Stage 3: p=reject (full enforcement). Only after reviewing aggregate reports through at least two business cycles, resolving all known alignment issues, and confirming that no legitimate senders are failing, do you move to p=reject.
The entire sequence depends on aggregate reports. Without them, you cannot know when stage 1 is complete. With them, you have evidence instead of hope.
How to Check Your Mail Flow Before Moving to p=reject
Aggregate reports arrive daily from Google, Microsoft, Yahoo, Fastmail, and most other major receivers. They arrive as XML files sent to the rua address in your DMARC record.
Raw XML DMARC reports are machine output, not human-readable. What you need is a tool that parses the reports automatically, groups sending sources by domain and IP, shows pass and fail rates per source, flags new sources that appear suddenly, and tracks trends over time as you move through the enforcement stages.
That is exactly what DMARCFlow does. Its aggregate report dashboard turns XML files into a readable view of who is sending mail on your domain, which sources are failing, and what percentage of your legitimate mail is at risk before you move to reject. DMARCFlow starts at EUR 1 per month per domain, with aggregate reporting, alerting, and multi-domain management available on paid plans.
How DMARCFlow Helps You Move to p=reject Safely
DMARCFlow is built for the monitoring phase that must precede enforcement. Its aggregate report dashboard gives you the visibility to move through the three-stage sequence without surprises.
The core workflow for organizations approaching p=reject:
1. Add your domain and set the rua address to receive reports through DMARCFlow. Reports start flowing in automatically.
2. Review the sending sources panel. Every IP and ESP that appears should be a known, authorized sender. Unknown sources get flagged for investigation.
3. Track the failure rate per source. A source at 100% failure means every message from that system is being dropped. That is your priority fix before enforcement.
4. Move to p=quarantine in your DNS record. Continue monitoring. DMARCFlow alerting notifies you when new sources appear or when failure rates change.
5. When all known sources are at or near 0% failure, move to p=reject. You have evidence the transition is safe.
DMARCFlow alerting for new sending sources matters during the monitoring phase. A sudden new source appearing in your aggregate reports could be a forgotten internal system, a new third-party integration, or someone spoofing your domain. You want to know either way, and you want to know before you hit reject.
Frequently Asked Questions
How long should I stay at p=none before moving to p=quarantine?
At least two to four weeks, and longer if your organization has seasonal mail flows or uses systems that send mail infrequently. The goal is to capture at least one full cycle of every legitimate sender, including the ones that only send monthly or quarterly.
Can I move directly from p=none to p=reject?
Technically yes. Practically no. Skipping p=quarantine means you lose the intermediate warning layer. If something is still misaligned, you discover it only when mail disappears, and you will not know which mail or from whom.
What does a zero percent failure rate mean?
It means every message from that source passed both SPF and DKIM alignment for the reporting period. It does not mean no mail was sent, and it does not guarantee the source will never fail. It means the source is correctly configured right now.
Who sends aggregate reports?
Google (Gmail), Microsoft (Outlook.com, Exchange Online), Yahoo, Fastmail, and most other major receivers send aggregate reports. Receivers that do not implement DMARC send nothing. The major senders cover the majority of your legitimate mail flow, so monitoring what they report is sufficient for most organizations.
What is the most common cause of alignment failures in aggregate reports?
A sending source that is authorized to send mail for your domain but does not have matching SPF and DKIM configuration. This is usually a third-party platform that sends from your domain but manages its own DKIM keys and its own SPF include, and the include is not set up correctly for the domain you are sending from.
Summary
The most disruptive email incident is not a breach. It is a quiet policy change that drops legitimate mail without anyone knowing. p=reject is the right destination, but it is not the first step.
Monitor first. Use aggregate reports to know every source sending on your domain. Fix alignment issues before they become enforcement issues. Move through p=quarantine as a checkpoint. Only then move to p=reject.
DMARCFlow makes the monitoring phase practical by turning raw XML reports into a readable dashboard with alerting for new sources and changing failure rates. Starting at EUR 1 per month per domain, it is less expensive than the emergency call you will have if you move to reject without knowing what is in your mail flow.