Настройка электронной почты с помощью Sendgrid в Heroku для приложения Django
Я развертываю приложение Django на Heroku и использую аддон Sendgrid для отправки электронной почты проверки, когда пользователь регистрируется на сайте.
Я выполнил инструкции здесь и вставил следующее в settings.py
:
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'sendgrid_username'
EMAIL_HOST_PASSWORD = 'sendgrid_password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
Однако после регистрации мое приложение рушится.
Что именно я должен поставить для EMAIL_HOST_USER
и EMAIL_HOST_PASSWORD
?
Под вкладкой разработчика в аддроме sendgrid в heroku он дает мне имя пользователя app*******@heroku.com
, а для пароля он просто говорит "Ваш пароль". Пароль моего пароля Heroku?
Кроме того, мне нужно включить DEFAULT_FROM_EMAIL
в мой файл settings.py
? И где я скажу Sendgrid, что это такое?
EDIT: я установил DEBUG = True
, и похоже, что ошибка:
SMTPSenderRefused
(550, 'Cannot receive from specified address <[email protected]>: Unauthenticated senders not allowed', '[email protected]')
похоже, что проблема происходит до того, как Sendgrid делает свое дело. Нужно ли мне как-то аутентифицировать адрес электронной почты с помощью Heroku?
Ответы
Ответ 1
Внутри параметров settings.py укажите:
import os
EMAIL_HOST_USER = os.environ['SENDGRID_USERNAME']
EMAIL_HOST= 'smtp.sendgrid.net'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_PASSWORD = os.environ['SENDGRID_PASSWORD']
Изменить: изменил EMAIL_PASSWORD на EMAIL_HOST_PASSWORD как правильное написание.