16 Sep 20265 minutes read
DMARC Failure Types: A Diagnostic Playbook for Enterprise Teams

DMARC failure types overview:
- SPF failures come from a missing sender or an exceeded lookup limit.
- DKIM failures come from a missing or outdated key, or a signature mismatch.
- Subdomain failures generally come from missing SPF or DKIM on the subdomain itself.
- Forwarding failures come from the IP and content changes introduced when an email passes through a forwarder.
When a DMARC failure surfaces, the instinct is often to loosen policy, drop from p=reject to p=quarantine, or add a broad SPF include and move on. That instinct trades security for convenience. It also leaves the root cause intact. The failure may recur; reports will stay noisy, and the underlying issue surfaces only when an auditor asks.
This playbook takes the opposite approach. It gives email administrators and CISOs a structured DMARC failure diagnosis framework organized by type, so every investigation starts by identifying which of the DMARC failure types applies and the risk it carries.
This is a reference for teams already troubleshooting a specific failure. For a step-by-step audit process to run before you get here, start with the DMARC troubleshooting checklist.
Before diagnosing which failure type applies, run your domain through Sendmarc's DMARC record checker to see your current SPF, DKIM, and DMARC configuration.
DMARC Failure Types
Not all DMARC failures carry the same risk or share the same root cause. Treating them as a single category leads to generic fixes that miss the actual problem. The four DMARC failure types below cover the majority of enterprise cases.
1. SPF Failures
What it looks like in reports and logs
In your aggregate DMARC reports, you'll see messages from a specific source IP with spf=fail and dkim=fail. The result is a DMARC failure. If your policy is set to p=reject, those messages are being blocked by the receiving server. If it's set to p=quarantine, messages are landing in Spam or Junk.
The Authentication-Results header will show:
spf=hardfail smtp.mailfrom=yourdomain.com
Root-cause checks
Run your domain through Sendmarc's SPF record checker to see the current record and confirm whether the sending IP appears in it, either directly or via an include mechanism.
Also check your SPF lookup count. RFC 7208 limits DNS lookups to 10. Exceeding that limit causes a permerror, which most receiving servers treat as a fail.
Remediation
Add the missing IP range or include mechanism to your SPF record. If you're near the 10-lookup limit, flatten includes.
Example of a corrected record:
| Host | Type | Value |
|---|---|---|
@ | TXT | v=spf1 include:sendgrid.net include:_spf.google.com ip4:203.0.113.0/24 -all |
Keep -all here. Reverting to ~all doesn't fix the failure; it just hides it.
Risk framing
SPF hard fail on a legitimate sending tool means customer-facing email, invoices, notifications, alerts, gets blocked or filtered until the sender is added to the record. That's direct revenue exposure. For regulated industries, it also creates audit questions about whether sending infrastructure is inventoried and controlled.
Verify the fix
Use Sendmarc's SPF record checker to validate the updated record. Then monitor aggregate reports over the next 24-48 hours to confirm whether the source IP shifts from fail to pass.
2. DKIM Failures
What it looks like in reports and logs
Aggregate reports show dkim=fail for messages from a known sender.
The Authentication-Results header may show:
dkim=fail (signature did not verify) header.d=yourdomain.com
Or, more subtly, dkim=neutral, which can mean the DKIM record is missing, there's a signature mismatch, keys are expired, or the email content was modified after signing.
Root-cause checks
Use Sendmarc's DKIM record checker to confirm whether the selector is published in the DNS. If the record is missing, the public key was never published or has been deleted. If it exists, the issue may be key rotation, the sending platform rotated its private key without updating the DNS record.
Remediation
- For a missing key: retrieve the current public key from the sending platform and publish it at
_domainkey.yourdomain.com. - For key rotation failures: establish a rotation procedure that publishes the new public key in the DNS and confirms propagation before switching the sending platform to sign with the new private key.
Risk framing
A DKIM authentication failure means messages can't be cryptographically verified as originating from your domain. That affects delivery: receivers have less assurance that the message is legitimate, so it's more likely to be filtered or rejected.
Verify the fix
Send a test message and inspect the full headers. Confirm dkim=pass appears in Authentication-Results with the correct header.d= value.
3. Subdomain Failures
What it looks like in reports and logs
Messages sent from notifications.yourdomain.com or hr.yourdomain.com appear in aggregate reports failing DMARC, even though the subdomain has never published its own record. Subdomains inherit the organizational domain's p= policy by default, so a policy of p=reject applies to them.
Root-cause checks
Confirm whether the subdomain has its own record. If none exists, the failure is usually due to authentication. The subdomain is sending from a tool that was set up without any SPF or DKIM configuration, so it fails alignment and gets rejected under the inherited policy.
Remediation
For each active sending subdomain:
- Publish an SPF record for the subdomain that lists its authorized senders.
- Configure DKIM signing on the sending platform.
- Publish a DMARC record for the subdomain.
For dormant subdomains:
| Host | Type | Value |
|---|---|---|
_dmarc.yourdomain.com | TXT | v=DMARC1; p=reject; rua=mailto:[email protected]; |
Lock them down completely. Unmonitored subdomains are a common spoofing vector.
Risk framing
Unmonitored subdomains create a brand protection failure. An attacker who identifies an unprotected subdomain can use it to send phishing emails that appear to come from your company.
Verify the fix
Re-check each subdomain's SPF, DKIM, and DMARC record using Sendmarc's free tools.
4. Forwarding Failures
What it looks like in reports and logs
You've moved to p=reject, but legitimate email is being blocked. Aggregate reports show failures from sources you thought were configured correctly.
Root-cause checks
This is often a forwarding problem. When a recipient forwards email, the originating IP changes. SPF fails because the new IP isn't in your record. If DKIM is intact, DMARC can still pass via DKIM alignment, but if the forwarder modifies the message body, DKIM breaks too.
Remediation
Authenticated Received Chain (ARC) fixes the underlying problem: it captures the original SPF, DKIM, and DMARC results, then preserves them across each hop, so a receiving server can validate the original authentication results.
Risk framing
Forwarding failures are often where premature p=reject rollbacks happen. Admins see legitimate email failing and respond by weakening the policy rather than diagnosing the specific cause. The result is a domain that never reaches full enforcement.
Verify the fix
Enable forensic reporting temporarily to capture failing messages with header detail. Confirm DMARC passes after the ARC updates. Monitor aggregate reports to confirm previously blocked forwarded email now passes.
How Sendmarc Helps
Enterprise DMARC failure diagnosis is manageable when every sending source, domain, and report lives in one place. With Sendmarc, administrators get direct visibility into which sources are failing and why. That reduces the manual investigation burden on stretched security and IT teams.
When new senders appear, from mergers and acquisitions, new tooling, or business unit initiatives, Sendmarc flags them immediately rather than waiting for the next reporting cycle. Sendmarc also gives teams unified visibility into SPF, DKIM, and DMARC configurations across every domain and subdomain. Policy changes are managed centrally, with guardrails that reduce the risk of moving to p=reject before every sender is covered.
If your team is working through a DMARC failure right now, run your domain through Sendmarc's DMARC record checker to validate your current configuration, then use this playbook to work through the DMARC failure types systematically.
For teams ready to move past one-off troubleshooting toward centralized DMARC failure diagnosis across every domain and subdomain, book a demo with Sendmarc.



Leave a reply Cancel reply
Your email address will not be published. Required fields are marked *