在我的网站上,我尝试使用 smtp 通过电子邮件重置我的密码,但是当我发送密码更改请求时,我收到此错误:
这是我的settings.py:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = "ibuc pvmq fkgb acah"
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER
EMAIL_ADMIN = EMAIL_HOST_USER
和 urls.py(如果需要):
urlpatterns = [
path('password-reset/', auth_views.PasswordResetView.as_view(
template_name='main/password_reset_form.html',
email_template_name='main/password_reset_email.html',
success_url=reverse_lazy('user:password_reset_done')), name='password_reset'),
path('password-reset/done/', auth_views.PasswordResetDoneView.as_view(template_name='main/password_reset_done.html'), name='password_reset_done'),
path('password-reset/confirm/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(
template_name='main/password_reset_confirm.html',
success_url=reverse_lazy('user:password_reset_complete')), name='password_reset_confirm'),
path('password-reset/complete/', auth_views.PasswordResetCompleteView.as_view(template_name='main/password_reset_complete.html'), name='password_reset_complete'),
]
可能是什么问题?
您的 SMTP 配置似乎可能存在问题。该错误消息表明与 SMTP 服务器的连接超时或无法正确建立。您可以检查以下几项来解决问题:
验证 SMTP 服务器设置**:确保您提供的 SMTP 服务器设置正确。仔细检查 SMTP 服务器地址、端口、用户名和密码。对于 Gmail,您提供的设置(
smtp.gmail.com
、端口 587
、带 TLS)似乎是正确的。
检查防火墙或网络限制:有时,防火墙或网络限制可能会阻止您的应用程序连接到 SMTP 服务器。确保没有防火墙规则阻止到端口 587(或您用于 SMTP 的任何端口)的传出连接。
启用安全性较低的应用程序(适用于 Gmail):如果您使用 Gmail 帐户发送电子邮件,请确保已在 Gmail 帐户设置中启用“安全性较低的应用程序”选项。这允许像您这样的应用程序通过 SMTP 访问您的 Gmail 帐户。但是,请谨慎使用此选项,因为它可能会使您的帐户更容易受到未经授权的访问。
使用应用程序密码(适用于 Gmail):如果您为 Gmail 帐户启用了双因素身份验证,则需要生成一个“应用程序密码”来代替常规密码进行 SMTP 身份验证。这可以在您的 Google 帐户设置中完成。
通过检查这些要点并可能相应地调整您的配置,您应该能够解决 SMTP 服务器的连接问题。如果问题仍然存在,您可能需要咨询您的电子邮件服务提供商或系统管理员以获得进一步帮助。