Djangoroidの奮闘記

python,django,angularJS1~三十路過ぎたプログラマーの奮闘記

Django Heroku メールの設定

参照サイト

send_gridで設定してみる。

Send SMTP Email with Django - SendGrid Documentation | SendGrid

まずは、settings/local.py で試してみる。

EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = '***********'
EMAIL_HOST_PASSWORD = '***********'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

これは成功した。

次はherokuでやってみる。

herokuでやる場合は、 1. 既存のsend_gridをセットする 2. herokuのaddon でセットする

という2パターンがあるはず。。。今回は、herokuのaddonの方でやってみる。

heroku addons:add sendgrid でherokuaddonを追加する。

  • heroku addons:create sendgrid:starter でherokuに追加

  • heroku config:get SENDGRID_USERNAME でusernameを確認できる。

  • heroku config:get SENDGRID_PASSWORDでpasswordを確認できる。

settings/production.py をセットする。

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

すでに、herokuには、環境変数として、SENDGRID_USERNAME、SENDGRID_PASSWORDが設定されているので、これでいけるはず!

errorは、出なかったけど、SITE_ID の設定を忘れていたので、example.comで返ってきてしまったorz

settings/production.py をセットする。

SITEをadminで登録して、SITE_IDを指定したいIDにする。

    ACCOUNT_ACTIVATION_DAYS = 7
    REGISTRATION_AUTO_LOGIN = True
    SITE_ID = 2
    LOGIN_REDIRECT_URL = '/'

再度挑戦。。。

無事登録完了!