Send grid softlayer_nagoya

22
SoftLayerで提供する メール配信サービス 「SendGrid」をつかってみよう 2015/09/15 名古屋SoftLayer勉強会 株式会社MNU 雪本修一

Transcript of Send grid softlayer_nagoya

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

「SendGrid」をつかってみよう2015/09/15

名古屋SoftLayer勉強会 株式会社MNU 雪本修一

雪本 修一Shuichi Yukimoto

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

twitter:@nsas454 facebook:shuichi.yukimoto

こんなことありませんか?

• アプリを作っていてメールを配信したい!

• Gmailなどのアカウントを使ってテスト配信。。

• 手軽に送信できるメールサーバがない。。。

めんどくさい

• メールサーバの構築が面倒くさい

• インストール作業が。。。

• セキュリティが。。。

ということで、SendGrid

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

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

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

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

SendGridってなあに?• クラウドメールサービス

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

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

• SoftLayerのポータルから申込できる!

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

• API経由でメール配信することも可能

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

いろんなアプリと連携可能!!

# -*- 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)

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

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

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

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

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

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

SendGridの始め方

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

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

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

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

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

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

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

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

WEB/AP 受信ログ 配信ログ

MAIL

mail server

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

いままでの場合

WEB/AP

Send Grid

POST send

受信ログ 配信ログ

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

SendGridを使った場合

• Hostname

• SendGridユーザ名.bymail.in

• Url

• POST先のURL

お手軽に利用する

独自ドメインで利用する

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

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

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

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

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

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

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

• Parse Webhookは使える!!