Python3用smtp发邮件脚本报错UnicodeDecodeError,无法解决,小白感谢帮助

发布于 09-06 00:36 字数 1434 浏览 23 评论 0

正在自学python,找不到人交流,逛了很多论坛网站,很苦恼。按照教程的例子写了代码(其实是照着敲了一遍),用smtp第三方服务发邮件,但是报错UnicodeDecodeError,在网上找了很多答案,都不行,我是小白,很多都不懂,感谢大神解答!!!
我也看了其他人发送成功的代码,也都复制过来试过,抛开其它的问题,最后在我这都出现了同样的错误UnicodeDecodeError?

import smtplib
from email.mime.text import MIMEText
from email.header import Header

#第三方smtp服务
mail_host="smtp.qq.com"    #设置服务器
mail_user="452667791@qq.com"   #用户名
mail_pass="  "   #密码

sender = '452667791@qq.com'
receivers = ['452667791@qq.com']


#三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8设置编码

message = MIMEText("python smtp test","plain","utf-8")
message['From'] = Header("zhangwang","utf-8")
message['To'] = Header("test","utf-8")

subject ='1111'
message['Subject'] = Header(subject,"utf-8")
try:
    smtpObj = smtplib.SMTP()
    smtpObj.connect(mail_host,25)#25为SMTP端口号
    smtpObj.login(mail_user,mail_pass)
    smtpObj.sendmail(sender,receivers,message.as_string())
    print ("succeed")
except smtplib.SMTPException:
    print ("Error")
报错:
Traceback (most recent call last):
  File "C:\Users\zhangwang\Desktop\sss.py", line 24, in <module>
    smtpObj = smtplib.SMTP()
  File "F:\python\lib\smtplib.py", line 261, in __init__
    fqdn = socket.getfqdn()
  File "F:\python\lib\socket.py", line 673, in getfqdn
    hostname, aliases, ipaddrs = gethostbyaddr(name)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 0: invalid continuation byte

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

始终不够2022-09-13 00:36:39

为了解决这个问题,到处搜答案,什么都尝试了昨晚在贴吧看到一个人说把计算机名字改成英文就可以了,我试了试,竟然真是这样,啊。。。真是无奈。

虐人心2022-09-13 00:36:39

感觉像是复制来的代码带有一些字符,建议把mail_hostmail_usermail_pass手动输入一遍。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文