Python SMTPSenderrefuse at/submit\u contact\u form/-5.5.1要求认证
我正在尝试将提交的表单数据发送到电子邮件地址,但收到此错误 这是我的观点Python SMTPSenderrefuse at/submit\u contact\u form/-5.5.1要求认证,python,django,smtp,Python,Django,Smtp,我正在尝试将提交的表单数据发送到电子邮件地址,但收到此错误 这是我的观点 def contactform(request): contact_form = ContactForm(data=request.POST) if contact_form.is_valid(): data = contact_form.cleaned_data send_mail(subject=data['subject'],
def contactform(request):
contact_form = ContactForm(data=request.POST)
if contact_form.is_valid():
data = contact_form.cleaned_data
send_mail(subject=data['subject'],
message=data['message'],
from_email=data['email'],
recipient_list=['jzakaria2000@gmail.com'],
fail_silently=False)
return HttpResponseRedirect('/')
设置.py
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'zetapsiuchicago@gmail.com'
EMAIL_HOST_PASSWORD = os.getenv('WEBSITE_PASS')
我曾尝试用谷歌搜索这个错误的解决方案,但到目前为止都没有成功。如果有人能帮我解决这个问题或为我指出正确的方向,我将非常感激以纯文本添加密码将删除您的5.5.1身份验证要求错误 假设您的密码是123weq,将其添加为
EMAIL_HOST_PASSWORD = '123weq'
setting.py
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'zetapsiuchicago@gmail.com'
EMAIL_HOST_PASSWORD = 'password of zetapsiuchicago@gmail.com in plain text'
如在中添加明文密码?这有什么区别?我已将密码设置为一个环境变量,只需使用os.getenv('WEBSITE_PASS')获取密码,可能是您的密码错误或格式不正确,或者getenv无法访问密码,但纯文本密码对您有效。建议不要将密码作为纯文本保存在代码存储库中的最佳做法。因此,尽管这就是它工作的原因。我仍然想知道为什么作为环境变量读取的密码不起作用。当这是读取密码的最常用方法时