Reputation: 7831
I'm having some issues trying to extract all the email headers in python. I know how to get the ones I'm looking for but I want to save all the headers and I'm not sure how to do that.
I have it loaded into a email object
import email
f = open(kwargs['opt_emailfile'])
msg = email.message_from_file(f)
f.close()
So I can get
msg['To']
msg['From']
But I want all the headers
Upvotes: 18
Views: 31713
Reputation: 1657
Using HeaderParser perhaps:
from email.parser import HeaderParser
parser = HeaderParser()
h = parser.parsestr(email)
print h.keys()
I just noticed you edited your question. You can actually get the same information from what you had without using HeaderParser. e.g. headers.items()
will return list of 2-tuples with headers and corresponding values.
Upvotes: 28