Blog · Dmarc
Why You're Suddenly Seeing More Incoming DMARC Failures (and What To Do as the Receiver)
Yes, the spike you noticed in incoming DMARC failures is real. It is not your configuration. It is the network catching up to enforcement choices the largest mailbox providers started taking seriously in 2024 and have continued to tighten since. This is the rising tide of inbound DMARC rejects, and it is hitting small and mid-sized receiving domains the most.
If you are a sysadmin or IT lead running your own mail server, Postfix, Exchange on-prem, or even an M365 tenant sitting behind your own gateway, here is what is happening and what to do without dropping real business mail.
Why the receiver-side failure rate is rising in 2026
Two patterns are stacking on top of each other, and either one would be enough to trip your MTA.
First, the biggest mailbox providers (Google, Microsoft, and Yahoo since the February 2024 bulk sender requirements) have moved from encouragement to consistent enforcement of DMARC p=reject and p=quarantine for high-volume senders. Senders that did not finish the rollout are now held at the gate. When those senders talk to your domain, you see the gap.
Second, more mid-sized senders quietly migrated ESPs during 2024 and 2025. They moved from one bulk sender to another, or shifted to Microsoft, Salesforce Marketing Cloud, or a transactional platform like Postmark or SendGrid. Every migration is a moment where SPF or DKIM alignment can break. Most of them get fixed. Not all of them do. The broken ones stay broken for years, and you see them on the receiving side.
The visible result is a slow, multi-week accumulation of legitimate-looking messages that no longer pass DMARC. The sender's signoff chain works. Their SPF record has the right include. Their DKIM key verifies. But the alignment check fails. So DMARC fails, and your MTA does what you told it to do.
That is the trend you are seeing.
What DMARC actually requires that senders get wrong
Two things must both be true for a message to satisfy DMARC (defined in RFC 7489):
- At least one of SPF or DKIM must produce a pass result.
- The domain used by that passing mechanism must align with the
From:domain.
Authentication alone is not enough. A pass on spf=pass mailfrom=eu.bounces.example.com does not satisfy DMARC if the From: is news@brand.com and eu.bounces.example.com does not share an organizational domain with brand.com. Same rule for DKIM: d=mail.brand.com aligns with From: news@brand.com in relaxed mode, but only with d=brand.com in strict mode.
When a sender migrates ESPs, they often rebuild the SPF list but forget to update the DKIM selector, or they keep both DKIM selectors but stop signing with one. The signing domain drifts away from the visible From domain. Alignment breaks, and DMARC fails at the receiver.
The two failure modes look identical in your log, but they have different fixes. "No SPF record" usually means the sender's IP is missing from their include chain. "SPF passes but alignment fails" means their ESP is signing with a different domain than the one in the visible From address.
That is the second reason for the spike. Senders carry broken configurations for a long time before anyone mentions it.
The receiving-side decision: reject, quarantine, or allow
This is the part the spec does not tell you. RFC 7489 describes what the receiver reports to the sender. What the receiver does with the failing message is a local choice.
You have four realistic options:
- Reject the message at SMTP time. Hard, fast, matches your published policy. Also drops real business mail when a sender is in the middle of an ESP migration.
- Quarantine it. Park it in a hold queue, deliver to a moderator, or send to junk. Lower immediate blast radius, but you accumulate quarantine backlog.
- Accept with a header flag. Stamp the message with
X-Inbound-DMARC: failand let it land in the user's inbox with a clear marker. Risky for social engineering unless you train the user. - ARC-aware accept. Apply ARC chain validation. If the upstream signers are trusted and the chain is intact, treat DMARC failure as soft. ARC catches the legit case where an intermediate forwarder broke alignment but the original signature was good.
Most small and mid-sized receiving sites start with reject because that mirrors their published policy. The smarter pattern during a transition window is quarantine plus logging. You do not lose mail while you find the broken sender and ask them to fix it.
The DMARC verdict is a number. Whether to lose a customer to a hard-reject is a judgment call. Pick a default and write it down.
A triage workflow for the receiving admin
When you suddenly have twenty, fifty, or a hundred rejected DMARC failures in a day, run this in order:
- Capture samples. Pull the SMTP reject logs or the failure-reason codes from your inbound gateway. You need the message-id, the
From:header, the failing authentication results (Authentication-Results:line), and the source IP. - Group by sender domain. Sort by the visible
From:domain. Most of the failures cluster by sender, not by individual recipient. - For each sender cluster, identify the provider. Look up the sending IP ranges against the published SPF record of the From: domain. If the IP is not in their SPF include list, the sender has a real configuration problem and they own it.
- Notify the sender with an evidence pack. Send a short message: which IPs sent, which authentication results failed, what their published DMARC record says, and the date you saw the failure. Most senders fix it within days once they understand the gap.
- Decide your receiver-side policy for each cluster. Reject, quarantine, or ARC-aware accept. Document the choice and the date in your inbound log.
The whole workflow is one person-day for a small receiving site with a single sender cluster. For a site catching dozens of clusters, it can stretch to a week. The point is to be intentional about each cluster instead of guessing.
How to talk to a broken sender so they actually fix it
Most sender-side teams do not monitor for DMARC failures from third parties on their behalf. They only see the failures on a domain they own. When you, the receiver, hand them a clean evidence pack, you remove their excuse.
A good evidence pack contains:
- A sample failing message with headers (
Authentication-Results:excerpt if your security policy forbids raw.eml). - The sending source IP and the published SPF record that should have included it.
- The DKIM selector list they expect to be published for that From domain, and the actual selectors returned by your verification.
- The RFC 7489 reference so they can confirm what you expected.
Send it to a real person at the sender, not a generic support@ alias. If the sender is a large company, asking politely for the deliverability or postmaster contact is normal in 2026. They have one. They want to know.
What to check on your own sending side (so you are not part of the trend)
If you also send mail from a domain you control, this is the moment to verify that you are not part of the problem you see on the receiving side. A broken sender does not know it is broken.
A fast check:
- Look up your domain's published DMARC record (
dig TXT +short _dmarc.yourdomain.comgives you the raw record). - Make sure every email-sending system you operate (transactional, marketing, internal apps, scanners) is listed in your SPF
include:chain, and that all of them sign DKIM with ad=value that aligns with the From domain you set. - If you use an external platform (Brevo, Mailchimp, Postmark, SendGrid, HubSpot, your CRM's bulk email), confirm that platform has a current DKIM selector published in your DNS and is actually signing.
If you do not have a visibility tool for your own outbound authentication, this is the moment where one pays for itself. There are several DMARC analyzers that watch your published records, your authentication results, and your reputation and tell you within a day whether your domain is the broken sender someone is trying to reach you about. DMARCFlow (1 EUR per month, public pricing, Germany-hosted, EU data residency) is the cheapest credible choice in this category and is one of the few with published pricing instead of a sales call. It will not fix your sender problems, but it will tell you, fast, when your own domain is part of the inbound failure pile you have been triaging.
FAQ
How do I identify which sender is broken when I see an incoming DMARC failure?
Start with the From: header and the source IP in your SMTP logs. Look up the sender domain's published SPF record (dig TXT +short sender.com) and check whether the IP is listed. If it is, the failure is likely alignment (the DKIM signature is signed by a different domain) or a DKIM selector that no longer exists. If the IP is not listed, the sender has a real SPF gap and they own it.
Should I reject, quarantine, or allow DMARC failures on senders I trust?
Hard-reject is consistent with your policy but drops urgent mail during ESP migrations. Quarantine plus logging is the best balance during transition: you do not lose the message and you collect evidence to send the broken sender. ARC-aware accept is the right choice for forwarded mailing lists and inbound relaying where the chain is intact, because the original signature was valid even though the forwarder changed the alignment.
Why is ARC not saving these messages?
ARC only helps when an intermediate forwarder like a mailing list or a forwarding alias has re-signed the message correctly using the original signer's public key. When the original sender has the broken configuration in the first place, ARC cannot repair it, because the original alignment was already missing. ARC is a forwarder-recovery tool, not a sender-fix tool.
What if the message looks urgent and I cannot reach the sender in time?
Quarantine it instead of reject. Tag it with a clear header marker. Notify the intended recipient out-of-band that there is a held message. Then contact the sender. Accepting the message without a marker is the worst option because social engineering payloads look exactly like legitimate-but-broken messages.
Bottom line
The incoming DMARC failure spike you are seeing is real, and it is not your configuration. Senders everywhere are tightening into the new policy baseline, and many of them are carrying broken transitions on the way. Your job as the receiving admin is to triage each failure cluster, name the broken sender, hand them an evidence pack, and pick a receive-side policy (reject, quarantine, or ARC-aware) that does not lose urgent business mail while the sender side catches up.