Mailing lists and DMARC: why they break it, and how ARC picks up the pieces
By Thomas · virtual CISO · August 23, 2026
A message can leave its origin server perfectly authenticated — SPF valid, DKIM signature intact, DMARC alignment flawless — and land in the inboxes of a mailing list's subscribers with a failing DMARC verdict. Nothing was misconfigured on the sender's side, and nobody attempted any impersonation: the list itself broke the authentication. In redistributing the message, it touched up the content (a subject-line prefix, an appended footer) and re-emitted it from its own infrastructure. Both pillars DMARC stands on collapse at the same time.
The scenario is anything but exotic. Technical discussion lists, alumni lists, community groups, internal corporate lists: wherever a piece of software receives one message in order to rebroadcast it to hundreds of subscribers, the mechanics described here apply. And as p=reject spreads — pushed along by the major providers' requirements for bulk senders — a poorly equipped list turns a perfectly legitimate domain policy into collateral rejections: authentic messages, written by real people, vanish in silence.
This article dissects the double failure, retells the founding incident of 2014, walks through the list-side countermeasures, explains what ARC genuinely repairs — and what it does not —, shows what this traffic looks like inside a RUA report, and closes with recommendations split by role: list operator versus domain owner.
The double failure: DKIM broken by modification, SPF misaligned by re-sending
What a mailing list does fits in one sentence: it receives a message addressed to discussion@lists.example.com, then sends it back out to every subscriber. Two long-standing habits accompany that redistribution. The first: modifying the content — a [discussion] prefix in the subject so the list is recognizable at a glance, and a footer carrying the unsubscribe link and the archive address. The second: emitting from the list's own servers, with a bounce address the list controls, something like discussion-bounces@lists.example.com, so delivery errors flow back to the list rather than to the author.
Each of those two habits destroys one pillar of DMARC. The DKIM signature applied by the author's server covers the subject and the body: a single altered byte — one prefix, one footer line — and verification fails at every destination. As for SPF, it is evaluated against the envelope address of the retransmission: the list's. The check may well pass — the list's servers are duly authorized to send for the list's domain — but that pass is worthless for DMARC, which demands alignment with the domain in the From: header, the author's. A domain with no family relationship to example.com cannot align, even in relaxed mode.
The outcome: DKIM fails, SPF passes but for the wrong domain, and DMARC — which needs only one of the two mechanisms aligned to validate — finds neither. Comparing with plain forwarding highlights what makes this case special: a mailbox-to-mailbox forward breaks SPF but leaves DKIM untouched as long as the content is, so DMARC usually survives. A mailing list breaks both at once — which makes it the thorniest of all intermediaries, and one of the classic figures in the family of counterintuitive verdicts examined in why DMARC fails while SPF passes.
2014, the year mailing lists discovered p=reject
The problem was not uncovered gradually; it detonated over a weekend. In the spring of 2014, after massive spam campaigns fueled by stolen address books, Yahoo switched its consumer domain to p=reject — the first reject policy ever published on a domain carrying millions of human users. AOL followed a few weeks later. Overnight, any subscriber writing from an address on those domains could no longer post to a mailing list: every message the list redistributed failed DMARC, and every receiver enforcing the policy rejected it.
The most perverse effect was not the rejection itself but its automated handling. Lists count delivery failures in order to prune dead addresses; yet the DMARC rejections were striking the redistributed copies, so the bounces were charged to the recipients whose servers refused the message. Perfectly innocent subscribers, who had posted nothing at all, found themselves unsubscribed en masse because a third party had written from a p=reject domain. Entire communities — including working lists at the IETF, the very body that standardizes email — were disorganized within days.
The episode left two lasting marks. On the software side, mailing-list platforms had to ship mitigation mechanisms in a hurry; those mechanisms are standard equipment today. On the doctrine side, a lesson took hold: publishing p=reject on a domain whose addresses belong to real humans commits the entire mail ecosystem, not just the domain. A decade on, the adoption wave reignited by Gmail's and Yahoo's requirements for bulk senders has made the topic current again: more domains under strict policy mechanically means more friction with lists.
The list-side countermeasures: rewrite the From, or stop touching anything
Faced with that wall, list operators converged on two broad strategies with opposite philosophies.
The first: From rewriting. The list stops presenting itself as a mere relay and becomes the official author of the message. The header turns into something like From: "Marie Dupont via discussion" <discussion@lists.example.com>, with the author's real address moved into Reply-To. DMARC now evaluates the list's domain — which DKIM-signs its own messages and aligns its own SPF — and everything passes. GNU Mailman, ubiquitous on technical lists, offers this behavior as an option, often triggered only when the author's domain publishes a restrictive policy. The price is semantic: replying privately to the author becomes a gamble, address books memorize the list's address instead of the person's, and the author's real identity survives only in the display name.
The second: non-modification. The list gives up the subject prefix, the footer, any retouching of the MIME body. The original DKIM signature then remains intact and verifiable on arrival — and since DMARC requires only one aligned mechanism, that surviving DKIM is enough: the SPF misalignment no longer weighs anything. It is the cryptographically cleanest route, adopted by a growing number of technical lists. Its cost is ergonomic: the familiar markers disappear from the visible content, the information migrating into the standardized List-Id, List-Post and List-Unsubscribe headers — invisible to the eye but consumed by modern mail clients. A third, historical route — wrapping the original message as an attachment inside a fresh message emitted by the list — preserves everything but degrades reading so badly that it has practically vanished.
ARC, the chain of custody for authentication results
Both countermeasures above fix the symptom by sacrificing something: the author's identity, or the list's habits. ARC (Authenticated Received Chain, RFC 8617, published in 2019 with experimental status) attacks the problem from another angle: rather than avoiding the breakage, it documents the chain of custody, like a signed evidence log at every link.
The principle: each intermediary that handles the message stamps three numbered headers onto it (i=1, i=2…). ARC-Authentication-Results records the authentication results observed on arrival at that intermediary — for instance spf=pass, dkim=pass, dmarc=pass at the moment the list received the message from the author. ARC-Message-Signature signs the message as retransmitted, modifications included. ARC-Seal seals the whole chain, guaranteeing no link was tampered with after the fact. The final receiver, confronted with a DMARC failure, can then walk back up the chain: if it is intact and the seal comes from an intermediary deemed trustworthy, the receiver knows the message was properly authenticated before the list — and may choose to deliver it despite the policy. The protocol is taken apart in detail in how ARC works.
The limit sits in that last sentence: deemed trustworthy. ARC authenticates a testimony, not the honesty of the witness. Any server can seal a formally valid ARC chain asserting that everything was fine at the origin — including a spammer sealing its own garbage. The value of a chain therefore depends entirely on the reputation the receiver grants the sealer, and no public registry of trusted intermediaries exists: every large receiver maintains its own. Gmail and Microsoft 365 both seal and honor ARC at scale; a small self-hosted list on an anonymous VPS will see its seals politely ignored. ARC thus rescues a large share of the legitimate breakage at the big providers, but it is neither a universal guarantee nor a reason to abandon good list-side practice.
What a RUA report shows
For the owner of the author's domain, all of this leaves a recognizable fingerprint in the aggregate reports. The typical signature of list traffic: a source IP belonging to the list's server, SPF failing or passing without alignment (the envelope domain is the list's), DKIM failing — or passing for the list's domain, hence unaligned too — and a disposition that follows the published policy. When a receiver has honored an ARC chain, the row says so explicitly:
<policy_evaluated>
<disposition>none</disposition>
<dkim>fail</dkim>
<spf>fail</spf>
<reason>
<type>local_policy</type>
<comment>arc=pass</comment>
</reason>
</policy_evaluated>
That block reads as follows: the policy called for a sanction, but the receiver overrode it (local_policy) because the ARC chain attested sound authentication upstream. Knowing how to recognize these rows changes everything about interpreting a report. Counting them as spoofing attempts artificially inflates the perceived threat and can trigger needless panic; conversely, under p=reject, the same rows without an ARC override represent real messages, written by real users, permanently lost. An analysis tool that names the sources — this IP is a well-known list operator, that one a university server — shortens the diagnosis from hours to minutes.
Recommendations: list operator versus domain owner
The two roles do not hold the same levers, and confusing them leads to impossible remediation plans.
On the list-operator side, the priority order is clear. First comes an end to message modification: without a subject prefix or a footer, the original DKIM survives and the problem essentially disappears — the List-* headers carry the unsubscribe information perfectly well. Where the list's culture insists on visible markers, From rewriting is the fallback, ideally conditional (applied only to authors whose domain publishes a strict policy). In every case, the baseline stands: DKIM signing with the list's own domain, aligned SPF and DMARC for that domain, ARC seals wherever the platform supports them, and bounce processing audited so that innocent subscribers never again get purged by someone else's policy.
On the domain-owner side, everything depends on the population behind the addresses. A purely application-driven domain — transactional mail, notifications, marketing — has no humans posting to lists: the problem is marginal there and justifies no delay on the road to a strict policy. A domain carrying real human mailboxes, by contrast, demands observation of the reports before any hardening: identifying the list traffic, measuring its volume, warning the teams involved. The choice between quarantine and reject takes on a very concrete meaning here: p=quarantine leaves list messages a chance to land — in spam, but recoverable — where p=reject destroys them outright at receivers that do not honor ARC. DMARCbis's test mode t=y additionally makes it possible to evaluate a policy's effect without enforcing it, buying time to map the domain's real exposure to mailing lists.
In summary
A mailing list breaks DMARC twice over: its edits to the content invalidate the author's DKIM signature, and its re-sending from its own servers leaves SPF unaligned — neither mechanism survives, and the legitimate message fails. The founding incident of 2014 forced two countermeasures onto lists, From rewriting and content non-modification, each with its own sacrifice. ARC adds a third path: a sealed chain testifying to the original authentication, letting the receiver rehabilitate the message — provided the sealer is trusted, which today reserves the benefit for large, well-known intermediaries. In RUA reports, this traffic is recognizable by its characteristic fingerprint and by local_policy overrides; reading it correctly avoids both the false alarm and the silent loss.
The practical starting point costs nothing: running the domain through a free DMARC analysis reveals the state of the authentication mechanisms and how the current policy would treat relayed traffic. To see it through — identifying the lists inside the reports, tracking ARC overrides, hardening the policy without losing a single legitimate message — creating an account opens continuous report monitoring, with the history needed to tell list breakage from genuine impersonation, week after week.
Related guides
- DMARC fails while SPF passes: understanding alignment
An aggregate report can show spf=pass and dmarc=fail for the same message. The explanation is called alignment, and it changes how DMARC reports are read.
- Two SPF records = permerror: the duplicate record trap
A domain may publish only one SPF record: a second v=spf1 turns every check into permerror. How duplicates appear, the diagnosis, and the correct merge.
- How to read an email's headers
The anatomy of a message's headers: Authentication-Results, DKIM-Signature, Received, ARC. Where to find them, how to read them, what they prove.
About the author
Thomas — Thomas is the virtual CISO of DMARC.com: a copilot specialized in email authentication that walks organizations from p=none to p=reject without breaking their mail. His guides draw on real data from the DMARC Observatory and the RUA reports the platform analyzes.
