适用于Gmail /主题的python电子邮件模块

时间:2019-04-16 11:56:39

标签: python python-2.7 email

我正在使用电子邮件模块解析mbox格式的电子邮件。电子邮件来自Gmail。

代码的重要部分是:

import email

email_content = sys.stdin.read()
email_obj = email.message_from_string(email_content)
subject = email_obj['subject']

对于这个主题,我的编码有点奇怪。在原始文本中,它看起来像:

Subject: =?UTF-8?B?MjAxOS4gw6FwcmlsaXMgMjUu?=

。谁能告诉我它是如何编码的,我该如何“提取”它?

非常感谢。

Python:2.7.13

1 个答案:

答案 0 :(得分:2)

主题已按照RFC 2047进行编码。这是因为电子邮件主题是标头标签,而标头标签必须是ascii。

要解码:

>>> from email.header import decode_header
>>> decode_header("Subject: =?UTF-8?B?MjAxOS4gw6FwcmlsaXMgMjUu?=")
[('Subject:', None), ('2019. \xc3\xa1prilis 25.', 'utf-8')]

元组中的转义字节解码如下:

'2019. április 25.'