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

正在自学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
阅读 4.8k
2 个回答
✓ 已被采纳新手上路,请多包涵

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题