こんにちは、ちゃりおです。
突然ですが、メルマガの配信停止ってめちゃくちゃ面倒じゃないですか。
- メール内の配信停止ボタンがどこだかわからない
- ログイン必須(ログインパスワード覚えていない)
- ログインしても、配信停止の設定までなかなかたどり着けない
エンジニアとしても、配信停止は簡単にしてほしいものです。
最近、メール配信サービスで有名なSendgridのセミナーに行きました。
セミナー内で簡単にメール配信を停止する方法を教えてもらったので、共有します。
Sendgridとは
SendGridは、簡単かつ確実にメール配信を行うためのクラウドサービスです。 到達率を高めるための送信ドメイン認証への対応、ビジネスの成長に合わせ柔軟に拡張できるスケーラビリティ、配信状況や開封、クリックなどのリアルタイム分析機能など、メール配信に必要な様々な機能を提供します。
一言でいうと、メール配信のクラウドサービスです。
AWSのSESとかMailChimpとかと同じ感じです。
メールの配信停止のあるべき姿
Sendgridのベストプラクティスから抜粋します。
- ログインを必須にしない。
- 複数回のクリックが必要になると面倒に感じるので、シンプルに1クリックで完了させる。
- 配信停止リクエストを受け取ったら、すぐに配信をやめる。時間をあけるのはNG。
- 配信停止の意志確認をするためのメールを送信しない。(配信停止を希望している人に対して別のメールを送ると、不快に思われる)
配信停止が面倒で迷惑メールとして報告されるより、簡単に配信停止できるほういいです。
迷惑メール報告されると、送信元の信頼性が下がり他のユーザへのメールも迷惑メールフォルダに振り分けられやすくなります。
メール送っても、見られなければ意味ないですよね。
Sendgridでメールのワンクリック配信停止を実装してみる
- Sendgridアカウント
- メールアドレス
実際に試す場合は、上記を用意しておいてください。
Sendgridダッシュボードにログイン
サブユーザの場合だと、日本語サイトからログインできないので英語サイトのリンクも張っておきます。
APIのリファレンスも開いておいてください。
日本語サイト: https://sendgrid.kke.co.jp/app?p=login.index
英語サイト: https://app.sendgrid.com/lgoin
APIリファレンス: https://sendgrid.com/docs/API_Reference/api_v3.html
APIキーを作成しておく
ログインしたら、Sendgridのダッシュボードから
Setting>API Keys>Create API Keyの順に選択してください。
権限は以下の通りにしてください
- Restricted Access
- MailSend: FullAccess
- Suppressions: ReadAccess
画面の通りに操作すると、API keyが表示されます。どこかに保存しておいてくだいさい。
Unsubscribeグループの作成
Sendgridのダッシュボードで配信停止に必要な設定をします。
サイドバー「Suppressions」>「Unsubscribe Groups」>「Create New Group」を選択します
下記の画面が表示されるので、「GroupName」「GroupDescription」は任意の値をいれておいてください。
「Make default group」にチェックを入れて、「Save」を選択します。
下記のように表示されます。「GROUP ID」の4桁の数字は後ほど使います。
メール送信してみる
配信停止のリンクを付けたメールを送信してみます。
APIリファレンスの方に移動してくだしさい。
サイドバーから、「MAIL SEND」を選択します。
スクロールすると、「Try it out」というのがあるので、選択します。
下記のコードを一部書き換えて、貼り付けてください。
- 「”to”: [{“email”: “hoge@example.com”}]」を自分のメールアドレスに書き換える
- 「”group_id”: 0000」の「0000」の部分を「GROUP ID」の数字に書き換える。
「Send Request」を押した際に「202」が表示されていれば、送信が成功しています。
配信停止してみる
メールがこんな感じで来るので、「配信停止はこちら」をクリックします。
すると、以下の画面に飛びます。これで配信停止は完了です。
ダッシュボードの「Suppressions」>「Group Unsubscribes」で配信停止されたメールアドレスが表示されます。
この状態で、もう一度メール送信しても配信されないです。
もう一度配信したい場合は、「Group Unsubscribes」のリストから削除する必要があります。
まとめ
今回は、Sendgridの機能を使ってメールの配信停止をやってみました。
Sendgridで弾いているので宛先には届きませんが、アプリケーション側でも該当の宛先に送らないようにしないとメールの送信数はカウントされるので注意が必要です。