开发者社区> 问答> 正文

Django在我尝试发送邮件时抛出一个错误

我试图通过django发送邮件,这是我写的代码

from django.shortcuts import render
from django.http import HttpResponse

from django.core.mail import send_mail

def function(request):
    send_mail('cheking',
          'cheking django is sending mail or not',
          'nithinjith40@gmail.com',
          ['ravisarath64@gmasil.com'],
          fail_silently=False)
    return render(request,'message.html')

但是它显示了这个错误


Internal Server Error: /
Traceback (most recent call last):
  File "/home/expert/project _jango/venv/lib/python3.5/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/expert/project _jango/venv/lib/python3.5/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/expert/project _jango/venv/lib/python3.5/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/expert/project _jango/myproject/webapp/views.py", line 11, in function
    fail_silently=False)
  File "/home/expert/project _jango/venv/lib/python3.5/site-packages/django/core/mail/__init__.py", line 60, in send_mail
    return mail.send()
  File "/home/expert/project _jango/venv/lib/python3.5/site-packages/django/core/mail/message.py", line 291, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/home/expert/project _jango/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 103, in send_messages
    new_conn_created = self.open()
  File "/home/expert/project _jango/venv/lib/python3.5/site-packages/django/core/mail/backends/smtp.py", line 70, in open
    self.connection.login(self.username, self.password)
  File "/usr/lib/python3.5/smtplib.py", line 729, in login
    raise last_exceptio
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials d65sm27731624pfa.159 - gsmtp')

如何解决这个错误?“我启用了不太安全的应用程序访问”,然后显示了同样的错误 您可以在评论部分随意询问关于我遗漏的代码行的细节 问题来源StackOverflow 地址:/questions/59466630/django-throwing-an-error-when-i-try-to-send-a-mail

展开
收起
kun坤 2019-12-25 09:45:38 548 0
1 条回答
写回答
取消 提交回答
  • 错误原因:python的str默认是ascii编码,和unicode编码冲突.

    解决:找到图上那个message.py

    在文件中加入:

    import sys

    reload(sys)

    sys.setdefaultencoding('utf8')

    保存即可。

    2019-12-25 11:57:34
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载