我试图通过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
错误原因:python的str默认是ascii编码,和unicode编码冲突.
解决:找到图上那个message.py
在文件中加入:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
保存即可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。