ちょっと話題の記事

【完全無料】メール送信SaaSのSendGridハンズオンに参加してWebAPIメール送信とか試してきた

メール送信SaaSの代表格、SendGridの無料ハンズオンに参加してきた様子をお届けします。非常に丁寧に構成されたハンズオンで満足度非常に高かったです。
2018.07.23

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

「今の環境をAWSに移行したいんですよ。でね、メール送信ってどうしましょ?」

AWS事業本部コンサルティング部としてお客様への訪問時、この話題になることはむっちゃ多いです。もちろんメール以外にも考慮しないといけない点は他にも多々ありますが、メール送信も例外ではありません。ある意味、非常に独特のノウハウが必要となる領域と言えるでしょう。

  • バウンスメールの対処
  • リストクリーニング
  • IPウォームアップ
  • レピュテーション管理
  • ブラックリスト対策
  • etc...

そんな中、SendGrid様が無料でハンズオンを実施していると聞き、いの一番に参加した様子をお届けいたします。

非常に質の高いハンズオンで、メール送信の留意点からSendGridの代表的な機能を短時間で体験できたので、メール送信手段を検討している方には、是非一度受講をオススメしたいお得な企画だと思います。

 __
(祭) ∧ ∧
 Y  ( ゚Д゚)
 Φ[_ソ__y_l〉     SendGridダワッショイ
    |_|_|
    し'´J

ハンズオン参加のきっかけ

一番の理由はメール送信SaaSがどういうものか知りたかったからです。

AWSへの移行を検討されるお客様において、従来のメール送信の仕組みの移行もよく話題に上がります。手段は大きくわけて以下の3つ。

  1. EC2でメール送信する
  2. SES(Simple Email Service)を利用する
  3. SaaSのメール送信プロバイダを検討する

この時、よく3の選択肢で「SaaSという手もありますよ。SendGridなどは有名ですよね!」と案内しながらも、自分自身がよく知らないという状態でした。

それもどうやねんという危機感から、今回改めてハンズオンを受講してみようと思ったわけです。

ハンズオン会場は構造計画研究所様オフィス

今回参加したイベントはこちら。

【開発者向けセミナー】SendGridメール送信ハンズオン【無料】 - SendGrid | Doorkeeper

ハンズオン開場は構造計画研究所様の中野イノベーションオフィス

構造計画研究所は、SendGridの日本代理店ということで、日本向けサービスを各種展開されており、今回のハンズオンもその一環ということです。

飲み物自由に選ぶことができます。ステキ。

綺麗なハンズオン開場。この写真と同じ程のスペースが反対側にも。今日の参加者は30人ぐらいだったかと思います。

机の上には、ノベルティと共にパンフレットとハンズオン資料。

もちろん、ハンズオン。自分のPC持ち込み前提なので、電源も完備されております。ありがたや~。

ハンズオン内容

ハンズオンの内容は以下の通り。前半が座学、後半がハンズオンという形式です。

  1. 講義
    1. メール配信SaaS SendGrid
    2. SendGridの機能
  2. ハンズオン
    1. Web API v3(HTTPS)を使ったメールの送信方法
    2. テンプレートを利用した送信
    3. 各種イベントについて(配信停止、クリック、バウンス、統計情報)

座学「SendGridとは?」

講師は、SendGridサポートエンジニアの菊田 洋一(@kikutaro_)さん。

構造計画研究所様は、創業1956年と歴史ある会社で、2013年12月にSendGridの日本代理店として日本向けサービスを開始。日本語Webサイトや、日本語サポート、日本語ドキュメント、日本円決済などで、日本でSendGridを導入するにあたっての安心感を提供しているとのこと。

AWSや、GCP、Azureなどのパブリッククラウド業者やSaaS業者とパートナーを組んでいる。

よく「メールってオワコンじゃない?」と言われれるが、そんなことはない。確かに人同士のコミュニケーション手段としてメールの利用率は下がっているが、トランザクションメール(サインアップ通知、パスワードリセット、請求書送付)や、マーケティングメール(プロモーション、キャンペーン、ニュースレター)などの利用は増大している。

用途が代わってきているということだ。

しかし、メールを届けるということは、一見簡単そうで非常に難しい。「22%のメールがInboxに届いていない」という調査結果もある。

考慮すべき事項の一例がこちら。

  • 送信ドメイン認証
  • バウンスメールの対処
  • リストクリーニング
  • 配信頻度、ボリューム調整
  • IPウォームアップ
  • レピュテーション管理
  • フィードバックループ
  • ブラックリスト対策

これら、考え出すと非常にめんどくさいことに対処するために、SendGridというメール配信に特化したサービスを利用して解決して欲しい。上記について、SendGridは様々な機能をもって対応が可能だ。

濱田感想「メール送信とは?取っ掛かりに表情にわかりやすい内容」

自分自身、メール送信という分野に対してそれほど知識がなかったため、改めてメール送信の環境と考慮事項について説明していただきわかりやすかったです。普段業務で携わっていないと馴染みが無い、バウンスメールの対処や、リストクリーニングについて、このあとのハンズオンで重要な概念になってくるポイントを丁寧に教えていただいたので、次のハンズオンにつながる濃い内容でした。

ハンズオンの始まり

実際のハンズオンがはじまります。講師は、SendGridサポートエンジニアの佐藤 航さん(@awwa500)。

本日のハンズオンは、Web APIを中心にハンズオンを進めていくとのこと。Web APIでメール送信したことないので、期待が高まります。

ハンズオンでは、ゲスト用のSendGridアカウントが発行されるので、その中でメールの送信も含めた処理が自由に可能です。

ハンズオンの大まかな流れは以下の通り

  • APIキーの作成、Web APIによるメール送信
  • 送信結果、バウンスメールの管理
  • トラッキング機能の確認
  • 公式ライブラリ、テンプレート、イベントデータなどの活用

APIキーの作成、Web APIによるメール送信

最初にAPIアクセス用のAPIキーの作成を行った後、実際にWeb APIからメール送信します。APIの送信方法、直接cURLコマンド叩いたりするかと思ったのですが、専用の画面が用意されていました。

この専用Web API画面が、ごっつ使いやすかったです。

SendGrid API v3 - SendGrid Documentation | SendGrid

APIの定義の確認はもちろんのこと、あらかじめ認証キーを設定しておけば、RequestのBodyのJsonを用意しての送信や、HTTPステータスコード、ヘッダーやBodyの確認が全てできます。

おまけに、REST APIだけではなく、他の言語のテンプレートも合わせて用意されるという親切設計。

cURLの例。

Pythonの例。

他にも、Go、Java、javascript、Node、Obj-C、PHP、Python、Swift、C#、Cが用意されています。こんだけ用意されていたら、開発捗るってもんですね。

そのため、ちょっとしたメールの送信確認も、慣れれば、全てこのWeb API画面からできてしまいます。

送信結果、バウンスメールの管理

送信結果は、SendGridのアカウント画面で行います。イベント一覧に全てのメール送信結果は表示されており、直感的に送信結果を確認可能。適当な存在しないメールアドレスにメール送信したら、バウンスリストにその宛先メールアドレスが登録されていたり、2回目の送信では、Dropイベントが発生し、自動的にメール送信対象外となります。

ここらへん、全て自動でやってくれるのはありがたいですね。ハードバウンス(宛先不明のメールアドレス)に対して、メールを再送信しないのは、メール送信元IPアドレスのレピュテーション管理として非常に重要ですが、こうやってインフラ側で自動的に管理してくれるのはありがたいです。

トラッキング機能の確認

SendGridには、組み込みのトラッキング機能が常備されており、ハンズオンでは、以下のトラッキングを確認します。

  • クリックトラッキング
  • 開封トラッキング
  • 配信停止

配信停止の仕組みまで用意されているのは驚きました。メール送信時に、あらかじめ決められたメール配信停止用のリンクを埋め込んだスニペットを用意しておくだけで、リンククリックからのメール停止がノンコーディングで実現可能です。

メール配信停止リンク用のスニペット例。

普通、こういうのって別途アプリケーション側での作り込みが必要になったりしそうですが、そのあたりが簡単にできるのもSaaSならばこそ、ですね。

その後、メール送信して開封やリンククリックで、それらが全てトラッキングされていることをハンズオンで試すことができます。

公式ライブラリ、テンプレート、イベントデータなどの活用

最近はHTMLメールは当たり前の時代ですが、そのあたりのメールを作成するためのテンプレートの組み込み機能ももちろんあります。ここらへん、GUI上で全てすんでしまうのは、やっぱり作り込みが違うなぁと思いますね。

また、WebHookの機能も当然(!?)あります。メール送信の任意のタイミングでHookを挟むことで、独自の処理を構築することができます。

例えば、各種イベントデータを自分のアプリケーションで分析する場合は、Hookしたのと、fluentdでDynamoDBなど、すきなストレージに格納したり、mLabとの組み合わせも試すことができます。

ここらへん、設定例が以下のWebサイトで公開されているので、合わせて参考になります。

Event Webhookでイベントを受信する - ドキュメント | SendGrid

まとめ「短時間で集中してSendGridを学ぶことができる有用ハンズオン」

受講していて思ったのは、とにかくハンズオンの進行と資料が非常に丁寧にわかりやすく作られているということです。

全体の構成と、各ハンズオンの説明が非常に丁寧でサポートスタッフも非常に多く(5〜6人)、ハンズオンでトラブルがあっても、すぐに解決できます。

ハンズオン後は、質疑応答タイムも設けられているので、導入に際しての疑問点も事細かに確認することができます。また、ハンズオンで利用していたSendGridのアカウントは検証用にしばらく利用することができるので、ハンズオン期間中に試すことができなかったことなども、あとからいろいろ試すこともできます。

メール送信について自分は知見があんまりなかったのですが、メール送信に関わる全体的な知見と合わせて、SaaSの代表格、SendGridの主要機能を体験することができるハンズオン。これらの業務に関わる運用担当者も開発担当者も、是非一度、受講してみてはいかがでしょうか。

それでは、今日はこのへんで。濱田(@hamako9999)でした。