レピュテーション管理にもマルチテナントにも対応!本格的なメール配信基盤をTwilio SendGridで実現

レピュテーション管理にもマルチテナントにも対応!本格的なメール配信基盤をTwilio SendGridで実現

Twilio SendGridはメール運用に必要な機能が充実しています。
SendGridを利用することで、システムから送るトランザクションメールと、手動で一斉配信するマーケティングメールの両方に対応できます。
本記事では、無料トライアルやEssentialsプランで基本的なメール送信ができるようになった後、SendGridで本格的なメール配信基盤を構築する際に検討すべきことや、お勧めの機能を紹介します。

サービスにSendGridを組み込んだ構成例

サービスにSendGridを組み込んだ構成例

SendGridを本格的に活用する際に検討すべきこと

SendGridを本格的に活用することが決まったら、まずは送りたいメールの種類を整理しましょう。これを元に、サブユーザを使うかどうか、IPレピュテーションを分けるかどうか、といった送信環境の計画を立てていくとスムーズに検討が進みます。それぞれ詳しく説明していきます。

1. 送信するメールの種類を整理

はじめに、SendGridを利用して送るメールの種類を整理します。大まかにはトランザクションメールとマーケティングメールの2種類に分けて考えていきます。

トランザクションメール(サインアップや認証メールなどシステムから送信するもの)はWeb APIのMail SendエンドポイントSMTPを利用して送信します。

一方、マーケティングメール(メール担当者が手動で一斉配信を行うもの)はマーケティングキャンペーン機能を利用して送信します。この機能では、ブラウザ上で宛先メールアドレスのアップロード、キャンペーンメールの作成とスケジュール送信などができます。

どちらの方法でも、メールの種類やキャンペーンごとに異なるカテゴリ情報を付与してメール送信することで、カテゴリごとにメールの送信状況(到達率、開封率、クリック率など)を分析できます(方法は後述します)。

2. メール送信環境を分離する単位を検討

次に、メールを送信する環境を分離する単位を検討します。SendGridでは、サブユーザ機能を利用してメールの送信環境を分離できます。送信ログや統計情報が分離されるため、他の環境のデータが混在することがなく、運用がシンプルになります。前のステップで整理したメールの種類に応じて、データの混在を避ける単位ごとにサブユーザを分けることを検討してください。
一般的には、環境ごと(本番/検証/開発など)、テナントごと(マルチテナントサービスの場合)に分けます。状況に合わせてサブユーザの作成計画を立ててみましょう。なお、サブユーザ機能はPro以上のプランで利用できます。

計画を立てたらサブユーザを作成します。送信元のサブユーザの切り替え方法は、トランザクションメールとマーケティングメールで異なります。トランザクションメールの場合、各サブユーザで発行したAPIキーを使い分けることで切り替えます。APIキーはメール送信リクエストを行うアプリケーションの環境変数などに保存して利用してください。
マーケティングメールの場合、ダッシュボード上でサブユーザに切り替えて送信することで送信元のサブユーザを使い分けます。

3. IPレピュテーションの分離と送信元IPアドレスの割り当てを検討

最後に、IPレピュテーションの分離と固定IPアドレスの割り当てを検討します。固定IPアドレスは、親アカウントで追加したものをサブユーザに割り当てて使います。同じ固定IPアドレスを複数のサブユーザに割り当てることでIPレピュテーションを共有できます。逆に、個別の固定IPアドレスを割り当てることでIPレピュテーションを分離できます。1つのサブユーザに複数の固定IPアドレスを割り当てることも可能です。
ごくまれに、初期状態のまま1つのIPアドレスで極端に多い通数のメールを送っているケースを見かけます。送信通数が変化した場合は、1日あたりの送信通数に応じてIPアドレスの数を見直してみることをお勧めします。

固定IPアドレスもPro以上のプランで利用可能です(アップグレードしたタイミングで1つ割り当てられます)。必要に応じて追加もできます。

送信後に分析できる形でメール送信する方法

本節ではカテゴリによる分析ができるメールの送信方法を紹介します。メール送信時にカテゴリを指定することで、Stats機能を利用したメールの分析が行いやすくなります。

トランザクションメールの送信

トランザクションメールはWeb API Mail SendエンドポイントやSMTPを利用して送信します。基本的な送信手順はこちらを参照してください。
送信リクエスト内でカテゴリを指定します。以下は、Web APIでカテゴリに「signup」を指定した場合の送信リクエスト例です(末尾のcategoriesプロパティに注目してください)。

{
    "personalizations": [
        {
            "to": [{"email": "recipient@example.com"}]
        }
    ],
    "from": {
        "email": "sender@example.com", "name": "SendGrid 太郎"
    },
    "subject": "サインアップメール",
    "content": [
        {
            "type": "text/plain",
            "value": "サインアップメールです。"
        },
        {
            "type": "text/html",
            "value": "<p>SendGridへようこそ。</p>"
        }
    ],
    "categories": [
        "signup"
    ]
}

マーケティングメールの送信

マーケティングメールはマーケティングキャンペーン機能を利用して送信します。基本的な送信手順はチュートリアルを参照してください。マーケティングキャンペーン機能でカテゴリを指定する場合、キャンペーン編集画面の「Categories」で指定できます。

マーケティングキャンペーン機能のカテゴリ

カテゴリごとにメールを分析する

メールの送信状況はStats機能で分析できます。カテゴリごとに分析する場合はCategory Stats(Stats > Category Stats)を利用します。特定のカテゴリにおける到達率や開封率、クリック率などを簡単に確認できます。

Stats機能

その他

メールが届かない場合はEmail LogsEvent Webhookなどを利用して対応します。詳しくはこちらの記事を参照してください。これらの機能でも、カテゴリやサブユーザごとにイベントデータを絞り込むことができます。
また、先述のとおり、サブユーザ機能や固定IPアドレスはPro以上のプランで利用できます。料金プランの変更方法についてはこちらを参照してください。

まとめ

今回は、SendGridで本格的なメール配信基盤を構築する際に考慮したい項目を紹介しました。SendGridは一見すると機能がたくさんあり、何から手を付けていいかわからなくなりがちですが、今回の記事が参考になれば幸いです。
SendGridの始め方はこちらで確認できます。まずは無料でお試ししてみませんか?

SendGridで送信を始めるときの「やりたいこと別のチェックリスト」はこちらをご確認ください。
他にも導入検討中の方から多く寄せられる質問とその回答をまとめているので参考にしてみてください。

アーカイブ

  • クレジットカード
    登録不要

  • インストールは
    一切不要

  • 独自ドメイン
    利用OK

SendGridの充実した機能をまずは
試してみませんか?

無料トライアル