SendGrid Night episode 3 に参加してきました

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

ウィスキー、シガー、パイプをこよなく愛する大栗です。
7月15日にSendGridの勉強会であるSendGrid Night episode 3がEngine Yardオフィスにて開催されましたので参加してきました。

(2014/08/17 22時追記)中井さんのSpeaker Deckを追加

セッション1「SendGrid Update」

最初は構造計画研究所 SendGrid Evangelist 中井さんから「SendGrid Update」でした。

SendGridとは

SendGridは自分たちをEmail Infrastructure as a Serviceと呼んでいます。APIでEmailを送信を行え、統計データの提供や受信も行う事ができます。メールにはメルマガなどのマーケティングメールと個別送信のトランザクションがありますが、SendGridはトランザクションメールを得意としています。メールを確実に届ける事は難しいです。SPAM判定やbounce、blacklistなどがありますが、SendGridが面倒を見てくれます。

SendGridの特徴として「API」が有ります。APIには「Send HTTP/SMTP」、「Parse Webhook」、「Event Webhook」の3種があります。

Send HTTP/SMTP

HTTPやSMTPでメールを送信します。

Parse Webhook

Parse WebhookはメールをSendGridが受信し、内容を特定のURLへPOSTしてくれます。実はこの機能、現在のところ無料で提供されているそうです。

Event Webhook

Event Webhookはメールで発生したイベント情報を特定URLへPOSTしてくれます。Bounce発生時やメール開封時など様々なイベントが起きた時に内容をPOSTしてくれるため、イベントに応じた処理を実行できます。

SendGridの日本語ホームページ、日本語ドキュメント、日本語サポートを構造計画研究所で提供しています。Engine Yardのアドオンとして利用している場合でも問合せO.K.です。

 SendGrid 5th Anniversary & History

5年前に3人のデベロッパーから始まったSendGridも、2730億通のメールを送ってきました。マクドナルドが通算で販売したハンバーガーの数を超えるそうです。今では秒間4190通のメールを処理し、顧客の上位30社が月間10億通を送信しています。

SendGridは基本的にSoftLayerのインフラを使用しているそうです。アメリカに3カ所(サンノゼ、ワシントンD.C.、ダラス)、シンガポール、アムステルダムの5カ所にインカミングサーバがあり、最も近いところでリクエストを返しています。物理サーバ650台以上、仮想サーバ1100台以上を使用しているそうです。

また、SPAM等を抑止するためにコンプライアンスチームがモニタリングを行っており、月間660ユーザを停止しており、その内83%が問題を対策し使用を復活しているそうです。
一見ネガティブな情報に見えますが、継続してメール環境の正常に保つ努力を続けていると感じました。

なお、宛先不明の場合はバウンスリストに入り再度異常なメール送信はしないそうです。ホワイトリストへ登録する事でバウンスリストに入っていても送信可能です。リストを無視する送信オプションもあるらしいですが、バウンスレートを下げる為にバウンスレートを無視しない方がよいと思います。 

SendGrid Update

最近のSendGridのアップデータ情報です。

Transactional Template Engine

今までは1つしか選択できませんでしたが、複数のテンプレートを選択できる様になりました。リビジョン管理も行えるそうです。

TLS -email delivery - Opportunistic -

SendGridから相手先のメールサーバまでの経路を暗号化する事に対応しました。Opportunistic Encryptionを適用して、SendGridから相手先メールサーバまでをTLSで暗号化します。SendGridの調査では76%ISPがTLSに対応しているそうです。
TLSで送信されたかは受信時のメールヘッダで確認を行えるそうです。現在のところ送信側では確認できないそうです。

Partnership with Sendwithus

新しいパートナーとしてsendwithusが使える様になりました。マーケティングメールを管理するアプリケーションです。メールコンテンツの編集やA/Bテスト、ドリップキャンペーン(ステップメール)などを行えます。
トランザクションメールが得意なSendGridを上手く補完するパートナーのようです。

SSL Enabled Links

クリックトラッキングのためにメール中のURLをSendGridのサーバを経由してアクセスさせますが、以前はhttpsのURLもSendGridのサーバのURLではhttpで受けてhttpsの本来のURLへリダイレクトしていました。これをhttpsのURLの場合は、SendGrid側のサーバもhttpsで受ける様に対応しました。

セッション2「Tips for resolving the 5 most mistakes developers make when sending emails」

セッション2はSendGridのKen Apple氏とMohammrned Zahed氏がスタートアップ企業のCTOとデベロッパーに扮して、SendGridのデモして頂きました。

API Reference

SendGridのAPI Referenceはドキュメントとして参照するだけでなく、curlコマンドを出力できます。
実行したいAPIのReferenceでSendGridのユーザ名/パスワードを設定し、パラメータを入力するとcurlのコマンドとPOSTデータを表示してくれます。

Code Workshop

SendGridのCode Workshopは画面から設定するだけで、各言語のコードをライブラリを含めてエクスポートする事ができます。
設定を切り替えるだけで、PHPからRubyへ変更する事も可能です。

SendGrid EventKit

SenfGridにはEvent Webhookで各イベントを集計する事ができますが、受け口のWebアプリを作成する必要が有り、面倒です。EventKitはそのWebアプリを容易に構築する事ができます。
EventKitは、Webアプリの一式とSebdGrid側の設定の実施を提供します。さらにWebUIも提供しており、簡易的な分析を行えます。

また、新しくメール送信を開始する時に新規にIPアドレスを付与します。新規のIPアドレスはウォームアップをする必要が有るため、最初は送信できるメール数が制限されます。
しかし、制限数以上のメールをSendGridで事前に用意しているIPアドレスから送信する事で、最初から全メールをSendGridで送信する事ができるそうです。

Lightning Talks

SendGridサンプルの紹介

株式会社FLECTの小西さんからのLTです。


HerokuのサンプルサイトにSendGridの送信サンプルが有ります。

Parse APIで
日本ではメールのエンコーディングをISO-2022-JPで送信する事が多いが、本文は「charasets」、添付ファイルは「attachment-info」からエンコーディングを取得する必要が有ります。添付ファイルの「name」では正しく設定できないそうです。

SendGridに期待すること

@takiponeさんからのLTです。準備時間1時間で用意したそうです。
AWS向けの無料レートも有ると嬉しいかも。ケースによってSESとSendGridを使い分けたいという結論でした。

シンプルなメール送信はAmazon SESで、豊富なメール機能を使用する場合はSendGridを使用すると良さそうです。

最後に

SnedGridはMaking Developers' Lives Easierをポリシーにしており、開発者が楽をできる事を目指しているので、今後も注目していきたいと思います。