SendGrid(Python)で添付ファイル付きのメールを送信する
2017/07/23
SendGridを使って添付ファイル付きのメールを送信するサンプルをPythonで書いてみました。
sendgridライブラリはpipでインストールしています。
|
1 2 |
$ pip install sendgrid |
コードです。
何かあればご指摘いただけるとうれしいです。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import sendgrid from sendgrid.helpers.mail import * import base64 SG_API_KEY = 'xxxxxxxxxxxxxxxxxx' sg = sendgrid.SendGridAPIClient(apikey=SG_API_KEY) from_email = Email('xxxx@xxx.com') to_email = Email('xxxx@xxx.com') subject = '~~~~~~' body = '~~~~~~' content = Content('text/plain', body) mail = Mail(from_email, subject, to_email, content) with open('tmp/sample.pdf', 'rb') as f: data = f.read() f.close() encoded = base64.b64encode(data) attachment = Attachment() attachment.set_content(encoded) attachment.set_type('application/pdf') attachment.set_filename('sample.pdf') attachment.set_disposition('attachment') mail.add_attachment(attachment) response = sg.client.mail.send.post(request_body=mail.get()) |
最初 open(‘tmp/sample.pdf’, “rb”).read().encode(“base64”) でやってみて、
「HTTP Error 400: Bad Request.」になって stack over flow の「Python Sendgrid send email with PDF attachment file」というページを参考にさせていただきました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
SendGrid(sendgrid_python)でメール送信してイベントの情報からメール本文をたどれるようにしておく
動的に生成するメールで実際にどんな本文が送信されたかを記録しておきたいときもある …
-
-
「MonotaRo Tech #3 テスト自動化」に行ってきました
モノタロウさんの「MonotaRo Tech #3 テスト自動化」に行ってきまし …
-
-
Pepperで撮影した写真をAmazon Rekognitionで分析してその結果をPepperがしゃべる ~(2)Pepper編~
Pepperで撮影した写真をAmazon Rekognitionで分析してその結 …
-
-
CentOS 6でPythonからOracleに接続する
OracleのデータをPythonでさわりたくて、その実行環境がCentOS6の …
-
-
個人のGoogleカレンダーの予定をPythonで取得する
Google Calendar Twilio ReminderのGoogleカレ …
-
-
PythonでHTMLエスケープされた全角ハイフンをアンエスケープする
PythonでHTMLエスケープとアンエスケープについて調べていると、 xml. …
-
-
Pepper 開発 ワークショップ初級~中級~番外編に1日で一気に参加した
Pepperの開発方法が知りたかったので、Pepperアトリエ秋葉原 with …
-
-
Linux Mint 17 MATE 64bit にIPython Notebookをインストールする
今日行く勉強会でIPython Notebookの環境が必要なため、手持ちのLi …
-
-
docomo Developer supportの 雑談対話APIから自然対話APIへ移行しました
LINEやSlackのbotで重宝していた、雑談対話APIが終了する、とのことで …
-
-
SQLAlchemyでシンプルにjoinする
過去のSQLAlchemyでjoinするという記事でPythonのSQLAlch …

