我想从.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"])
我该如何解码?
我想从.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"])
我该如何解码?
一种方法是给我们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