python - 使用 python 转发 html 电子邮件

标签 python email mime

这是我想要完成的:

  1. 某人(非技术人员)准备了一封 html 电子邮件并将其发送到我的 gmail 帐户。
  2. 我检查原始电子邮件(gmail 界面中的“显示原始”)并提取 html 部分,将其保存到文件 original_gmail.html。这具有 quoted-printable 的 CTE(见下文)
  3. 我使用这个文件准备了一条 MIME 消息,我可以用 python 发送它。

我的框架已经能够发送纯文本和/或 html 邮件,但我无法发送这个经过特殊编码的 html 文件。在“显示原始”窗口中看起来像这样:

--001a1133dfb0d17ec804f986e82c
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><font color=3D"#073763" face=3D"arial,helvetica,sans-=
serif" style=3D"background-color:rgb(255,255,255)">Dear Family and dear fri=
ends, </font></div><div><div><font style=3D"background-color:rgb(255,255,25=
5)"><font color=3D"#0c343d" face=3D"arial,helvetica,sans-serif"></font><fon=
t color=3D"#073763">=C2=A0</font></font></div>
...
</div>

--001a1133dfb0d17ec804f986e82c--

(这只是 html 部分,还有另一部分带有 Content-Type: text/plain; charset=UTF-8 但我对此没有问题)

如何使用 python 发送这个特殊的 quoted-printable 部分(逐字)?

最佳答案

标准库中有一个模块专门用于此目的 - quopri ,它将为您解码:

import quopri
txt = """--001a1133dfb0d17ec804f986e82c
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><font color=3D"#073763" face=3D"arial,helvetica,sans-=
serif" style=3D"background-color:rgb(255,255,255)">Dear Family and dear fri=
ends, </font></div><div><div><font style=3D"background-color:rgb(255,255,25=
5)"><font color=3D"#0c343d" face=3D"arial,helvetica,sans-serif"></font><fon=
t color=3D"#073763">=C2=A0</font></font></div> ... </div>

--001a1133dfb0d17ec804f986e82c--"""

decoded = quopri.decodestring(txt)
print(decoded)

,将输出:

--001a1133dfb0d17ec804f986e82c
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir="ltr"><div><font color="#073763" face="arial,helvetica,sans-serif" style="background-color:rgb(255,255,255)">Dear Family and dear friends, </font></div><div><div><font style="background-color:rgb(255,255,255)"><font color="#0c343d" face="arial,helvetica,sans-serif"></font><font color="#073763"> </font></font></div> ... </div>

--001a1133dfb0d17ec804f986e82c--

关于python - 使用 python 转发 html 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23710289/

相关文章:

java - 我需要根据文件的 mime 类型打开文件

html - <li> 中的副标题与 CSS 内联不对齐

json - Angular 2 应用程序部署到 Azure 时出现错误 404

java - Domino 10 有时无法在 Java 下解码 MIME header

python - 使用 Python 创建 SVG

PHP 邮件 html 格式不起作用

PHPmailer 破坏 HTML 正文消息。 (漏洞?)

python - 我用 python 做的测验不起作用

python - Pydoop 安装(类路径问题)? [解决了]

python - 使用 Pickle 文件进行主题分类。 Python