我无法使用Django发送电子邮件吗?

时间:2020-04-09 23:06:58

标签: python django django-forms django-authentication django-email

我已经在我的Google帐户中打开了“允许安全程度较低的应用程序”。 但是,当我提交密码重设表单时,它将转到password_reset_done.html,并且不会显示任何错误。但是邮件没有发送。它既不在我的发件箱中,也不在应发送给它的电子邮件的收件箱中。

这是我的 urls.py 的样子:

from django.contrib.auth import views as auth_views

path('password_reset/',       
                        auth_views.PasswordResetView.as_view(template_name="my_app/password_reset.html"), 
                        name="password_reset"),
    path('password_reset/done/',  
                        auth_views.PasswordResetDoneView.as_view(template_name="my_app/password_reset_done.html"), 
                        name="password_reset_done"),
    path('password-reset-confirm/<uidb64>/<token>/', 
                        auth_views.PasswordResetConfirmView.as_view(template_name="my_app/password_reset_confirm.html"), 
                        name="password_reset_confirm" ),
    path('reset_password/', 
                        auth_views.PasswordResetCompleteView.as_view(template_name="my_app/password_reset_complete.html"), 
                        name="password_reset_complete" ),

这是 settings.py 文件:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True 
EMAIL_HOST_USER = 'my_g_mail_id_here@domain.com'
EMAIL_HOST_PASSWORD = '**********'

我已经阅读了所有其他问题,并尝试了所有内容。什么都没有为我工作。 我很想在这里找到解决方案,请帮忙。

2 个答案:

答案 0 :(得分:0)

请勿为此使用Gmail。它不适用于程序化电子邮件发送。

请使用SendGridMailgun之类的东西。两者都有便宜或免费的入门计划。

答案 1 :(得分:0)

我找到了解决方案。我没有通过Django的默认注册表单注册用户的电子邮件ID。 进行了一些微调,以在表单中添加电子邮件字段,然后用户开始接收电子邮件。 conf文件中没有任何问题。

相关问题