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

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