电子邮件中的 Unicode 编码
Unicode encoding in email
我在 gmail 中手动创建并给自己发送了一封 html 电子邮件。我希望能够重用此 html 输出以编程方式发送它(在 python 中使用 smtplib)。
在 gmail 中,我查看源代码,如下所示:
Mime-Version: 1.0 Content-Type: multipart/alternative;
boundary="--==_mimepart_57daadsdas2e101427152ee"; charset=UTF-8
----==_mimepart_57daadsdas2e101427152ee Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi all !
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Venez d=C3=A9couvrir
我的问题是,当我尝试以编程方式将此内容作为 html 发送时,它没有正确显示。我怀疑这是因为 unicode 转换。例如,我无法将字符 "d=C3=A9couvrir" 转换回它应该的样子:"découvrir".
有人能帮忙吗?
有一些 MIME examples 可能更合适,但是 headers 的简单回答是它是 UTF8 和 quoted-printable
编码,所以你可以使用 quopri
模块:
>>> quopri.decodestring('Venez d=C3=A9couvrir').decode('utf8')
'Venez découvrir'
我在 gmail 中手动创建并给自己发送了一封 html 电子邮件。我希望能够重用此 html 输出以编程方式发送它(在 python 中使用 smtplib)。
在 gmail 中,我查看源代码,如下所示:
Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="--==_mimepart_57daadsdas2e101427152ee"; charset=UTF-8 ----==_mimepart_57daadsdas2e101427152ee Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi all ! =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Venez d=C3=A9couvrir
我的问题是,当我尝试以编程方式将此内容作为 html 发送时,它没有正确显示。我怀疑这是因为 unicode 转换。例如,我无法将字符 "d=C3=A9couvrir" 转换回它应该的样子:"découvrir".
有人能帮忙吗?
有一些 MIME examples 可能更合适,但是 headers 的简单回答是它是 UTF8 和 quoted-printable
编码,所以你可以使用 quopri
模块:
>>> quopri.decodestring('Venez d=C3=A9couvrir').decode('utf8')
'Venez découvrir'