Python + SendGrid API でメールを送信する

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のままやっても動かなくて、うーんとか思っていたら、手元のバージョンが違っていたという。。。

本サイトはUXを悪くするevilなGoogle広告を消しました。応援してくださる方は おすすめガジェット を見ていってください!
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次