Blog · Dmarc

What to Do with DMARC Failure Emails and Backscatter

When a DMARC failure shows up in your inbox, it usually arrives as a bounce message or a delivery failure notification. Your first instinct might be to panic or ignore it. Neither is right. The right response depends on whether the failure is a sign of a misconfiguration on your end, a spoofing attempt using your domain, or backscatter from a third party using your mail server as a bounce destination.

The fastest way to answer that question is to read your DMARC aggregate report. But aggregate reports arrive as gzip-compressed XML, contain thousands of records, and require parsing before they tell you anything useful. Most mail administrators do not read them routinely. DMARCFlow reads them for you and surfaces which failures are from spoofing attempts versus infrastructure misconfigurations, so you can act on the data instead of getting lost in it.

Here is what to do with DMARC failure emails, how to tell the difference between failure types, and how to reduce the volume of failures you see.

What Are DMARC Failure Emails?

A DMARC failure email is a notification generated when an email fails DMARC validation. The receiving mail server checks your SPF, DKIM, and alignment against your published DMARC record. If the check fails and your DMARC policy is not p=none, the message gets rejected or quarantined, and the receiving server typically sends a bounce message back to the envelope sender.

These bounce messages vary by provider. Some include the reason for the failure in the message body. Others give you a generic "delivery failed" with no details. This variability is one reason DMARC failures are hard to triage without aggregate data.

The most common causes of DMARC failure are:


  • SPF or DKIM passes but alignment fails (the From domain does not match the sender domain)



  • Your domain is being spoofed and your DMARC policy is catching the forged mail



  • A forwarding chain broke alignment between SPF and the From header



  • A subdomain is sending mail without its own DMARC record or with a misaligned record

Backscatter vs DMARC Rejection - What Is the Difference?

Backscatter and DMARC rejection look similar but come from different sources.

Backscatter happens when a spammer sends email with your domain in the From address. The receiving server rejects the message and sends the bounce notification to your mailbox because your server is listed as the responsible sender. You did not send the mail. Your domain name was forged. The bounce is being delivered to you because you are the apparent sender according to the email headers.

DMARC rejection happens when your legitimate mail infrastructure sends a message that fails DMARC validation. Your own servers sent it, but something in the authentication chain is broken. This is a problem on your side that needs fixing.

The practical difference: backscatter means someone else is abusing your domain. DMARC rejection means your own sending practices need attention.

Here is a quick test. Look at the email headers of the failure notification. If the original message headers show your actual mail server IP or sending domain as the source, it is likely a DMARC rejection of your own mail. If the original message headers show a completely different sending IP or domain that does not belong to you, it is backscatter from spoofing.

Why Your Mail Gets Rejected Despite Passing SPF and DKIM

This is the most common source of confusion around DMARC failures. You check your DNS records. SPF is correct. DKIM is signing. You run a DMARC checker and everything looks green. Yet legitimate mail still gets rejected.

The reason is alignment.

DMARC requires not just that SPF and DKIM pass, but that they align with the From header domain. An email can pass SPF because the sending server IP is listed in your SPF record, and pass DKIM because it is signed with your DKIM key, but still fail DMARC if the domain in the From address does not match the domain that passed SPF or the domain that signed the message with DKIM.

This commonly breaks in forwarding scenarios. A mailing list, an email forwarder, or an auto-responder may rewrite the envelope sender or the From address, breaking alignment even though your SPF and DKIM are technically correct.

Subdomain drift is another common cause. Your DMARC record covers example.com, but a marketing tool sends from marketing.example.com, which is a different subdomain. Unless your DMARC record has an explicit subdomain policy or a wildcard record, that subdomain is not protected.

A Framework for Triaging DMARC Failures

When you get a DMARC failure notification, work through this checklist:

Step 1: Identify whether the failure is from your own infrastructure or from spoofing.

Check the email headers in the bounce message. Look for the original message headers and the sending server IP. If the IP does not belong to any of your known sending infrastructure, the failure is likely from a spoofer using your domain. This is actually your DMARC policy working correctly.

Step 2: Pull your DMARC aggregate report.

If the failure came from your own infrastructure, open your DMARC monitoring dashboard and pull the report for the date of the failure. The aggregate report tells you which domain failed, which IP sent the mail, and which alignment check failed. DMARCFlow reads these reports automatically and flags which failures are from spoofing versus your own infrastructure, so you do not have to parse the raw XML.

