Подтвердить что ты не робот

Настройка электронной почты с помощью 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?

4b9b3361

Ответ 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 как правильное написание.