
## この記事でわかること

- ML を通すと DMARC が壊れる仕組み（Subject prefix / From 書換）
- ML 運用者が取れる 3 つの対応（ARC 署名 / From rewriting / 配信制限）
- Mailman 3 / Sympa / Google Groups の対応状況
- ML 参加者ドメインが DMARC `p=reject` を有効化したときの巻き込み事故防止

## ML を通すと DMARC が壊れる仕組み

ML は受信したメールを参加者全員に再配信する仕組みです。この過程で:

![ML での DMARC 破綻ポイント](/blog/mailing-list-arc/breakage-points.svg)

- **Subject に `[ML名]` を prefix**: 本文 + Subject ハッシュが変わり DKIM 破綻
- **From は元送信者のまま**: DMARC のアラインメントは「From ドメイン」を基準にするが、SPF は ML サーバ IP になるため fail
- **Reply-To / List-Post ヘッダ追加**: 元のヘッダ署名範囲に含まれていると DKIM 破綻
- **本文末尾にフッター**: 本文ハッシュが変わり DKIM 破綻

結果、参加者ドメインが DMARC `p=reject` を有効化すると、**ML 経由のメールがすべて reject** され、参加者にメールが届かなくなります。Yahoo / AOL が 2014 年に `p=reject` を有効化したとき、世界中の ML が機能不全になった事例があります。

## ML 運用者が取れる 3 つの対応

![ML 運用者の 3 対応](/blog/mailing-list-arc/three-options.svg)

### 1. ARC 署名を付ける（推奨）

ML サーバが受信時の認証結果を ARC ヘッダで残し、配信側でも再署名する。受信者ドメインが ARC を信頼すれば、DMARC fail でも spam 落ちを免れます。[ARC 認証の深掘り](/blog/arc-authentication-deep-dive) 参照。

### 2. From rewriting（書換）

`alice@example.com via mlname@list.example.org` のように From を ML 側に書き換え、Reply-To に元送信者を入れる。DMARC アラインメントは ML ドメインで pass しますが、参加者の受信トレイで送信者表示が複雑になり、返信先操作も必要。

### 3. 配信先制限

DMARC `p=reject` を設定しているドメインからの投稿に対しては From rewriting を強制、それ以外は素通しというハイブリッド運用。Mailman 3 が標準でサポート。

## 主要 ML ソフトの対応状況

- **Mailman 3**: ARC 署名対応（v3.3.0+）、DMARC mitigation で From rewriting オプション。推奨
- **Mailman 2**: ARC 未対応。From rewriting のみ。**新規利用は非推奨、3 系への移行を**
- **Sympa**: 6.2.40+ で ARC 対応
- **Google Groups**: ARC 対応済み（Google が ARC の主要推進者）
- **GNU listserv / Majordomo**: 古い ML ソフトは ARC 未対応のものが多い

## ML 参加者ドメイン側の注意

参加者として ML に投稿するドメインが DMARC `p=reject` を有効化する前に:

- 社員が業務で参加している ML を棚卸し
- ML 運用者に ARC 対応状況を確認
- 必要なら ML 運用者に From rewriting への切替を依頼
- 段階強化（`p=none` → `quarantine` → `reject`）で影響を観察

DMARC 段階強化の手順は[DMARC ポリシーを quarantine に強化する手順](/blog/dmarc-policy-tightening)を参照。

## まずは現状を把握しましょう

ML 経由の DMARC fail はレポート（rua）で検知できます。無料の[ドメイン診断](/diagnose)で SPF / DKIM / DMARC の状況を確認し、ML 運用や DMARC 段階強化の判断に迷う場合は[お問い合わせ](/contact)からご相談ください。

関連記事: [ARC 認証の深掘り](/blog/arc-authentication-deep-dive) / [DMARC ポリシーを quarantine に強化する手順](/blog/dmarc-policy-tightening) / [DMARC レポート 見方ガイド](/blog/dmarc-report-reading)
