我不知所措。我花了好几天试图找到问题。 我已经废弃了几个网站并将输出合并为一个文本文件。当我尝试将该文件放入SMTPLib电子邮件链时,我收到编码错误。
", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 156: invalid start byte
这是我的代码。从我所知道的文本文件中没有任何特殊内容:
import requests, os, smtplib, codecs
from bs4 import BeautifulSoup
from email.mime.text import MIMEText
homeworkResults = open('homeworkResults.txt','r', encoding= 'utf-8')
homeworkContent = homeworkResults.read()
#homeworkContent.encode()
homeworkResults.close()
print("attempting email...")
smtpObj = smtplib.SMTP('smtp.gmail.com', 587)
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.login('[email protected]','Password')
smtpObj.sendmail('[email protected]' , '[email protected]','Subject: Kids Homework Update\n\n ' + homeworkContent)
smtpObj.quit()
它在codes.
函数之前添加open
后工作。
import requests, os, smtplib, codecs
from bs4 import BeautifulSoup
from email.mime.text import MIMEText
homeworkResults = codecs.open('homeworkResults.txt','r', encoding= 'utf-8', errors='ignore')
homeworkContent = homeworkResults.read()
#homeworkContent.encode()
homeworkResults.close()
print("attempting email...")
smtpObj = smtplib.SMTP('smtp.gmail.com', 587)
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.login('[email protected]','Password')
smtpObj.sendmail('[email protected]' , '[email protected]','Subject: Kids Homework Update\n\n ' + homeworkContent)
smtpObj.quit()