SlideShare a Scribd company logo
1 of 20
Download to read offline
SoftLayerで提供する
メール配信サービス
「SendGrid」をつかってみよう
2015/08/4
東京SoftLayer勉強会
株式会社MNU 雪本修一
雪本 修一
Shuichi Yukimoto
株式会社MNU
代表取締役社長
電気通信大学の認定ベンチャーとして起業。
好きな言語はJavaScript,Scheme,Lisp,Python
アプリケーションエンジニアです。
最近はクラウド関係の仕事がメインです。
SoftLayerユーザ会の運営委員もやってます
twitter:@nsas454
facebook:shuichi.yukimoto
なぜSendGridの話なのか?
• アプリを開発するなら出来るだけ楽がしたい
• SoftLayerのポータルから簡単に申し込み可
• 実際に使ってみると便利!
• 使わないともったいない!
SendGridってなあに?
• メール配信サービス
• SMTPサーバを用意しなくてもメールが配信で
きます。
• フリープランで、25,000通/月までが利用可能
• 有料プランあり
使い方
• 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'] = 'from@example.com'
message['To'] = 'to@example.com'    
con.sendmail('from@example.com',
['yukimoto@usa-mimi.jp'], 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は使える!!

More Related Content

What's hot

リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたいリアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
YutoNishine
 

What's hot (17)

Webデザイナーの私がMicrosoft Azureを使うようになったワケ
Webデザイナーの私がMicrosoft Azureを使うようになったワケWebデザイナーの私がMicrosoft Azureを使うようになったワケ
Webデザイナーの私がMicrosoft Azureを使うようになったワケ
 
Mspについての話
Mspについての話Mspについての話
Mspについての話
 
サーバーレスでLINE Clova スキル開発+LINE との接続
サーバーレスでLINE Clova スキル開発+LINE との接続サーバーレスでLINE Clova スキル開発+LINE との接続
サーバーレスでLINE Clova スキル開発+LINE との接続
 
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooksAnsible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
 
Go (5) JAZUG 関西とゆかいな仲間たち的な
Go (5) JAZUG 関西とゆかいな仲間たち的なGo (5) JAZUG 関西とゆかいな仲間たち的な
Go (5) JAZUG 関西とゆかいな仲間たち的な
 
Google Home, Amazon Echo, LINE Clova クロス開発& Azure Durable Funcitons で時間のかかる処理...
Google Home, Amazon Echo, LINE Clova クロス開発& Azure Durable Funcitons で時間のかかる処理...Google Home, Amazon Echo, LINE Clova クロス開発& Azure Durable Funcitons で時間のかかる処理...
Google Home, Amazon Echo, LINE Clova クロス開発& Azure Durable Funcitons で時間のかかる処理...
 
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順についてPWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
 
ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発
 
モバイルオンラインゲームについて
モバイルオンラインゲームについてモバイルオンラインゲームについて
モバイルオンラインゲームについて
 
Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張Ansible でお世話になっている機能と拡張
Ansible でお世話になっている機能と拡張
 
20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのこと20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのこと
 
LINE bot (Azure Bot Service 製)を LINE Clova とも繋げてみよう
LINE bot (Azure Bot Service 製)を LINE Clova とも繋げてみようLINE bot (Azure Bot Service 製)を LINE Clova とも繋げてみよう
LINE bot (Azure Bot Service 製)を LINE Clova とも繋げてみよう
 
共感する開発のことだけ考えた。
共感する開発のことだけ考えた。共感する開発のことだけ考えた。
共感する開発のことだけ考えた。
 
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
 
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたいリアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
 
自動化の下ごしらえ
自動化の下ごしらえ自動化の下ごしらえ
自動化の下ごしらえ
 
自動化ツール Ansible に触れてみよう(技術インターン)
 自動化ツール Ansible に触れてみよう(技術インターン) 自動化ツール Ansible に触れてみよう(技術インターン)
自動化ツール Ansible に触れてみよう(技術インターン)
 

Similar to SendGridを使ってみよう

Lume事業計画書
Lume事業計画書Lume事業計画書
Lume事業計画書
Ito Yoshiaki
 
推薦システムになにができるのか - Techcompass
推薦システムになにができるのか - Techcompass推薦システムになにができるのか - Techcompass
推薦システムになにができるのか - Techcompass
Yoshifumi Seki
 

Similar to SendGridを使ってみよう (20)

Emacs softLayer
Emacs softLayerEmacs softLayer
Emacs softLayer
 
「トゥギャッターを支えるJS」In JSオジサン #5
「トゥギャッターを支えるJS」In JSオジサン #5「トゥギャッターを支えるJS」In JSオジサン #5
「トゥギャッターを支えるJS」In JSオジサン #5
 
Team Foundation Serivceを使ってみる
Team Foundation Serivceを使ってみるTeam Foundation Serivceを使ってみる
Team Foundation Serivceを使ってみる
 
Kaggle
KaggleKaggle
Kaggle
 
Ionic2
Ionic2Ionic2
Ionic2
 
React native
React nativeReact native
React native
 
WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介
WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介
WCAN 2013 Winter LT オープンソースのPHP製 汎用メールフォームシステムTransmitMail 2のご紹介
 
Lume事業計画書
Lume事業計画書Lume事業計画書
Lume事業計画書
 
Lume事業計画書
Lume事業計画書Lume事業計画書
Lume事業計画書
 
0912 第3回東京softlayer勉強会
0912 第3回東京softlayer勉強会0912 第3回東京softlayer勉強会
0912 第3回東京softlayer勉強会
 
dots.サービスのご説明@dots.2周年記念パーティ
dots.サービスのご説明@dots.2周年記念パーティdots.サービスのご説明@dots.2周年記念パーティ
dots.サービスのご説明@dots.2周年記念パーティ
 
Internship in LINE Corporation
Internship in LINE CorporationInternship in LINE Corporation
Internship in LINE Corporation
 
マルチテナントに対応したシラサギグループウェアのご紹介
マルチテナントに対応したシラサギグループウェアのご紹介マルチテナントに対応したシラサギグループウェアのご紹介
マルチテナントに対応したシラサギグループウェアのご紹介
 
1112 nuxt
1112 nuxt1112 nuxt
1112 nuxt
 
Preso_PixelMags
Preso_PixelMagsPreso_PixelMags
Preso_PixelMags
 
5 1
5 15 1
5 1
 
Firebase0901
Firebase0901Firebase0901
Firebase0901
 
0728
07280728
0728
 
Inovation EGG第4回 SoftLayerと日本SoftLayerユーザグループ紹介
Inovation EGG第4回 SoftLayerと日本SoftLayerユーザグループ紹介Inovation EGG第4回 SoftLayerと日本SoftLayerユーザグループ紹介
Inovation EGG第4回 SoftLayerと日本SoftLayerユーザグループ紹介
 
推薦システムになにができるのか - Techcompass
推薦システムになにができるのか - Techcompass推薦システムになにができるのか - Techcompass
推薦システムになにができるのか - Techcompass
 

More from Shuichi Yukimoto

SoftLayerオブジェクトストレージと連携サービスPBOXについて
SoftLayerオブジェクトストレージと連携サービスPBOXについてSoftLayerオブジェクトストレージと連携サービスPBOXについて
SoftLayerオブジェクトストレージと連携サービスPBOXについて
Shuichi Yukimoto
 
Object storageを使ってみる
Object storageを使ってみるObject storageを使ってみる
Object storageを使ってみる
Shuichi Yukimoto
 
第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会
Shuichi Yukimoto
 

More from Shuichi Yukimoto (13)

Ocif2016_go_web_freamwork
Ocif2016_go_web_freamworkOcif2016_go_web_freamwork
Ocif2016_go_web_freamwork
 
Slackbot_by_OpenWhisk
Slackbot_by_OpenWhiskSlackbot_by_OpenWhisk
Slackbot_by_OpenWhisk
 
Softlayer_API_openWhisk
Softlayer_API_openWhiskSoftlayer_API_openWhisk
Softlayer_API_openWhisk
 
Softlayer_bluemix-summit
Softlayer_bluemix-summitSoftlayer_bluemix-summit
Softlayer_bluemix-summit
 
Softlayer_summit
Softlayer_summitSoftlayer_summit
Softlayer_summit
 
Mnu_pbox
Mnu_pboxMnu_pbox
Mnu_pbox
 
SoftLayerオブジェクトストレージと連携サービスPBOXについて
SoftLayerオブジェクトストレージと連携サービスPBOXについてSoftLayerオブジェクトストレージと連携サービスPBOXについて
SoftLayerオブジェクトストレージと連携サービスPBOXについて
 
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化
nginx + lua + ObjectStorage  ファイルアップロード/ダウンロードの高速化nginx + lua + ObjectStorage  ファイルアップロード/ダウンロードの高速化
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化
 
Pbox on softlayer
Pbox on softlayerPbox on softlayer
Pbox on softlayer
 
第2回名古屋SoftLayer勉強会 PBOX on SoftLayer
第2回名古屋SoftLayer勉強会 PBOX on SoftLayer第2回名古屋SoftLayer勉強会 PBOX on SoftLayer
第2回名古屋SoftLayer勉強会 PBOX on SoftLayer
 
Object storageを使ってみる
Object storageを使ってみるObject storageを使ってみる
Object storageを使ってみる
 
Mnu特許説明スライド
Mnu特許説明スライドMnu特許説明スライド
Mnu特許説明スライド
 
第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会
 

Recently uploaded

Recently uploaded (10)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

SendGridを使ってみよう