Настройка электронной почты с 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 в своем ? И где я говорю в статье, что это такое?

EDIT: я установил DEBUG = True, и, похоже, ошибка:

SMTPSenderRefused

(550, 'Cannot receive from specified address <info@myapp.com>: Unauthenticated senders not allowed', 'info@myapp.com')

похоже, что проблема происходит до того, как 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']

Edit: изменен EMAIL_PASSWORD на EMAIL_HOST_PASSWORD, так как это правильное написание.