配信停止の導線は、法的な義務であると同時に到達率を守るための実務上の要です。ここでは List-Unsubscribe ヘッダの仕組みと、実装で必ず踏む落とし穴を整理します。
なぜヘッダに書くのか
配信停止のリンクは本文にも書きます。ではなぜヘッダにも書くのか。理由はメールソフト側にボタンを出させるためです。
| 導線 | 受信者の手間 | 選ばれやすさ |
|---|---|---|
| 本文のリンクを探す | 本文を下までスクロールして探す | 低い |
| メールソフトのボタン | 画面上部のボタンを押す | 高い |
| 迷惑メールを報告 | ボタンを押す(同じ手間) | 高い |
3行目が競合相手です。「配信停止」と「迷惑メール報告」が同じ手間なら、どちらを押されても不思議はありません。ヘッダを入れて配信停止ボタンを出させることは、報告ボタンに流れる分を引き取る作業です。
2つのヘッダ
| ヘッダ | 中身 | 役割 |
|---|---|---|
| List-Unsubscribe | 停止用のURL(またはmailtoアドレス)を山括弧で囲んで記述 | 停止先の指定 |
| List-Unsubscribe-Post | List-Unsubscribe=One-Click | 確認を挟まずPOSTで実行してよいと宣言 |
2つ目が RFC 8058 で定義されたワンクリック配信停止です。これを併記すると、メールソフトは受信者が停止ボタンを押した時点で、指定URLにPOSTリクエストを送ります。受信者はページを開く必要すらありません。
最大の落とし穴 ― GETで停止させてはいけない
実装でもっとも危険なのがここです。配信停止URLをGETで開いた時点で停止を実行する作りにすると、本人が読む前に停止されます。
| 本人より先にURLを開くもの | タイミング |
|---|---|
| メールソフトのリンクプレビュー | 受信時 |
| 企業のメールセキュリティ製品(リンク検査) | 受信直後 |
| ウイルス対策ソフト・社内プロキシ | 受信時 |
| 各種のクローラ | 不定 |
この結果、送った直後に見込み客が「配信停止済み」になり、以後永久に接触できなくなります。しかも配信停止は正常な動作として記録されるため、異常として気づけません。リストが黙って減っていきます。
正しい実装は次のとおりです。
- POSTだけが停止を実行する
- GETでアクセスされた場合は、押すものが1つだけのページを表示する(確認ダイアログは挟まない)
- そのボタンはPOSTで送信する
- RFC 8058 のPOST(メールソフトが送るもの)は本文を返さず200を返す
これで規格どおりのワンクリックを保ちながら、機械の先読みによる誤停止を防げます。
確認画面を挟まない理由
「本当に停止しますか?」という確認を挟みたくなりますが、これは逆効果です。
| 止め方 | 都合が悪い受信者の行動 |
|---|---|
| 確認を何度も挟む/理由の入力を求める | やめて迷惑メール報告に回る |
| ボタン1つで完了 | 停止して終わる |
止めにくくして減らせるのは配信停止の件数だけで、止めたいという意思は減りません。行き先が苦情に変わるだけです。
停止の処理は即座に、横断で
停止を受けたら、その宛先へは以後送りません。実装上の要点は2つです。
| 要点 | 理由 |
|---|---|
| 即座に反映する | 次の配信までに反映されないと同じ相手に届く |
| 案件・クライアント横断で1つのリストにする | 別案件のリストに同じアドレスがあると再送してしまう |
特定電子メール法は、受信拒否の意思表示があった者への送信を禁じています(同法3条3項)。「別の案件だったので」は理由になりません。
また、停止の意思は配信停止ボタン以外の形でも来ます。次はすべて同じ扱いにします。
- 「配信不要」「今後の連絡は不要」といった返信
- 電話での拒否
- フォーム経由での拒否
表示義務との関係
ヘッダを入れても、本文の表示義務は消えません。特定電子メール法4条は次の表示を求めています。
- 送信者の氏名または名称
- 受信拒否の通知を受けるための連絡先(URLまたはメールアドレス)
- 送信者の住所
- 問い合わせ等を受け付ける連絡先
つまりヘッダは実務上の工夫、本文の表示は法的な要件です。両方を入れます。
まとめ
- ヘッダに書くのは、メールソフト側に配信停止ボタンを出させるため。競合相手は「迷惑メール報告」ボタン
- List-Unsubscribe と List-Unsubscribe-Post の2つで RFC 8058 のワンクリックになる
- 🔴 GETで停止を実行してはいけない。機械が本人より先に踏み、見込み客が黙って消える
- GETは押すものが1つだけのページ、実行はPOST。確認は挟まない
- 停止は即座に反映し、案件横断で1つのリストに入れる
- ヘッダは工夫、本文の表示は義務。両方入れる