使用python和多个接收记录进行电子邮件解析时出现问题

使用python和多个接收记录进行电子邮件解析时出现问题,python,parsing,email,Python,Parsing,Email,我正在尝试用python email.parser解析电子邮件。当我的电子邮件包含多条收到的记录时,email.parser似乎会忽略这些记录 例如,对于输入: ... Received: from localhost (jalapeno [127.0.0.1]) by jmason.org (Postfix) with ESMTP id 5C4E816F6D for <jm@localhost>; Sun, 6 Oct 2002 22:54:39 +0100 (I

我正在尝试用python email.parser解析电子邮件。当我的电子邮件包含多条收到的记录时,email.parser似乎会忽略这些记录

例如,对于输入:

...
Received: from localhost (jalapeno [127.0.0.1])
    by jmason.org (Postfix) with ESMTP id 5C4E816F6D
    for <jm@localhost>; Sun,  6 Oct 2002 22:54:39 +0100 (IST)
Received: from jalapeno [127.0.0.1]
    by localhost with IMAP (fetchmail-5.9.0)
    for jm@localhost (single-drop); Sun, 06 Oct 2002 22:54:39 +0100 (IST)
...
这是email.parser的一个bug吗

您是否建议使用其他电子邮件解析python库?

用于
电子邮件的

请注意,如果出现命名字段 在邮件中不止一次 标题,究竟是哪一个字段 如果未定义,将返回值。 使用get_all()方法获取 所有现存命名的 标题

因此,使用e.get_all(i)而不是e[i]来获取Received:header的所有值

...
Received ::: from localhost (jalapeno [127.0.0.1])
    by jmason.org (Postfix) with ESMTP id 5C4E816F6D
    for <jm@localhost>; Sun,  6 Oct 2002 22:54:39 +0100 (IST)
Received ::: from localhost (jalapeno [127.0.0.1])
    by jmason.org (Postfix) with ESMTP id 5C4E816F6D
    for <jm@localhost>; Sun,  6 Oct 2002 22:54:39 +0100 (IST)
...
import email
f = open('email.txt', 'r')
data = f.read()
e = email.message_from_string(data)
for i in e.keys():
    print i, ':::', e[i]