Python: 解码 7 位或 8 位编码的电子邮件正文

Python: decode 7bit or 8bit encoded email body

https://docs.python.org/2/library/email.encoders.html 列出了对电子邮件负载进行编码的方法。有没有办法解码通过电子邮件收到的有效负载?

我需要从以 base64 或 7/8 位或引用的可打印格式编码的电子邮件中解码 html 正文并挖掘一些数据。幸运的是,有些模块可以处理引用的可打印(quopri)和 base64 格式。

我试图为 7/8 位编码的电子邮件找到一个,但找不到令人满意的东西。解码此类电子邮件负载的最佳方法是什么?

看起来解码 7 位数据的最简单方法是使用 python 中的 quopri 模块。本质上,quoted-printable 是一种用于通过 7 位通道发送 8 位数据的格式。下面的代码对我来说效果很好:

import quopri
quopri.decodestring(email_multipart_payload) # payload has 7bit encoded data