SendGrid 新人成長記 第十回 SendGridでできること

SendGrid 新人成長記 第十回

日々の先行きが見えない今日この頃ですが、それでも月日は経って気がつけば4月です。弊社も新しい新卒社員の方々をお迎えし、ついに私は新人ではなくなってしまいました。ということで、今回が本ブログ連載の最終回となります…!

一年近く前に初めて弊社のSendGridのページを見た時のことを思い出すと、初見ではSendGridがどういうサービスなのかわかりづらかったのが正直な印象でした(あくまでメール配信サービスやメールインフラに詳しくない人の目線ではありますが)。そういうわけもあって、この連載の第一回目ではSendGridが提供する役割を自分なりに書きました。この記事では概念的な説明しかできなかったので、最後にこれまで得てきた知識を活かし、SendGridでできることを実際のSendGridの機能と関連付けて紹介したいと思います。

メールを作成し、送信すること

メールを簡単に作成・送信できること、アプリケーションとの連携が容易であることはメール配信サービスに第一に求められる機能です。送信者の立場から言えば、SendGridを使って送ることのできるメールは二種類に大別できます。

1. トランザクションメール

トランザクションメールは、Webサービスの会員登録やパスワード変更など、ユーザのアクションをトリガとして送られる自動配信メールのことです。
SendGridではメール送信APIを用意しているので、宛先、本文などメール送信に必要な情報をPOSTすることでメールを送信できます。これにより、アプリケーションと連携した自動配信システムの構築が可能です。自前のSMTPサーバを用いて送信している場合でも、それをSendGridのSMTPサーバに切り替えるだけで送信できます。
宛先ごとに異なる文字列を指定して本文や件名に埋め込んで送信したり、あらかじめテンプレートを用意しておいて (Dynamic Transactional Template機能) 、適宜パーソナライズして送信したりできます。

2. マーケティングメール

もう一つはセールやキャンペーン情報を送るマーケティングメールです。SendGridでは、宛先の追加からメール本文の作成、送信までをブラウザ上の操作だけで簡単に行えるマーケティングキャンペーンという機能を提供しています。

  • CSVファイルのアップロードにより宛先の情報を一括登録できます。独自の属性情報も登録可能なので、それに従ってパーソナライズされたメールを送るのも簡単です。
  • マーケターなどのノンプログラマーでもHTMLメールを簡単に作成できます。
  • メールの内容を変えたA/Bテストも可能です。
HTMLメール

テキスト、コードなどのモジュールをドラッグ&ドロップして簡単にHTMLメールが作成できます

Webサービスがユーザとやりとりする「道」を確保すること

1. メールの大量送信を可能にするスケーラビリティの確保

特にマーケティングメールでは、何万ものユーザに向けて一斉にメールを送信することがあります。一件のメールを送るのは容易でも、1万件のメールを迅速に届けるには盤石なメール送信インフラを用意しなければなりません。SendGridでは一日に42億通のメールを捌くインフラを構築しています。

2. きちんとメールを宛先に届けること

メールを送信できることと、それをきちんと相手に開封してもらうことは全く別物です。メールサービスはスパムメールとの闘いに常に晒されており、メール送信者は受信者に望まれるメールを送ることが常に求められます。SendGridはそのために最大限のサポートを提供しています。

2.1. 送り主が正当であることの証明

Domain Authenticationは、送信者が「なりすまし」でないことを証明する送信ドメイン認証(SPF/DKIM)を送信者の独自ドメインで設定する機能です(※)。また、メールの送信元IPアドレスの逆引き設定を可能にするReverse DNS、メール文中のリンクを独自ドメインにするLink Branding機能もあります。これらをまとめてSendGridではSender Authentication機能という名前で提供しています。

2.2. IPレピュテーション管理

送信実績のないIPアドレスや、送信者に望まれないメールを送るIPアドレスからメールが送信されると、宛先にブロックされてしまうことがあります。そのため、メール送信者は使用するIPアドレスの信頼度=IPレピュテーションを高く保つ必要があります。Proプランではそのユーザ専用の固定IPアドレスを用意してユーザ独自のIPレピュテーション管理を可能にしています。また、特定のIPアドレスから大量のメール送信を可能にするためには、初めから大量のメールは送らず、送信通数を徐々に上げながらIPレピュテーションを高めておく必要があります(IPウォームアップ)。SendGridは、具体的なIPウォームアップのスケジュールをはじめ、大量送信を行うためのレピュテーションに関するノウハウを蓄積しており、経験がないユーザでも手軽に大量のメール送信を行うことができます。

顧客の反応を把握すること

メールがきちんと届いたか、受信者が開封等のアクションをしたか確認できることは、システムの運用においてもマーケティングの施策においても重要です。SendGridでは、メールリクエストの処理(Processed)、宛先サーバへの到達(Delivered)、受信者による開封(Open)、リンクのクリック(Click)などの「イベント」を時系列にしたがって一つ一つ確認できます(Activity)。
これにより、マーケティングにおいては、例えばリンクをクリックしたユーザにだけ別のメールを送るなど、柔軟に運用することが可能になります。
またメール配信システム運用の観点では、メールのバウンスやユーザによる配信停止・迷惑メール報告を知ることができ、望まれていないメールを送らない仕組みを構築できます。配信停止や迷惑メール報告を行った宛先に対してメールを送るとレピュテーションや到達率の低下に繋がる(※)ため、SendGridでは次回以降それらの宛先へのメールを自動的に破棄する仕組みになっています。

なお、SendGridのActivity画面から全てのイベントを確認できるわけではなく、表示には制限があります。過去の全てのイベント情報を保持しておくために、Event Webhook機能を使うことをおすすめしています。この機能は、指定したURLにイベントの内容をPOSTするものです。初めの設定が少し面倒ではありますが、ユーザ側でデータを蓄積して、運用に役立ててください。

ちなみにSendGridはその名の通り送信に特化したサービスで、メール受信箱のような機能はありません。ただ、メール受信が全くできないわけはなくて、指定したドメイン宛のメールをSendGridが受信して、その内容を任意のURLにPOSTするInbound Parse Webhookという機能があります。

SendGridの機能を駆け足で紹介してみましたが、いかがだったでしょうか。メールインフラ初心者からすると少しとっつきにくいSendGridの機能を、今まで学んできた自分への備忘録として、そして次に入ってくる新人への紹介として書いてみました。
新人成長記という形でのブログ投稿は今回で終わりにしますが、新人ではなくなったからといって一人前になれたわけではありません。今後も学んだことを随時発信していけたらと思っているので、今後ともよろしくお願いします!

メールを成功の原動力に

開発者にもマーケターにも信頼されているメールサービスを利用して、
時間の節約、スケーラビリティ、メール配信に関する専門知識を手に入れましょう。