【问题标题】:Python SMTP: 'utf-8' codec can't decode byte 0xe7 in position 7: invalid continuation bytePython SMTP:“utf-8”编解码器无法解码位置 7 中的字节 0xe7:无效的继续字节
【发布时间】:2018-02-22 11:29:44
【问题描述】:

我的所有代码:`

import smtplib
from email.mime.text import MIMEText


smtp_adresi="smtp.gmail.com"
smtp_port=587
user="****@gmail.com"
pass="*****"


gonderilecek_adresler=["****@bilalkocak.net","******@gmail.com"]
konu="Subject"
content="HTML content"



mail=MIMEText(content,"html","UTF-8")

mail["From"]=kullanıcı_adı

mail["Subject"]=konu

mail["To"]=",".join(gonderilecek_adresler)

mail=mail.as_string()


s=smtplib.SMTP(smtp_adresi,smtp_port)

s.starttls()

s.login(user,pass)

s.sendmail(user,gonderilecek_adresler,mail)

结果:

C:\Users\ASUS\AppData\Local\Programs\Python\Python36-32\python.exe "C:/Users/ASUS/PycharmProjects/Again/SMTP 文件 Mail/main.py" 'utf-8' 编解码器无法解码位置 7 中的字节 0xe7:无效的继续字节

进程以退出代码 0 结束

【问题讨论】:

  • "utf - 8" 为什么需要空格?尝试不使用它们"utf-8"
  • 我试过了,结果还是一样
  • # -*- coding: utf-8 -*- 将此插入您的第一行。
  • 不幸的是它没有改变
  • \xe7 是您名字中的ç,但未以 UTF-8 编码(可能是 cp1254,土耳其名称?)。将源文件保存为 UTF-8,然后重试。有一个可重复的例子很有帮助。您在源代码中的****** 可能解决了问题。

标签: python-3.x encoding utf-8


【解决方案1】:

\xe7 是您名字中的 ç,但未以 UTF-8 编码(可能是 cp1254,土耳其名称?)。将源文件保存为 UTF-8,然后重试。有一个可重复的例子很有帮助。您在源代码中的 ****** 可能解决了问题。

注意文件顶部的#coding:utf8 声明了文件的编码,但它是Python 3 中的默认值,因此不是必需的。 Python 2 需要它。

【讨论】:

    猜你喜欢
    • 2014-12-24
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 2018-01-11
    • 2020-11-02
    • 2021-01-02
    • 2021-04-27
    • 1970-01-01
    相关资源
    最近更新 更多