Customers Mail Cloud における「ワンクリックでの登録解除」機能実装の予定のお知らせ
【更新日:2024/02/29】
はじめに
Google社が2023年に更新したGmailのメール送信者ガイドラインにおいて、マーケティングやプロモーションを目的としたメールに対し「ワンクリックでの登録解除」の実装を必須とする、という要件が追加されました。
この「ワンクリックでの登録解除」とは、メール本文内に購読解除用のリンクを設置することではなく、RFC8058に定義される「List-Unsubscribeヘッダー」をメールヘッダーに含めることを指しています。なお、通知メールのようなトランザクションメールに対しては、この要件は適用されない旨も併せてガイドラインに記載されています。
Customers Mail Cloudでは、2024年5月上旬に予定のアップデートにて「ワンクリックでの登録解除」に対応する「購読解除」機能を実装いたします。
本機能のご利用にあたり
本機能をご利用いただくには、有償のオプションをご契約いただく必要がございます。オプションのご契約や費用のお見積等につきましては、お手数ですが管理コンソールのお問い合わせフォームよりご連絡ください。
このドキュメントでは、アップデートに先立ちリリース予定機能の概要をご案内いたします。具体的な設定手順などは機能リリース時にオンラインマニュアルで公開予定です。
RFC8058におけるList-Unsubscribeヘッダーの定義について
Google社は、Gmailの利用者が受信メールの配信登録を簡単に解除できる方法として、RFC8058で定義されるワンクリックの購読解除の機能をメール配信者に要求しています。この要件の詳細については、下記リンクの内容をご覧ください。
上記の要求には List-Unsubscribe ヘッダーを配信メールのメールヘッダーを追加することで対応します。List-Unsubscribeヘッダーが含まれたメールをGmailで受信すると、メール受信者は閲覧時に「メーリングリストの登録解除」というリンクを確認することができ、ここからワンクリックでメールの購読解除が可能となります。

メール受信者がこのリンクをクリックして購読解除を行うと、List-Unsubscribeヘッダーで指定したHTTPS URIへ購読解除の情報のPOSTリクエストが届きます。この情報をもとに、メール配信者はメール配信リストから当該受信者の除外を行います。
なお、この除外処理については、POSTリクエストを受信したシステム側で別途実装することが必要となります。
Customers Mail Cloudで実装予定の機能について
上記のワンクリック購読解除の対応に関しまして、Customers Mail Cloudでは以下の機能およびAPIを実装予定です。
ご提供予定の機能
- Customers Mail Cloudから配信されるメールに対して、List-Unsubscribeヘッダーを追加する機能
- 「購読解除リンク」をクリックしたメール受信者をリスト化して保持する機能
- 配信レポートのエラーログおよびエラーグラフでの、「購読解除リンク」をクリックしたメール受信者の集計機能
- 「購読解除リンク」をクリックしたメール受信者のリストを取得するためのAPI
- 「購読解除リンク」をクリックしたメール受信者が購読を再開できるよう、「購読解除リスト」上の登録を解除するためのAPI
動作イメージ
List-Unsubscribeヘッダーを追加してのメール配信イメージ

メール受信者が購読解除リンクをクリックした際の挙動

配信リストのクリーニングの運用イメージ

購読解除リストの登録ユーザーをリストから除外(購読再開)する場合

1. Customers Mail Cloudから配信されるメールに対して、List-Unsubscribeヘッダーを追加する機能
Customers Mail CloudへSMTPリレーされたメールに対して、「購読解除フィルタ」の設定条件に合致するメールヘッダーが付与されている場合に、List-Unsubscribeヘッダーをメールヘッダーへ追加した上でメールを配信します。
「購読解除フィルタ」は、1つのサーバー構成に対して複数作成が可能です。

「購読解除フィルタ」設定画面では、設定するフィルタの名称の他、List-Unsubscribeヘッダーを追加したいメール配信を識別するためのメールヘッダー名、および対応する値のテキストのパターンを設定します。
なお、「パターン」の値は完全一致の条件として利用します。パターンの条件値を部分一致として利用したい場合は、正規表現で入力する必要があります。いずれの項目も100文字までの入力制限があります。また、設定可能な条件は1つのフィルタにつき1つのヘッダ名のみとなります。

