Blog · Dmarc
Why Your Stakeholders Want DMARC p=reject and How to Assess Whether You Are Actually Ready
The Meeting Where This Becomes Your Problem
It usually starts in a security review. Someone reads that DMARC p=reject is the gold standard for email authentication. A manager asks why your domain is still at p=none. You do not have a quick answer, so you agree to look into it. The next day you are the person responsible for switching DMARC to p=reject with no tools, no monitoring, and no email authentication background.
This is not a rare situation. It shows up regularly in DMARC communities, and the people asking about it are usually not security experts -- they are sysadmins who got handed email authentication because it was the next thing on the list.
Here is the problem: p=reject is correct. Your stakeholders are not wrong. But "correct" and "ready" are different things. This guide helps you tell the difference and build the case either way.
Why p=reject Sounds Like the Right Security Decision
DMARC p=reject tells receiving mail servers to discard emails that fail both SPF and DKIM checks. Unlike p=none (which does nothing) or p=quarantine (which marks mail as suspicious), p=reject means spoofed emails never reach the inbox at all.
For a security-focused stakeholder, this is an easy call. Spoofed emails from your domain disappear. Phishing campaigns impersonating your brand stop working. The risk of someone receiving a fake invoice from your domain drops to near zero.
That logic is sound. p=reject genuinely does those things. The issue is not the goal -- it is the path from "we want p=reject" to "p=reject is active on our domain" without understanding what that transition actually requires.
The Four Things That Must Be True Before You Move to p=reject
Moving to p=reject without being ready breaks legitimate email. When a receiving server rejects a message because it fails DMARC alignment, it does not send it to spam -- it discards it silently. You will not know it happened unless you are collecting aggregate reports.
Before you flip the switch, four things need to be in place.
1. You have identified every source that sends mail from your domain
This is harder than it sounds. Your domain might be used as a From address by your CRM, your marketing automation tool, your legacy ticketing system, your HR platform, your accounting software, and your cloud phone system. Some of these use your domain in the From header, which means they are subject to DMARC alignment rules.
If any of these sources is not SPF-aligned or DKIM-aligned with your domain, its mail will be rejected when you set p=reject. You need a complete inventory before you switch.
2. Every authorized sender passes SPF or DKIM alignment
DMARC alignment means one of two things: the sending server's IP is in your SPF record (SPF alignment), or the email was signed with a DKIM key under your domain (DKIM alignment). A sender that does neither, or that uses a subdomain you do not control, will fail DMARC even if it is a legitimate business tool.
During the p=none monitoring phase, aggregate reports tell you which sending IPs are failing alignment. If you switch to p=reject before fixing those failures, legitimate mail stops.
3. Your aggregate report coverage is complete
You need to receive DMARC reports from all major receiving domains. If Gmail, Microsoft, and other large recipients are sending you reports, you have visibility into how your domain looks from the outside. If you are not receiving reports, you are flying blind.
4. You have a tested rollback plan
If mail breaks after you set p=reject, you need to be able to revert quickly. That means knowing in advance which DNS record to change, who can change it, and how long it takes for the change to propagate. A rollback that takes four hours during a business day means four hours of lost business communication.
How to Read Your DMARC Aggregate Reports to Count Authorized Senders
Aggregate reports arrive as XML files at the address specified in your DMARC record's RUA tag. If that sounds like a problem, it is -- most people who try to read these reports manually give up after the first XML file.
Here is what you are looking for.
Each aggregate report contains a record for every sending source that delivered mail to a participating receiver during the reporting period. For each source, you want to see:
- The sending IP address
- The result: pass or fail
- Whether it passed SPF alignment, DKIM alignment, or both
If you see a source consistently failing, you need to decide: is this an unauthorized sender (potential spoofing), or is it a legitimate tool that is misconfigured? Misconfigured tools often fail in predictable ways -- a marketing platform that sends through a shared relay, for example, will fail DKIM alignment because the signing domain does not match your From domain.
Count the number of unique sending IPs in your aggregate reports over a two-week period. That number is your sender inventory. Every IP in that inventory needs to be validated before you move to p=reject.
If the thought of parsing XML files makes your eyes glaze over, this is where DMARCFlow helps. It collects your aggregate reports and turns them into a sender inventory dashboard. Instead of opening raw XML, you see which sending sources are passing alignment and which ones are still failing -- the exact data you need to assess readiness for p=reject.
The Three Most Common Readiness Failures That Come Out of Nowhere
1. Marketing automation platforms
Tools like HubSpot, Marketo, and Mailchimp often send email from your domain but use their own infrastructure for delivery. Their servers are not in your SPF record, and their DKIM keys are under their domain, not yours. When these tools send confirmation emails, password reset emails, or drip campaign messages, they can fail DMARC alignment.
This failure is especially common when marketing teams enable tracking domains or click tracking -- features that cause the email to be resent through the platform's infrastructure rather than directly from your mail server.
2. Legacy SaaS tools with shared SMTP
Old invoicing software, internal ticketing systems, and custom CRMs sometimes relay mail through shared SMTP servers that do not belong to your organization. The From address says @yourcompany.com, but the actual sending server is a shared relay in a data center you do not recognize.
These sources appear in your aggregate reports and fail alignment consistently. They are not spoofing you -- they are just built on infrastructure that predates modern email authentication expectations.
3. Misconfigured Microsoft 365 or Google Workspace environments
In hybrid setups or after migrations, it is common to find forwarding rules, transport rules, or third-party connectors that send mail as your domain through infrastructure that is no longer properly authorized. These often pass SPF checks because they come from Microsoft's servers, but they fail DKIM alignment because the signing key does not match your domain.
What to Tell Leadership When They Ask Why You Are Still at p=none
Here is a version of this conversation that is honest, clear, and does not make you sound like you are stalling.
"The security goal is right. We want p=reject. But I have found six sending sources in our aggregate reports that are not currently aligned with our domain. If I switch to p=reject today, those six sources stop delivering mail and we will not know which internal tools are affected until users start complaining. I need two weeks to validate each source, get the owners to fix their configuration, and confirm the fixes in the reports. After that, we can move to p=reject safely."
That is it. Four sentences. Real timeline. Real risk. Real progress.
The mistake many sysadmins make in this conversation is either agreeing to switch immediately (and breaking mail) or saying "we are not ready" without being able to explain why. The explanation above gives you the structure.
The Minimum Viable Monitoring Setup to Be Ready for p=reject
You do not need a full email operations team to do this. You need two things:
A DMARC record with an RUA tag that points to a working email address or aggregation service
Your DMARC record should look like this:
`
v=DMARC1; p=none; rua=mailto:dmarc-reports@yourcompany.com; pct=100
`
Replace the rua email with an address you actually check, or use a service that collects and parses these reports for you.
Two weeks of aggregate report data before you assess readiness
Do not look at one day of reports. Some senders send mail only on weekdays. Some senders send monthly invoices on specific days. Two weeks gives you a representative sample of your actual sending traffic.
During those two weeks, every time a new sending source appears in your reports, that is a flag. New source that was not there last month means someone set up a new tool, and you need to verify its alignment status.
How DMARCFlow Gives You the Readiness Data Without the XML Parsing
If you are reading this, you probably do not want to spend your afternoon opening XML files.
DMARCFlow collects your aggregate reports and turns them into a sender inventory dashboard. You can see at a glance: how many sending sources you have, which ones are passing alignment, which ones are failing, and whether the failure rate is going up or down over time.
The readiness checklist becomes visual rather than forensic. Instead of manually counting IPs across dozens of XML files, you open the dashboard and check: are all my sources green? Yes -> ready to move to p=reject. No -> keep monitoring until they are.
This is what the p=none monitoring phase is for. It is not a delay tactic. It is the data you need to make the switch without breaking anything.
Frequently Asked Questions
How long should I stay at p=none before moving to p=reject?
Stay at p=none until you have two consecutive weeks with zero new sending sources appearing in your aggregate reports. If a new source appears, investigate it, fix it if needed, and wait for it to stabilize before counting. Rushing this phase is how organizations end up breaking their own mail.
What does a DMARC aggregate report tell me about readiness?
It tells you every IP address that sent mail to a participating receiver during the reporting period, and whether each message passed or failed DMARC alignment. If you have sources that consistently fail alignment, those sources need to be fixed or decommissioned before you move to p=reject.
How do I tell leadership we are not ready for p=reject without sounding like I am stalling?
Show them the aggregate reports. Point to the specific failing sources. Give a concrete timeline for fixing each one. The combination of evidence plus timeline is more credible than "we are not ready" alone, and it demonstrates that you have actually looked at the data rather than just avoiding the switch.
The Short Version
p=reject is the right goal. It is not the right first step. The monitoring phase exists so you can find the sources that will break when you flip the switch -- and fix them before they cause problems. A tool like DMARCFlow makes that monitoring phase actionable instead of a manual XML parsing exercise.
If your stakeholders are pushing for p=reject, that is a good sign. It means they care about email security. Your job is to translate that energy into a structured readiness process instead of an immediate switch that breaks mail for your entire organization.