首页 > 解决方案 > 如何修复 django 中的错误凭据错误

问题描述

我创建了一个联系表单,假设通过电子邮件发送该消息并在数据库中维护这些消息。我在 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 = os.environ.get('EMAIL_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PASS')

以及views.py中的以下代码

from django.core.mail import send_mail
from django.conf import settings

def contact(request):
    if request.method == 'POST':
        name = request.POST.get("name")
        email = request.POST.get("email")
        desc = request.POST.get("desc")
        instance = Contact(name=name, email=email, desc=desc)
        instance.save()

        desc = request.POST['desc']
        send_mail('Contact Form',
            desc,
            settings.EMAIL_HOST_USER,
            ['********@gmail.com'],
            fail_silently=False)

它在命令提示符中没有给出任何错误。但是,当我提交表单时它给出了以下错误

/contact/ 处的 SMTPAuthenticationError(535,b'5.7.8 用户名和密码不被接受。了解详情:\n5.7.8 https://support.google.com/mail/?p=BadCredentials s1sm259896wrv.97 - gsmtp')

标签: django

解决方案


Google 现在不接受来自不太安全的应用程序的登录。所以你需要去https://myaccount.google.com/security。打开“允许不太安全的应用程序”。


推荐阅读