0

我想从.eml使用 Python 3 存储在文件中的电子邮件中提取主题:

该文件的主题行如下:

Subject: math340-05 =?UTF-8?B?4oCTIEF1ZmdhYmUgNS4x?=

我尝试使用email模块解析名称,但它按原样返回字符串:

with open(filename, "r") as f:
    m = email.message_from_file(f)

print(m["Subject"])

我该如何解码?

4

1 回答 1

2

一种方法是给我们email.header 模块:

import email, email.header
m = email.message_from_string("Subject: math340-05 =?UTF-8?B?4oCTIEF1ZmdhYmUgNS4x?=")
raw_header = email.header.decode_header(m["Subject"])
header = email.header.make_header(raw_header)
print(str(header))
# or for py2: print(unicode(header))

会给你:

math340-05 – Aufgabe 5.1
于 2012-12-08T21:58:33.697 回答