无法在 PythonAnywhere 上使用 Django 的 SendGrid 发送重置密码的电子邮件

无法在 PythonAnywhere 上使用 Django 的 SendGrid 发送重置密码的电子邮件

有人能告诉我 Django admin 内置的密码重置功能如何发送密码重置电子邮件吗?我使用以下工具:PythonAnywhere 作为我的主机(免费帐户)SendGrid 用于发送电子邮件

这是我的网址中的代码

path('admin/password_reset/', auth_views.PasswordResetView.as_view(), name='admin_password_reset'),
path('admin/password_reset/done/', auth_views.PasswordResetDoneView.as_view(), name='password_reset_done'),
path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
path('reset/done/', auth_views.PasswordResetCompleteView.as_view(), name='password_reset_complete'),

在我的settings.py中,我有这些:

EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST_USER = my_sendgrid_username
EMAIL_HOST_PASSWORD = my_sendgrid_password
EMAIL_PORT = 587
EMAIL_USE_TLS = True

因此,当我在登录期间使用密码重置链接时,它会要求输入电子邮件地址,在输入注册用户的电子邮件后,我收到 ConnectionRefusedError。我还应该做些什么吗?有 send_mail() 函数。我应该使用它吗?或者 django 已经处理了吗?我的网站仅使用管理网站,因此除了 Django 管理员提供的视图之外,我没有其他视图。

相关内容