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

sis*_*red 3 python email encoding html-email

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

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

我尝试寻找一个用于 7/8 位编码电子邮件的邮件,但未能找到任何令人满意的内容。解码此类电子邮件有效负载的最佳方法是什么?

sis*_*red 5

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

import quopri
quopri.decodestring(email_multipart_payload) # payload has 7bit encoded data
Run Code Online (Sandbox Code Playgroud)