All posts

When DMARC breaks legitimate mail: forwarding, mailing lists and third-party senders

Why forwarding, mailing lists and outside senders fail DMARC alignment, what aggregate reports reveal about each, and how to fix them without loosening your policy.

DMARC is meant to block forged mail, but a poorly handled rollout can also catch your own legitimate messages. The three usual culprits are forwarding, mailing lists and third-party senders. Each fails alignment for a different reason, each shows up differently in your reports, and each has a fix that does not involve weakening your policy. Being honest up front: one of them, forwarding, cannot always be fully controlled from your side.

Why legitimate mail fails at all

Recall the rule: DMARC passes only if SPF or DKIM passes and the passing domain lines up with your visible From address. Legitimate mail fails when the route or the message changes in a way that breaks both aligned checks at once. The three cases below each break something different.

Forwarding: SPF breaks, DKIM often survives

When a message is forwarded, a new server relays it onward. That server is not on your SPF list, so SPF fails at the final destination. There is no SPF record you can publish that authorizes every forwarding server on the internet, so this is not something you fix by editing SPF.

DKIM is what keeps forwarded mail passing. The DKIM signature covers the message content and travels with it, so a plain forward that does not alter the message leaves the signature valid. Aligned DKIM means DMARC still passes even though SPF failed.

This is the honest limitation in the whole subject: some forwarding modifies the message enough to break the DKIM signature too, for example a mailing system that appends a footer or changes the subject. When both aligned checks are gone, that specific forwarded copy fails DMARC, and there is nothing the original sender can publish to prevent it. Aligned DKIM shrinks the problem to a small residue; it does not erase it. This is a known and accepted edge of the standard, not a fault in your setup.

Mailing lists: the message gets rewritten

Discussion lists and group aliases are harder, because they often change the message before sending it on. A list might add a [listname] prefix to the subject, append an unsubscribe footer, or attach a banner. Any of those alterations breaks the DKIM signature, because the signed content no longer matches. So the two survivors of ordinary forwarding, DKIM alignment, is gone.

To cope, many lists now rewrite the From header. Instead of your address, the message goes out From the list’s own domain, with your name in a via note or your original address moved to Reply-To. Because the visible From is now the list’s domain, DMARC is evaluated against the list, not you, and it passes. This is deliberate and normal behavior for a well-run list under enforcement policies.

Alongside From-rewriting, some lists use ARC (Authenticated Received Chain). ARC records the authentication results the list saw before it modified the message, and signs that record. A receiver that trusts the list can read the ARC chain and see that the mail authenticated correctly on arrival, then choose to honor it despite the broken DKIM. ARC is advisory: the receiver decides whether to trust it, so it is a mitigation, not a guarantee.

The practical takeaway: you do not fix mailing lists by loosening your policy. A well-behaved list handles this for you through From-rewriting, and ARC helps at receivers that support it. What you should not do is drop to p=none to make a list work, because that removes protection for every other message too.

Third-party senders: the ordinary alignment miss

The third case is the most common and the most fixable. Marketing platforms, invoicing tools and other outside services send mail showing your From address but, by default, authenticate under their own domains. SPF passes for them, DKIM signs for them, and neither aligns with your domain. Nothing is being rewritten and nothing is being forwarded; the source simply was never aligned in the first place.

The fix is to set up a custom return-path and custom DKIM signing with each provider, so the passing domain becomes yours. That is a configuration task, walked through in get SPF and DKIM aligned so DMARC passes, and it fixes the source permanently rather than papering over it at the policy level.

How aggregate reports reveal each one

Your DMARC aggregate reports are how you tell these three apart, because each leaves a different fingerprint. The reports group mail by sending source and show, per source, whether SPF and DKIM aligned.

  • A third-party sender shows up as a named provider’s servers with both SPF and DKIM failing alignment, consistently, on mail you recognize as yours. Steady, fixable, and the same source every day.
  • Forwarding shows up as scattered, one-off sources where DKIM aligns but SPF does not. The variety of sources and the DKIM-passes-SPF-fails pattern is the tell.
  • A mailing list shows up either as the list’s own domain passing cleanly (once it rewrites From) or, before rewriting, as a source where both checks fail because the message was modified.

Reading these patterns is a skill worth building, and we cover it step by step in how to read a DMARC report. The reports are what let you fix real problems at the source instead of guessing.

Fix at the source, keep the policy

The theme across all three: none of them is a reason to loosen your DMARC policy. Third-party senders get aligned at the source. Mailing lists handle themselves through From-rewriting, with ARC helping where receivers support it. Forwarding leans on aligned DKIM, which survives far better than SPF, with the honest acknowledgment that a slice of modified forwards cannot be saved from the sending side.

Dropping to p=none to make one awkward stream work throws away protection for everything. The better path is to identify each source in your reports, align what you can, and let the well-designed mechanisms handle the rest.