Blog · Dmarc
How to Move to DMARC p=reject Without Breaking Legitimate Email
Moving to DMARC p=reject is the point where email anti-spoofing actually starts working. p=none tells the world you are watching. p=quarantine tells the world you are serious. p=reject tells the world you are done accepting spoofed email that uses your domain.
The problem is that flipping to reject without preparation breaks legitimate email. It happened to the people writing the DMARC guides. It happens to organizations that thought they had audited everything. It happens to teams that use Proofpoint,Mimecast, or other security gateways that do not align with their sending domains.
This is avoidable. The organizations that migrate successfully treat p=reject as a project, not a switch flip.
Why p=reject Is Worth the Effort
p=reject is the only DMARC policy that actually stops spoofing. When you set p=reject, receiving mail servers are instructed to refuse any email that fails DMARC alignment. That includes email that attackers send using your domain.
p=none gives you visibility. p=quarantine gives you a buffer. p=reject gives you protection.
The tradeoff is real: any legitimate sender that is not properly authenticated will be blocked. That includes internal systems you forgot about, third-party platforms you signed up for years ago, and cloud services that send email on your behalf.
The Three-Phase DMARC Migration Model
The standard migration path has three phases. Each phase has a purpose.
Phase 1 - Monitor (p=none)
Start here. p=none tells receiving servers to accept everything and report back to you. You get aggregate reports that show every server sending email using your domain. This phase should last a minimum of 4 to 8 weeks. Longer is fine. The goal is to build a complete picture of your legitimate mail flow before you change anything.
Phase 2 - Quarantine (p=quarantine)
Move here after you have reviewed reports and fixed the obvious problems. p=quarantine sends failing email to spam instead of blocking it outright. This is your safety net. It catches anything you missed while letting legitimate mail through with a degraded experience. Stay here at least 2 to 4 weeks.
Phase 3 - Reject (p=reject)
Only move here when quarantine produces no surprises. p=reject tells receiving servers to refuse failing email entirely. At this point, any sender that is not properly authenticated will be blocked. If you did the monitoring work, you know exactly which senders are legitimate and which ones you have already fixed.
Before You Flip the Switch - Audit Your Mail Flow
The audit is the part that makes the migration safe. No audit means you are guessing.
Reading Aggregate Reports to Find All Senders
Your DMARC aggregate reports arrive daily from the major receivers: Google, Microsoft, Yahoo, Mail.ru, and others. Each report tells you which IPs are sending email using your domain, whether they pass SPF and DKIM, and whether they align with your domain.
The first pass is simple: list every unique sending IP in the reports. For each IP, determine if it is yours. If it is not yours, the sender is either a legitimate third-party service or a misconfiguration.
Look for patterns. A cluster of senders in the same IP range that you do not recognize is worth investigating. A single sender that appears in reports but not in your documented mail flow is a gap.
Identifying Legitimate vs. Problematic Third-Party Senders
Not all third-party senders are equal. Some are essential. Some can be migrated to aligned sending domains. Some should be replaced.
Essential third-party senders include your email security gateway (Proofpoint, Mimecast, FortiMail), your CRM or marketing platform if it sends on your behalf, and any SaaS tool that sends transactional email using your domain.
For each one, ask: does this vendor support custom DKIM signing for our domain? Many do. Some require a specific setup. If they do not support aligned sending, consider moving that function to a tool that does.
Common Sources of Failed Legitimate Mail
These are the categories that trip most organizations up.
Legacy Copiers and Scan-to-Email
Office copiers with scan-to-email functionality often send through the manufacturer's SMTP servers, not your own. The From address shows your domain, but the authentication shows the manufacturer's domain. This fails DMARC alignment.
The fix options: configure the copier to send through your mail server instead of directly, move to a fax-to-email alternative, or isolate the copier on a subdomain with its own DMARC policy.
Marketing Automation Platforms
If your marketing platform sends email using your domain but authenticates under their own infrastructure, that fails DMARC. Many platforms now support customer-managed DKIM keys. Enable that feature if available. If not, consider moving to a platform that offers it.
Cloud Services Using Your Domain
Microsoft 365 sometimes sends service email that appears to come from your domain but authenticates under Microsoft's servers. This is normally handled by Microsoft's own SPF include, but custom domains with third-party gateways can create alignment gaps.
How Long Should You Stay at Each Policy Level?
There is no universal answer. It depends on how complex your mail environment is.
Simple environments with one or two sending platforms can move through all three phases in 6 to 10 weeks. Complex environments with multiple third-party senders, legacy systems, and acquired domains may need 6 months or longer.
The only reliable signal is your own aggregate reports. Move to the next phase when the previous phase produces no new sending sources for two consecutive reporting periods.
What to Do When You Find Problems
Fix the Sender
Where possible, reconfigure the sender to use aligned authentication. That means either authenticating from your own infrastructure or signing with a DKIM key that carries your domain.
Subdomain Isolation
For senders that cannot be reconfigured, move them to a subdomain. Set p=reject on your root domain and p=none on the subdomain used by the problematic sender. This protects your root domain while allowing the subdomain to continue functioning.
When to Use a Custom From Address
Some platforms give you a choice: send from user@yourdomain.com (aligned) or from user@platform.com (not aligned). The aligned option is almost always better. Using a custom From domain means the email authenticates under your domain and passes DMARC.
How DMARC Monitoring Catches Failures After the Switch
Even with a careful audit, something will slip through. A new vendor. A forgotten internal system. An acquisition that brought its own mail infrastructure.
Ongoing DMARC monitoring catches these gaps as they appear, before they become prolonged outages. When a legitimate sender starts failing after you have moved to p=reject, you want to know within hours, not days.
Raw DMARC aggregate reports are XML files. Parsing them manually to find new sending sources is slow and error-prone. DMARCFlow processes your aggregate reports automatically, flags new sending sources that were not present in earlier reports, and alerts you when sources that were passing suddenly start failing. That ongoing visibility is what makes the p=reject switch survivable. Without it, you are relying on users to report email outages, which means the problem is already visible before you know about it.
Quick Checklist - Can You Move to Reject?
Run through these questions before you switch.
- Have you reviewed at least 8 weeks of aggregate reports? - Does every known legitimate sender pass SPF, DKIM, and alignment? - Have you identified and resolved all third-party senders using your domain? - Have you checked legacy copiers and internal systems that send email? - Are there no new sending sources appearing in recent reports? - Do you have monitoring in place to catch failures after the switch?
If you answered yes to all of these, you are ready. If you answered no to any of them, stay at your current policy level until the gap is closed.
Frequently Asked Questions
How long does a full DMARC migration take?
For simple environments: 6 to 10 weeks. For complex environments with many third-party senders: 3 to 6 months or longer. The timeline is determined by how many sending sources you need to audit and fix, not by the DMARC policy itself.
What breaks when you enable DMARC reject?
Any email that fails DMARC alignment is blocked. This includes email from third-party senders that have not been reconfigured, legacy internal systems, and misconfigured cloud services. This is why the monitoring phase is essential.
How do I find all senders using my domain?
Your DMARC aggregate reports are the primary source. They list every IP address that receivers have seen sending email using your domain. Cross-reference that list against your known infrastructure to identify legitimate senders and gaps.
What if I cannot fix a sender before moving to reject?
Use subdomain isolation. Move the problematic sender to a subdomain with p=none while keeping your root domain at p=reject. This protects your root domain while keeping the legacy sender functional.