Step 3: Categorize the failure.

  • Misconfiguration: your own sending system is sending mail that fails alignment. Fix the sending system's From domain or DKIM selector.
  • Forwarding: a legitimate forwarder is rewriting headers and breaking alignment. Consider SRS (Sender Rewriting Scheme) or a sending approach that preserves alignment.
  • Spoofing: external parties are using your domain. Your DMARC is catching it. Consider moving to p=reject if you have confirmed your own infrastructure is fully aligned.

Step 4: Check whether legitimate mail is being caught.

If a supplier, customer, or internal system is sending mail on your behalf and getting rejected, you need to know. Ongoing false rejections mean your DMARC policy is too strict for your current infrastructure. Do not move to p=reject until you have resolved legitimate mail getting rejected.

How to Reduce Backscatter from Your Domain

Backscatter is a symptom of your domain being used in From addresses by spammers. Your DMARC policy is not causing backscatter. It is catching the forged mail. The backscatter you receive is the bounce from the receiving server, not from your DMARC policy.

To reduce backscatter volume:


  • Ensure your DMARC policy is set to p=reject. This tells receivers to reject forged mail at the SMTP level rather than accepting it and generating a bounce.



  • Use DMARC monitoring to track spoofing patterns targeting your domain in real time. The aggregate reports show you which IPs are sending forged mail using your domain, even before you receive bounces.



  • If you operate a mail server and see backscatter addressed to postmaster@yourdomain.com, implement server-level filtering for bounces that do not match known legitimate sending patterns.

When to Move from p=none to Quarantine or Reject

Most domains start with p=none. This tells receivers to monitor mail but take no action. It is the right starting point because it lets you see what is actually passing and failing before you start rejecting legitimate mail.

Move to p=quarantine when:


  • You have reviewed at least two weeks of aggregate reports and confirmed your own infrastructure is fully aligned



  • You have identified and resolved any forwarding scenarios that break alignment



  • You have no suppliers or partners sending mail on your behalf that would get rejected

Move to p=reject when:


  • p=quarantine has been stable for at least 30 days with no false rejections



  • You have automated monitoring to detect new alignment failures quickly



  • Your sending infrastructure is fully under your control and unlikely to generate new failure patterns

The biggest mistake is jumping to p=reject before understanding your baseline. Domains that skip quarantine often end up rejecting legitimate mail from partners, internal systems, or forwarding services they did not know about.

How DMARCFlow Makes Triage and Monitoring Easier

Reading DMARC aggregate reports manually is painful. The data is XML, delivered in gzip archives, and contains thousands of failure records. Most mail administrators do not read their aggregate reports routinely because the friction is too high.

DMARCFlow reads your aggregate reports and surfaces the failures that need attention. It categorizes failures as spoofing attempts versus infrastructure misconfigurations, which changes what action you need to take. Spoofing attempts mean your DMARC is working and you should monitor for emerging patterns. Infrastructure failures mean you need to fix your own sending setup before tightening your policy.

The practical workflow with monitoring:


  1. See a failure notification or spike in your DMARC monitoring dashboard

  2. Open the report for the affected domain

  3. Categorize the failure as spoofing, forwarding, or misconfiguration

  4. Fix misconfigurations immediately

  5. Flag spoofing patterns that match known campaigns

  6. Adjust your DMARC policy once the infrastructure is clean

FAQ

Why am I getting DMARC failure emails when my SPF and DKIM are correct?

SPF and DKIM can both pass while DMARC still fails if the alignment check fails. Alignment requires the domain in the From header to match the domain that passed SPF or signed with DKIM. Check your aggregate report to see which alignment check failed and which sending system caused it.

Is backscatter the same as a DMARC rejection?

No. Backscatter is a bounce sent to your domain because a spammer used your From address and the receiving server rejected the message. DMARC rejection is your own legitimate mail failing authentication checks. Backscatter means your DMARC is working against spoofing. DMARC rejection means something is misconfigured in your sending infrastructure.

How do I stop my domain from generating backscatter?

You cannot stop backscatter directly because it originates from external servers. You reduce backscatter by setting p=reject so receivers reject forged mail at SMTP time rather than accepting and bouncing it. Use DMARC monitoring to track spoofing patterns targeting your domain.

When should I change my DMARC policy from p=none to p=quarantine?

Change to p=quarantine only after reviewing at least two weeks of aggregate reports, confirming your own sending infrastructure is fully aligned, and resolving any forwarding scenarios that break alignment. Move to p=reject after running p=quarantine without false rejections for at least 30 days.