Django on herokuでsendgridを使ってメール送信する


昨日django-registrationを使ってユーザー登録するサンプルを作ってたんですが、メール送信の部分はgmailを使ってました。
今日はherokuにアップすることを考えて、herokuのアドオン sendgridを使ってメール送信を試してみました。


メール送信するアプリのリポジトリでheroku createを実行して、ソースをpushします

$ heroku create
$ git push heroku master


webから、もしくはコマンドラインからsendgridの追加をします


コマンドラインの場合はこうです

$ heroku addons:add sendgrid:starter

starterであれば無料ですが、クレジットカードの登録は済ませておく必要があります。


settings.pyに記述するメール関連の設定はこんな感じになります。

EMAIL_HOST_USER = os.environ.get('SENDGRID_USERNAME')
EMAIL_HOST= 'smtp.sendgrid.net'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_PASSWORD = os.environ.get('SENDGRID_PASSWORD')


無料だと1日200通まで送信できるみたいです。