LoginSignup
11
9

More than 5 years have passed since last update.

SendGrid+Pythonでメール送信をしてみた

Last updated at Posted at 2016-08-15

is.PNG

さくらのクラウドでもSendGridが使えるようになり、せっかくなのでPythonからメール送信をしてみました。
ハマったというかググり力不足で陥った部分があったのでメモを残しておきます。

Pythonでメール送信!SendGridを使って簡単に実装する方法 | ブログ | SendGrid

公式のサイトにチュートリアルも用意されているんですが、実はこれちょっと古い。
現在pipでインストールできるSendgridのライブラリはv3 Mail準拠のものです。ここがハマりどころで、この辺意識せずにというか気づくことなくググっていると、何故上手く動かないのか分からずドツボにはまります。(ハマりました。。。)

Documentation>Integrate>Code Examples>v3 Mail>Python
公式ドキュメントのv3の利用方法。まずはこちらを確認しましょう。

SendgridのダッシュボードのSettingsの項目からAPI Keyを発行します。
キャプチャ.PNG
”Mail Send”のところにアクセス権があればメール送信出来ます。発行されたAPIキーを控えておきます。

送信側の環境準備ですがとても簡単。

pip install sendgrid
import sendgrid
import os
from sendgrid.helpers.mail import *

sg = sendgrid.SendGridAPIClient(apikey="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
from_email = Email("test@example.com")
subject = "Hello World from the SendGrid Python Library!"
to_email = Email("test@example.com")
content = Content("text/plain", "Hello, Email!")
mail = Mail(from_email, subject, to_email, content)
response = sg.client.mail.send.post(request_body=mail.get())
print(response.status_code)
print(response.body)
print(response.headers)

公式のチュートリアル通りです。
※os.environから読み出すのがナウいらしいですが今回は手軽に使いたいのでAPIキーベタ書きで。

使う前にちゃんとバージョン確認することと、ググるだけじゃなくて公式の情報にあたるようにしましょう(という自戒)

11
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9