フィルタの設定例
A. 任意のメールヘッダーを配信メールに追加可能な場合
任意のメールヘッダーとして「X-Sender-List-Id: sender_list_a_12345」を配信メールのメールヘッダーに追加した場合、購読解除フィルタの設定例は下記の通りです。
項目 | 値 |
---|---|
フィルタ名 | 配信リストA |
ヘッダ名 | X-Sender-List-Id |
パターン | sender_list_a_12345 |
B. 配信メールの既存のメールヘッダーを識別子に利用する場合
任意のメールヘッダーの追加が難しく、既存の「件名」のメールヘッダーを用いて「Subject: 【CMCメルマガ】新機能のお知らせ」から、「【CMCメルマガ】」をパターンとして部分一致させる設定をする場合、購読解除フィルタの設定例は正規表現を用いて下記のようになります。
項目 | 値 |
---|---|
フィルタ名 | 配信リストA |
ヘッダ名 | Subject |
パターン | .*【CMCメルマガ】.* |
2. 購読解除リンクをクリックしたメール受信者をリスト化して保持する機能
メール受信者が受け取ったメール内で「購読解除」リンクをクリックすると、購読解除された旨の情報がCustomers Mail Cloudへ送信されます。この情報は「購読解除リスト」としてCustomers Mail Cloud上で蓄積され、後述の集計やAPIに利用されます。なお、購読解除の状態は日次バッチ処理により購読解除リストへ反映されます。
蓄積可能な件数については、メール配信元の配信リスト側で購読解除ステータスの管理を促進する目的で、件数に上限を設ける予定です。なお、上限値は現在のところ調整中です。
購読解除リストへの登録が上限値を超えた場合、「登録が古い購読解除ユーザー」が購読解除リストから登録解除され、「新規の購読解除ユーザー」が購読解除リストへ登録されます。購読解除リストの管理に関しては、後述のAPI仕様をご覧ください。
また、本機能の初回リリース時点では、購読解除リストの取得等の操作はAPI経由のみとなります。管理コンソール上での閲覧・編集は本機能リリース以降のアップデートにて対応の予定です。
3. 配信レポートのエラーログおよびエラーグラフでの、「購読解除」をクリックしたメール受信者の集計機能
既存のエラーログ、エラーグラフおよび配信統計の画面上で、購読解除リンクをクリックしたメール受信者の総数を「購読解除数」として閲覧することができます。
なお、Customers Mail Cloud上で「購読解除リスト」に含まれているユーザーに対して、当該リストに含まれるメールアドレス宛のメールがリレーされたとしても、Customers Mail Cloudはメール配信を実施しません。
そのため、該当ユーザーへの配信をメールリレーで受け取っても「有効配信数」で集計されず、「購読解除」の配信エラーとして取り扱われレポートに反映されます。
4. 購読解除リンクをクリックしたメール受信者のリストを取得するためのAPI
「購読解除ダウンロードAPI」を利用すると、Customers Mail Cloud上の購読解除リストをCSV形式でダウンロードできます。「購読解除リスト」の登録データは、日次バッチにより更新処理が実行されます。どの配信メールが購読解除されたか、については「購読解除フィルタ」のフィルタ名から識別が可能です。
購読解除ダウンロードAPIの仕様
注意
開発中の機能のため、今後仕様変更される可能性がございます。
リクエスト
/transaction/v2/unsubscribes/download.[json|xml]
アクセス制御
項目 | 値 |
---|---|
ロール | APIグループ管理者、APIユーザ |
権限 | データ参照許可 |
パラメータ
No | パラメータ | 必須 | データ型 | 説明 |
---|---|---|---|---|
1 | api_user | Yes | ASCII | |
2 | api_key | Yes | ASCII | |
3 | server_composition | Yes | UTF-8 | |
4 | No | ASCII | このパラメータが指定された場合、部分一致するメールアドレスを検索します。 | |
5 | start_date | No | DATE | 購読解除となった日を基準とした期間検索を行うために検索開始日(yyyy-mm-dd)を指定します。検索開始日は検索期間に含まれます。 制約:start_dateはend_dateと等しいか過去日を指定する必要があります。 |
6 | end_date | No | DATE | 購読解除となった日を基準とした期間検索を行うために検索終了日(yyyy-mm-dd)を指定します。検索終了日は検索期間に含まれます。 |
7 | filter_name | No | UTF-8 | フィルタ名。完全一致とします。 |
レスポンス
リクエストが成功した場合、Content-Type に application/octet-stream を指定し、以下フォーマットのCSVファイルをZIP圧縮してダウンロードします。データ暗号化を設定している場合、パスワード付き暗号化ZIPファイルをダウンロードします。
ファイル名
unsubscribes-yyyyMMdd_HHmmss.zip
ファイルフォーマット
"created","email",”filtername”
"2015-12-14 08:46:00","from1@example.com","配信A"
"2015-12-14 12:19:00","from2@example.com","配信B"
No | プロパティ | 説明 |
---|---|---|
1 | created | 購読解除状態とした日時 |
2 | 購読解除状態にあるメールアドレス | |
3 | filtername | フィルタ名 |
エラーメッセージ
No | フィールド | エラーコード | メッセージ |
---|---|---|---|
1 | server_composition | 10-002 | 指定されたサーバ構成 {0} は存在しません。 |
2 | start_date | 10-003 | 開始日には終了日以前の日付を指定してください。 |
3 | 12-002 | 指定されたデータにアクセスする権限がありません。 |
5. 購読解除リンクをクリックしたメール受信者が購読を再開できるよう、「購読解除リスト」上の登録を解除するためのAPI
「購読解除取り消しAPI」を利用すると、Customers Mail Cloud上に蓄積されたユーザーの「購読解除」の状態を登録解除し、配信可能な状態(購読再開)とします。なお、このAPIへのデータのPOSTは随時受け取りますが、登録解除の実行は日次のバッチ処理で実施されます。
購読解除取り消しAPIの仕様
注意
開発中の機能のため、今後仕様変更される可能性がございます。
リクエスト
/transaction/v2/unsubscribes/cancel.[json|xml]
アクセス制御
項目 | 値 |
---|---|
ロール | APIグループ管理者、APIユーザ |
権限 | データ参照許可 |
パラメータ
No | パラメータ | 必須 | データ型 | 説明 |
---|---|---|---|---|
1 | api_user | Yes | ASCII | |
2 | api_key | Yes | ASCII | |
3 | server_composition | Yes | UTF-8 | |
4 | Yes | ASCII | 購読解除リストから取消する対象のメールアドレスを指定します。 制約:削除対象のメールアドレスは大文字小文字無視の完全一致で検索します。 |
|
5 | filter_name | No | UTF-8 | フィルタ名。完全一致とする |
レスポンス
{
"message" : "success"
}
エラーメッセージ
No | フィールド | エラーコード | メッセージ |
---|---|---|---|
1 | server_composition | 10-002 | 指定されたサーバ構成 {0} は存在しません。 |
2 | 12-002 | 指定されたデータにアクセスする権限がありません。 |
Customers Mail Cloudをご利用中のお客様にご準備いただきたいこと
Customers Mail Cloudをご契約中のお客様におかれましては、Customers Mail Cloudを使用したList-Unsubscribeヘッダーの追加機能のご利用にあたり、下記の点について事前にご検討・ご準備をお願いいたします。
1. 配信メールのメールヘッダーへ、購読解除フィルタを利用するための配信リストの識別子の実装
Customers Mail Cloudではメール配信における配信リストを保持していません。そのため、Customers Mail Cloud上に設定した「購読解除フィルタ」で購読解除リンクの適用の要否を判別できるよう、配信メールに識別子となるメールヘッダーを追加する必要があります。
メールヘッダーの設定例は、「1.Customers Mail Cloudから配信されるメールに対して、List-Unsubscribeヘッダーを追加する機能」の「フィルタ設定例」をご覧ください。
なお、メール配信リスト別に購読解除のステータスを管理するには、配信リスト毎に一意のメールヘッダーを指定することが必須となります。
2. 購読解除リンクをクリックしたメール受信者を、メール配信リストから除外する運用手法の検討
Customers Mail Cloudではメール配信における配信リストを保持していません。そのため、Customers Mail Cloud上の「購読解除リスト」に蓄積された情報をもとに、メール生成/配信システム側で保持する配信対象リストをクリーニングする必要があります。
このクリーニングの運用方法、もしくは購読解除ダウンロードAPIを利用しての配信システムとの連携についてはお客様側での検討が必須となります。