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 = '/'
再度挑戦。。。
無事登録完了!