如何检查邮件内容是否是引用可打印编码的?

问题描述

我的 Python 程序正在解码所有接收到的电子邮件,并在某些条件下转发其中的一些。

似乎大多数电子邮件内容都包含 ASCII 字符或 base64 编码字符。

但其中一些包含带引号的可打印 (QP) 编码字符的内容

我可以使用 quopri 模块解码 QP 编码的字符串。

但是我如何检查内容是否是 QP 编码的?

我想要类似的东西:

content = message.get_payload()
if is_qp_encoded(content): # Checking if QP encoded
    decoded_string = quopri.decodestring(content)
    print(decoded_string.decode('utf-8'))

解决方法

我不熟悉 Python 的电子邮件模块,但请检查邮件或其任何正文部分是否具有值为“quoted-printable”的“Content-Transfer-Encoding”标头字段。