发送电子邮件时出错Python:';ascii';编解码器可以';t编码字符'\xe9';位置87:序号不在范围内(128)
我试图发送一封带有txt文件文本的电子邮件,文本只是几行文本。运行这些时得到的输出是发送电子邮件时出错Python:';ascii';编解码器可以';t编码字符'\xe9';位置87:序号不在范围内(128),python,python-3.x,email,Python,Python 3.x,Email,我试图发送一封带有txt文件文本的电子邮件,文本只是几行文本。运行这些时得到的输出是'ascii'编解码器无法对位置87处的字符'\xe9'进行编码:序号不在范围(128) 类似的基本问题是,SMTP要求UTF-8正确标记并封装在MIME结构中,而不仅仅是逐字复制。我添加了一个副本,展示了如何正确操作。简而言之,使用电子邮件库编写有效的MIME消息。 bodyFloat = ("") for differentNews in fileOpen: bodyFloat = bodyFloat
'ascii'编解码器无法对位置87处的字符'\xe9'进行编码:序号不在范围(128)
类似的基本问题是,SMTP要求UTF-8正确标记并封装在MIME结构中,而不仅仅是逐字复制。我添加了一个副本,展示了如何正确操作。简而言之,使用
电子邮件库编写有效的MIME消息。
bodyFloat = ("")
for differentNews in fileOpen:
bodyFloat = bodyFloat + differentNews
bodyFloat = bodyFloat + "\n"
sender = "sender@gmail.com"
reciver = ["reciver@gmail.com"]
password = "password"
body = str(bodyFloat)
print(body)
subject = "The daily news"
with smtplib.SMTP('smtp.gmail.com', 587) as mail:
mail.ehlo()
mail.starttls()
mail.ehlo()
mail.login(sender, password)
message = f'Subject: {subject}\n\n{body}'
mail.sendmail(sender, reciver,message)