SendGridのPython用ライブラリを使ってメールを送信するメモ。なんか妙にいろいろハマってしまった。。。
バージョンは5.6.0で現行6.0.2よりちょっと古い。引数とか割と違うし、結局ソースコードみるのが早い。。。
環境
環境は以下。
- macOS mojave 10.14.4
- python 3.7.3
- sendgrid 5.6.0
- 最新の6.0.2だと引数とかいろいろ違ったので、バージョンによってちゃんとソースみたほうがよい。。。
ソースコード
以下のように書く。
import sendgrid
from sendgrid.helpers.mail import Mail, Email, Content
if __name__ == '__main__':
message = Mail(
from_email=Email('from_address@example.com'),
subject='タイトル',
to_email=Email('to_address@example.com'),
content=Content('text/plain', '本文'),
)
# SendGrid の APIキー を使うが ここでは環境変数に入れている
sg = sendgrid.SendGridAPIClient(apikey=os.getenv('SENDGRID_API_KEY'))
response = sg.client.mail.send.post(request_body=message.get())
print(response.status_code)
各種変数や、SENDGIRD_API_KEYのところを入れておく。うまくいけばステータスコードの202が返る。
参考
githubの情報が便りなのだけれど(「GitHub – sendgrid/sendgrid-python: The Official SendGrid Led, Community Driven Python API Library」)、Quick Startのままやっても動かなくて、うーんとか思っていたら、手元のバージョンが違っていたという。。。
関連記事
Python の記事
- [2023年3月27日] Pythonで深いネストのlistやDictの値を調べてDecimalがあればint or floatに変換する
- [2023年3月21日] motoでDynamoDBのMockを作成する
- [2021年11月18日] GKE + Flask で REST API
- [2019年5月23日] SendGridのAPIでPythonライブラリ(6.0.5)を使って添付ファイルを送信する
- [2019年4月4日] C1801: Do not use len(SEQUENCE) to determine if a sequence is empty (len-as-condition)と怒られた時
- ---本記事---
- [2018年8月21日] boto3でS3にアップロードした画像が、ブラウザで表示するとダウンロードされてしまう時
- [2018年7月27日] Pandasで2列を比較してTrue/Falseの新たな列を作る。さらに1/0へのマッピング
- [2018年7月20日] pythonのpipで入れているもの
- [2018年6月25日] cronのpythonスクリプト内にあるjson.dump()でensure_ascii=Falseにして日本語出力しようとしてハマった
- [2018年6月22日] pythonでRSSフィードを取得し、画像がない場合、リンク先の記事から拾う
スポンサーリンク