欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python smtplib.SMTP()发送邮件报“UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xba in position 0: i

程序员文章站 2022-03-22 14:58:52
python smtplib.SMTP()发送邮件报“UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xba in position 0: invalid start byte”错误问题描述:在用python 用smtplib.SMTP()函数发生邮件时报出“UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xba in position 0: invalid start byte”错误。...

python smtplib.SMTP()发送邮件报“UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xba in position 0: invalid start byte”错误

问题描述:
在用python 用smtplib.SMTP()函数发生邮件时报出“UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xba in position 0: invalid start byte”错误。
具体代码:

import smtplib
smtp = smtplib.SMTP()

报出错误:

Traceback (most recent call last):
  File "D:\Internet worm study\project\bozong\send_email.py", line 53, in <module>
    send_email = smtplib.SMTP()
  File "D:\python\lib\smtplib.py", line 263, in __init__
    fqdn = socket.getfqdn()
  File "D:\python\lib\socket.py", line 791, in getfqdn
    hostname, aliases, ipaddrs = gethostbyaddr(name)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position 0: invalid start byte

内容分析是编码出错,但是我查看整个代码不涉及到编码问题。

用debug查看问题的原码:
python smtplib.SMTP()发送邮件报“UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xba in position 0: i
问题代码

socket.py文件中,对应上面报错的其中一个文件,点开即可定位到。
    try:
        hostname, aliases, ipaddrs = gethostbyaddr(name)

gethostbyaddr(name)是获取本电脑的名字。我的电脑是“红米笔记本”,估计是电脑名称的问题。

--------------解决的办法--------------
1.在源码中进行修改

 try:
        hostname, aliases, ipaddrs = gethostbyaddr(name.encode('ascii','ignore'))

#添加“.encode('ascii','ignore')”

只能解决当前电脑问题,不清楚是否存在其他电脑兼容性问题。

2.修改自己笔记本的名称为英文数字
参考:https://jingyan.baidu.com/article/574c521966afb16c8c9dc160.html
修改笔记本名称要重启,注意保存文件。

参考
博主:Systemd
链接:https://blog.csdn.net/wwyy2018/article/details/83346812?ops_request_misc=&request_id=&biz_id=102&utm_term=python%2520smtplib.SMTP()%25E5%258F%2591%25E9%2580%2581%25E9%2582%25AE%25E4%25BB%25B6%25E6%258A%25A5%25E2%2580%259CUni&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-83346812.first_rank_v2_pc_rank_v29

本文地址:https://blog.csdn.net/weixin_41278305/article/details/110943401

相关标签: smtp python