Django EmailBackend ConnectionRefusedError из приложения на PythonAnywhere
Моя функция сброса пароля прекрасно работала в процессе разработки, отправляя письмо со сбросом пароля по электронной почте, но теперь, когда я развернул ее на PythonAnywhere, я получаю ошибку ConnectionRefusedError, а именно:
ConnectionRefusedError at /reset_password [Errno 111] Соединение отказано Метод запроса: POST Версия Django: 4.1 Тип исключения: ConnectionRefusedError Значение исключения:
.
[Errno 111] Connection refused Местоположение исключения: /usr/local/lib/python3.10/socket.py, строка 833, in create_connection Возникает во время: django.contrib.auth.views.PasswordResetView Исполняемый файл Python: /usr/local/bin/uwsgi Версия Python: 3.10.5 Python Path:
['/var/www', '.', '', '/var/www', '/usr/local/lib/python310.zip', '/usr/local/lib/python3.10', '/usr/local/lib/python3.10/lib-dynload', '/home/gridsquid/.virtualenvs/myvirtualenv/lib/python3.10/site-packages', '/home/gridsquid/gridsquid']. Время сервера: Sat, 12 Nov 2022 16:45:30 +0000
Я проверил, что пользователь является действительным пользователем с рабочим адресом электронной почты.
в settings.py:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'apikey' # Name for all the SenGrid accounts
EMAIL_HOST_PASSWORD = os.getenv('SENDGRID_API_KEY')
в urls.py
path("reset_password",
auth_views.PasswordResetView.as_view(template_name="gridsquid/reset-password.html"),
name="password_reset"),
path("reset_password_sent",
auth_views.PasswordResetDoneView.as_view(template_name="gridsquid/reset-password-sent.html"),
name="password_reset_done"),
path("reset/<uidb64>/<token>",
auth_views.PasswordResetConfirmView.as_view(template_name="gridsquid/reset.html"),
name="password_reset_confirm"),
path("reset_password_complete",
auth_views.PasswordResetCompleteView.as_view(template_name="gridsquid/reset-password-complete.html"),
name="password_reset_complete"),
Опять же, все работает в моей среде разработки. Что здесь может быть не так?
Бесплатные учетные записи не могут отправлять smtp почту из PythonAnywhere