[ DKIM ]

Diagnose DKIM after mailing-list modifications

Map list changes and signing identities before deciding how legitimate list mail should be handled.

By the EmailAuth research team

[ Key points ]

  • Compare list input and output, keeping each signature distinct.
  • A new list signature does not repair an original signature.
  • Test attribution and replies alongside authentication.
On this page

Mailing lists can change the very content an original DKIM signature protects. A subject prefix, footer, MIME rewrite or author-header change can alter the result. Diagnose each transformation and the list's own signing behavior before deciding whether the problem is cryptographic verification, alignment or receiver handling.

Capture the list boundary

Use a controlled message sent both directly and through the list. Obtain the original submission where authorized, the list's redistributed message and the final receiver's trusted authentication result. Record the visible From domain before and after redistribution and every DKIM signing domain.

A footer can change the body hash. A subject prefix can invalidate a signature that covers Subject. MIME rebuilding can change the body representation even when displayed text is similar. Under RFC 6376 §5.4, From must be covered by a DKIM signature, so rewriting it changes protected header content for the original signature. The exact outcome still depends on canonicalization, coverage and all other checks.

Distinguish the list's signature

RFC 6376 §5.5 says a modifying list manager implementing DKIM should check an existing signature on input and must make modifications before re-signing. A new signature can authenticate the list's final content under the list's signing domain. It does not retroactively restore the original signature or automatically assert the original author's domain.

For DMARC, examine alignment against the final Author Domain under RFC 9989 §4.4.1. If the list retains the original author domain but signs only with an unrelated list domain, the new DKIM pass alone is not an aligned path. If a supported list configuration rewrites From to a list-controlled domain and signs with an aligned domain, the identities evaluated at the receiver are different. That change has user-visible reply and attribution consequences and should be reviewed, not treated as a hidden technical switch.

Walk through a controlled comparison

Illustrative case: an original message from an author domain has a valid full-body signature. The list adds a footer and signs the modified message using its own unrelated domain while preserving the original From. The original signature can fail and the list signature can pass, yet the latter does not by itself meet DKIM alignment for the original From. This explains why a generic “DKIM pass” label can be misleading.

Use a second test only if the list offers a supported alternative, such as a different modification or author-handling policy. Compare receiver results and human-facing reply behavior. Do not assume every list product has the same options or that every receiver will make the same acceptance decision.

Choose a documented list policy

Possible design choices include reducing unnecessary modifications, signing the final redistributed content, or using supported author-handling behavior with clear attribution. Each choice should be tied to the list's purpose and current product documentation. Avoid enabling partial-body coverage through l as a universal footer workaround; RFC 6376 §8.2 warns about unsigned appended-content risks.

If a receiver accepts legitimate indirect mail through a local exception or additional trusted evidence, document that decision separately from the DKIM and DMARC verdicts, consistent with RFC 9989 §5.3.6. Do not weaken the author's entire domain policy merely because one list path needs investigation.

Validate the reader experience

Test plain text, HTML and attachments, plus Reply and Reply All behavior. Preserve both authentication evidence and a human review of attribution. A completed fix shows which identity takes responsibility for the redistributed message, which original guarantees survive, and how subscribers can reply without being misled.

Evidence needed for the next decision

Use a hypothetical list run to fill one row per signature: original/list identity, signed headers, body coverage, verification result and alignment to the final Author Domain. If the original fails and the unrelated list identity passes, check SPF alignment separately before assigning a DMARC result. Capture reply behavior before approving any visible identity rewrite. These are proposed review steps, not executed tests.

[ Takeaway ]

Compare list input and output, keeping each signature distinct. A new list signature does not repair an original signature. Test attribution and replies alongside authentication.

[ By role ]

What this means for you

Choose your role for practical next steps.

IT / Mail Admin

Map original and list signatures

Separate input verification from output signing and alignment.

Next steps

  1. Capture both boundaries.
  2. Test each supported list option.

CISO / SecOps

Scope indirect-mail decisions

A list exception should not silently relax protection for every sender.

Next steps

  1. Document trust assumptions.
  2. Review residual impersonation risk.

Founder / Non-technical

Include subscriber experience

A technically passing change can still confuse attribution or replies.

Next steps

  1. Approve visible identity changes.
  2. Test important discussion lists.

[ FAQs ]

Frequently asked questions

Can a subject prefix break DKIM?

Yes, when it changes a Subject field covered by the original signature.

RFC 6376 §5.4

Can a list footer change the body hash?

Yes, under ordinary full-body coverage it adds substantive signed-body content.

RFC 6376 §3.4 RFC 6376 §3.7

Does list signing repair the original signature?

No. It creates a separate signature over the redistributed message.

RFC 6376 §5.5

Why can list DKIM pass while DMARC fails?

The list’s signing domain may not align with the final visible From domain, and no other aligned path may pass.

RFC 9989 §4.4.1 RFC 9989 §5.3.5

Is From rewriting invisible to subscribers?

No. It changes a visible identity and can affect attribution and reply behavior.

Should every list use l?

No. Partial-body coverage creates unsigned-content risks and is not a universal remedy.

RFC 6376 §8.2

Should we disable domain enforcement for one list?

Diagnose the list route and supported alternatives first; a broad policy change can have wider consequences.

What belongs in acceptance testing?

Authentication results, raw message comparison, sender attribution and Reply/Reply All behavior across relevant formats.

[ Sources ]

Sources

  1. RFC 6376

    Sections §1 · §3.1 · §3.4 · §3.5 · §3.7 · §5.4 · §5.5 · §8.2

  2. RFC 9989

    Sections §4.4 · §4.4.1 · §5.3.5 · §5.3.6

  3. RFC 8601

    Sections §1.2 · §7.1

[ Glossary ]

Glossary

DKIM
A domain-associated signature over selected message content, verified using public-key data.

RFC 6376 §1

Selector
The s value used with the d signing domain to find verification data.

RFC 6376 §3.1 RFC 6376 §3.5

DMARC alignment
The required relationship between an authenticated identifier and the Author Domain.

RFC 9989 §4.4

Canonicalization
Specified preparation of headers or body before DKIM hashing and verification.

RFC 6376 §3.4

Enterprise provenance

Why top financial institutions and governments retired their email security dashboards.

Traditional email authentication platforms sell you a dashboard and ask your engineers to do the labour. In high-stakes environments, manual oversight means delayed enforcement, configuration drift and unmonitored shadow domains.

EmailAuth is the agentic email provenance platform. Our agents enforce p=reject, keep third-party senders aligned and move your domains to full RFC 9989 compliance, the new DMARC standard,, with human-in-the-loop auditability.

Governments Large enterprises Tier-1 financial institutions

SaaS · Dedicated tenancy · Air-gapped on-prem · BYOK encryption

Knowledge Base