Отправка электронной почты SMTP с Django и Sendgrid на Heroku - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь отправить электронную почту, используя SMTP и sendgrid для приложения Django.Я могу отправлять электронные письма на свой локальный сервер, но в моем приложении heroku появляется сообщение об ошибке «SMTPServerDisconnected», в котором говорится, что «соединение неожиданно закрыто.чтобы найти любую документацию по этому вопросу.

Вот мои настройки для электронной почты в settings.py:

EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'EMAIL_HOST_USER'
EMAIL_HOST_PASSWORD = 'EMAIL_HOST_PASSWORD'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'email@email.com'

SENDGRID_API_KEY='SENDGRID_API_KEY'
SENDGRID_PASSWORD='SENDGRID_PASSWORD'
SENDGRID_USERNAME='SENDGRID_USERNAME'

Пожалуйста, дайте мне знать, какие настройки вы используете для отправки электронной почты SMTP. Спасибо.

1 Ответ

0 голосов
/ 21 июня 2019
  1. Вам нужно войти в свой Sendgrid dyno.Перейдите в Настройки> Ключи API.

  2. Нажмите на кнопку «Создать ключ API», во время написания этой кнопки это синяя кнопка в правом верхнем углу страницы.

  3. скопируйте ключ, который они сгенерировали для вас, и вставьте его где-нибудь на вашем локальном компьютере, а также вернитесь на страницу вашей герою.Перейдите к настройкам вашего приложения и нажмите «открыть переменные конфигурации».Теперь вы должны увидеть пары ключ-значение всех переменных среды.В столбце «Ключ» добавьте «SENDGRID_API_KEY», а в столбце «значение» добавьте ключ, скопированный с веб-сайта Sendgrid.На этом этапе должен работать следующий код Python:

sg = sendgrid.SendGridAPIClient(os.environ['SENDGRID_API_KEY'])
message = Mail(from_email='example@example.com', to_emails='example@example.com',
                           subject='Example Subject ', html_content='<strong>and easy to do anywhere, even with Python</strong>')
response = sg.send(message)

Если вы сохраните переменную ответа, вы можете заключить код в попытку, за исключением того, что блок может попытаться перехватить ошибки.Извините за форматирование, я все еще новичок в публикации по переполнению стека.

...