首页 文章

无法使用Django和Python发送电子邮件

提问于
浏览
0

我已经使用Django实现了重置密码功能 . 在这里,我将重置密码链接发送到已注册的电子邮件,并且没有邮件进入收件箱 . 我在下面解释我的代码 .

settings.py:

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'user474@gmail.com'
EMAIL_HOST_PASSWORD = '*********'
EMAIL_USE_TLS = False
DEFAULT_FROM_EMAIL = 'user474@gmail.com'

登记/ password_reset_form.html:

{% extends 'base.html' %}

{% block content %}
  <h3>Forgot password</h3>
  <form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">Submit</button>
  </form>
{% endblock %}

登记/ password_reset_email.html:

{% autoescape off %}
    To initiate the password reset process for your {{ user.get_username }} TestSite Account,
    click the link below:

    {{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}

If clicking the link above doesn't work, please copy and paste the URL in a new browser
window instead.

Sincerely,
The Nuclear Team
{% endautoescape %}

我的密码重置表单如下所示 .

enter image description here

在这里,我无法将邮件发送到给定的电子邮件ID .

2 回答

  • 0

    耀需要更换:

    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
    #                                        ^^^^^^^^
    

    BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    #                                   ^^^^^^
    

    更多信息:email-backend

  • 2

    你应该对你的观点有这样的看法:

    from django.core.mail import EmailMessage
    
    email = EmailMessage('title', 'body', to=[email])
    email.send()
    

    您还需要在Gmail帐户上解锁验证码:https://accounts.google.com/DisplayUnlockCaptcha

相关问题