SendGridを使ってみよう

20
SoftLayerで提供する メール配信サービス 「SendGrid」をつかってみよう 2015/08/4 東京SoftLayer勉強会 株式会社MNU 雪本修一

Transcript of SendGridを使ってみよう

Page 1: SendGridを使ってみよう

SoftLayerで提供する メール配信サービス

「SendGrid」をつかってみよう2015/08/4

東京SoftLayer勉強会 株式会社MNU 雪本修一

Page 2: SendGridを使ってみよう

雪本 修一Shuichi Yukimoto

株式会社MNU 代表取締役社長 電気通信大学の認定ベンチャーとして起業。 好きな言語はJavaScript,Scheme,Lisp,Python アプリケーションエンジニアです。 最近はクラウド関係の仕事がメインです。 SoftLayerユーザ会の運営委員もやってます

twitter:@nsas454 facebook:shuichi.yukimoto

Page 3: SendGridを使ってみよう

なぜSendGridの話なのか?

• アプリを開発するなら出来るだけ楽がしたい

• SoftLayerのポータルから簡単に申し込み可

• 実際に使ってみると便利!

• 使わないともったいない!

Page 4: SendGridを使ってみよう

SendGridってなあに?• メール配信サービス

• SMTPサーバを用意しなくてもメールが配信できます。

• フリープランで、25,000通/月までが利用可能

• 有料プランあり

Page 5: SendGridを使ってみよう

使い方• SMTPサーバと同じようにメールを配信

• API経由でメール配信

TLS connections では 25, 587, 2525 SSL encryption では 465.

Page 6: SendGridを使ってみよう

# -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from email.header import Header

con = smtplib.SMTP('smtp.sendgrid.net', 587) con.esmtp_features['auth'] = 'LOGIN' con.login('登録したアカウント', 'パスワード')

con.set_debuglevel(True)

cset = 'utf-8'

message = MIMEText(u'日本語のメール送ってみました', 'plain', cset)

message['Subject'] = Header(u'送信テスト', cset)

message['From'] = '[email protected]' message['To'] = '[email protected]'    

con.sendmail('[email protected]', ['[email protected]'], message.as_string())

con.close()

SendGridでメール送信(python)

Page 7: SendGridを使ってみよう

どういった場面でつかうの?• アプリを作っているとメールを配信したい場面は多々出てきます。

• ログイン時のパスワードを忘れた場合、なんらかの通知を送る場合など

• sendmailもインストールして設定するの面倒くさい

• Gmailのアカウントを使ってメールを配信したりしていたけど、、

• こういった悩みから一気に解消されます!

• さらに単純にメールを送信だけなら無料!

Page 8: SendGridを使ってみよう

SendGridの始め方

Page 9: SendGridを使ってみよう
Page 10: SendGridを使ってみよう
Page 11: SendGridを使ってみよう
Page 12: SendGridを使ってみよう
Page 13: SendGridを使ってみよう
Page 14: SendGridを使ってみよう

メール送信ではまったこと• 改行が削除されてしまう!

• HTMLへ自動的に変換される際に改行が削除されてしまう。

• mail settingのDon’t convert plain text emails to HTMLの項目を有効にする

Page 15: SendGridを使ってみよう

もうちょっとSendGrid• Parse Webhookを使ったメールの受信

• Parse Webhook(有料プラン)を使うとメールの受信ができる。

• 設定したドメインに届いたすべてのアカウントのメールは指定のURLにポストされる

例えば..usa-mimi.jpのドメインを登録すればusa-mimi.jpあてのメールはすべて受信してくれる!

Page 16: SendGridを使ってみよう

今回つくったアプリの事例

WEB/AP 受信ログ 配信ログ

MAIL

mail server

メールサーバの構築でかなりの工数がかかってしまう! セキュリティ対策もしないと駄目だし、やること多い

いままでの場合

Page 17: SendGridを使ってみよう

WEB/AP

Send Grid

POST send

受信ログ 配信ログ

メールサーバを構築することなくメールアプリが実装可能 工数を大幅短縮!!

SendGridを使った場合

Page 18: SendGridを使ってみよう

• Hostname

• SendGridユーザ名.bymail.in

• Url

• POST先のURL

お手軽に利用する

独自ドメインで利用する

Hostname に指定したドメインのDNS上のMXレコードを mx.sendgrid.net に設定

Page 19: SendGridを使ってみよう

• POSTされるパラメータは次の通り

• charsets …それぞれのパラメータの文字コード • to … 送信先 • subject … タイトル • from …送信元 • text/html … 本文 • headers … ヘッダ • attachments … 添付ファイル • envelope … エンベロープ • sender_ip … 送信元IPアドレス • dkim … 認証結果 • SPF … 認証結果

Page 20: SendGridを使ってみよう

まとめ• SendGridを使うと面倒な作業をすることなくすぐにメール配信ができるようになります。

• SoftLayerを使っているならぜひSendGridも使ってみてください。

• SendGridにはまだまだたくさんの機能があります。必要に応じて公式サイト等で調べてみてください。

• クラウドサービスを上手に使うと簡単にアプリが作れる

• Parse Webhookは使える!!