django-allauth-сброс пароля sendgrid электронное письмо не получено

#django #sendgrid #django-allauth

#django #sendgrid #django-allauth

Вопрос:

Я интегрировал sendgrid в свое приложение следующим образом:

 SENDGRID_API_KEY = os.getenv('SENDGRID_API_KEY')
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'apikey'
EMAIL_HOST_PASSWORD = SENDGRID_API_KEY
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = "from@example.com"
  

Я запускаю тест из manage.py оболочка, как показано ниже, и я получил тестовое электронное письмо.

 from django.core.mail import send_mail
send_mail('Subject here', 'Here is the message.', 'from@example.com', 
['to@example.com'])
  

На моем веб-сайте после нажатия кнопки «Забыть пароль» и заполнения зарегистрированного пользовательского электронного письма страница перенаправляется на страницу с сообщением «отправлено электронное письмо». Но я не получил никакого электронного письма. Нет информации об отладке, и я не могу понять, где что-то пошло не так.

Я на pythonanywhere, если это имеет значение. Я интегрировал allauth, чтобы пользователи могли входить в систему с помощью электронной почты вместо имени пользователя.

Комментарии:

1. Является ли ваша учетная запись на PythonAnywhere бесплатной? Бесплатные учетные записи имеют ограниченный доступ к службам электронной почты. См. help.pythonanywhere.com/pages/SMTPForFreeUsers

Ответ №1:

Я использую платную учетную запись на Pythonanywhere. Я нашел проблему. По какой-то причине интернет-провайдер отклонил электронное письмо. Когда я сменил учетную запись на другую электронную почту, все прошло нормально. Я понял это, увидев на панели управления sendgrid, что было сделано несколько запросов, но они не были доставлены.