RFC8058を読み解く(List-Unsubscribeってなんだろう)
みなさん、こんにちは
SOMPOシステムズのアプリケーションエンジニアです。
今回は、普段よく目にする割に、意外と読まないRFCのお話です。
Gmailのメール送信者のガイドライン
2023年10月に米Google(グーグル)が「メール送信者のガイドライン(Email sender guidelines)」を発表しました。
これは2024年2月以降に適用されるガイドラインで、本ブログ執筆時点ではすでに半年以上が経過しています。
この間、多くのエンジニアが対応に追われましたが、当社も例外ではありません。特に、「1 日あたり 5,000 件以上のメールを送信する場合の要件」に該当するシステムを担当するエンジニアは、短期間で多くの対応を余儀なくされ、寝る間も惜しんで(笑)ガイドライン遵守に向けた対応を進めました。
今回は、このガイドラインの中から「マーケティング目的のメールや配信登録されたメールを送信する場合は、ワンクリックで登録解除できるようにする必要があります。」という条件についてRFCの観点からなるべく分かりやすく説明し、具体的にどのように対策が施されているのかを紹介したいと思います。
何が困るの?
このガイドラインを読んでピンと来る方は少ないかも知れません。システム担当者であっても、ある程度幅広くメールを送信するシステム(メルマガなど)のご担当者でなければ、そもそも何が困るのかも分かりにくいかも知れません。
困る人
このガイドラインに抵触すると困るのは、「幅広くメールを送る人」(=マーケティングなどの目的で、広く情報を発信する事業者)と、そのシステムを担当している方になります。
起きる事象
このガイドラインに抵触すると、場合によっては迷惑メールとして扱われる可能性があります。
通常、システムからメールを送信する際に、送信側で通信エラーなどを検知することはできますが、迷惑メールとして判断された場合などは検知することができません。そのため、相手方にメールが届いた(受理された)かどうかを正しく判断することはできません。したがって、システム利用者に適切な情報を届けられないという事態を招きかねません。
これらの問題を可能な限り回避するためにも、ガイドラインに準拠したメール配信手法をシステム側で対応することが求められます。
RFCとは
正式名称は「Request for Comments」で、IETFという米国政府による支援を受けたNPOが技術仕様を公開する形式のことです。
JPNICの解説を見ると色々と書いてあるのですが、あくまでも位置付けとしては共有すべき内容であって、絶対的なルールではないという点にご注意ください。インターネットの世界はその利用者の心がけで統治されているものなのです。
堅苦しい文章のようですが、読んでみると意外な発見も多いものです。例えば、RFC1459を読んでみると、pingの応答として「pong」というメッセージが定義されています。「ピンポン」という言葉を連想させるこれらの定義もRFCに明記されているのです。
余談ですが、RFCにはジョークも多く公開されており、エイプリールフールの定番ジョークがWikiPediaに「April Fools' Day Request for Comments」としてリンクされていますので、興味のある方はご覧になってください。
なお、以下の解説は主にRFCの日本語訳サイトからの引用となります。原文のまま読みたいという方はこちらからご参照ください。
RFC8058とは
さて、本題のRFC8058(日本語訳はこちら)に入りましょう。
タイトルは「Signaling One-Click Functionality for List Email Headers」(日本語訳:リストの電子メールヘッダーのワンクリック機能のシグナリング)となっています。
日本語訳の要約にも「このRFCの目的は、ユーザーが不要なメーリングリストのメールを簡単に購読解除できるようにすることで、メールの利便性を向上させることにあります」との記載がある通り、簡単にメーリングリストを解除できる仕組みのための共通仕様を定義しています。
List-Unsubscribeの定義
List-UnsubscribeヘッダーはRFC2369(日本語訳はこちら)に定義されたメールヘッダーで、メール受信者がメーリングリストを直接解除することを目的としたコマンドを記述するためのフィールドです。「コマンド」と言ってもコンソールからコマンド入力を求めるようなものではなく、以下の例のようにメールやURLへのリンクの記載を想定しています。
List-Unsubscribeの実装
RFC8058の記載を読み進めると、中段に以下のような記述があります。
この内容は、メールのList-Unsubscribeヘッダーに記載されたURIの実装は、メール配信者が用意する必要があるとされています。システムイメージを図式化すると以下のようになるかと思います。
ポイントとしては、List-Unsubscribeヘッダーに記載するURIは、当該購読者の購読情報を直接解除できるURLであることです。リンククリックの際にユーザー認証などの他の操作を必要とする仕組みは適切ではありません。
また、List-Unsubscribeヘッダーによるリンク表示の実装は、各種メールソフトの実装に委ねられています。Gmailの場合は以下のように表示されます。(画像上部の赤枠のリンク)
このメールのソースは以下の通りです。(赤枠内がList-Unsubscribeの記述)
Gmailのガイドラインとの整合性
Googleが示しているガイドラインには、以下のような記述があります。
上記に従ってメールヘッダーを構成することで、
ワンクリック解除用のリンク表示
リンククリック時のPOST送信
を実現してくれます。
また、以下の記述にも注意が必要です。
これは、メーリングリストの解除にあたって、他の手法を否定するものではありませんが、ワンクリック解除とは認めないという趣旨と理解しました。ですので、あくまでも「ワンクリックで解除できる」ということが必要なのだと考えられます。※メール本文に直接リンクを埋め込む方法がNGになるかどうかは読み取れませんでした。
SOMPOの対応は?
損保ジャパンが誇るオウンドメディア「SOMPO Park」は、600万人近い会員数となっており、メールマガジンの配信などを行っております。
当然今回のメール送信者のガイドラインについては早期に対応に取り掛かっており、ワンクリック解除以外の対応も完了しており、現時点では制限に引っ掛からないようになっています。
会員登録されている方は、メルマガ購読していただければメールソースも確認できますので、是非とも参考にしてください。