2010-03-19 20:23:05 -03:00
|
|
|
# Import the email modules we'll need
|
2022-06-22 14:14:27 -03:00
|
|
|
#from email.parser import BytesParser
|
|
|
|
from email.parser import Parser
|
2016-09-07 22:15:59 -03:00
|
|
|
from email.policy import default
|
2010-03-19 20:23:05 -03:00
|
|
|
|
2015-02-25 12:14:09 -04:00
|
|
|
# If the e-mail headers are in a file, uncomment these two lines:
|
2016-09-07 22:15:59 -03:00
|
|
|
# with open(messagefile, 'rb') as fp:
|
|
|
|
# headers = BytesParser(policy=default).parse(fp)
|
2010-03-19 20:23:05 -03:00
|
|
|
|
2016-09-07 22:15:59 -03:00
|
|
|
# Or for parsing headers in a string (this is an uncommon operation), use:
|
|
|
|
headers = Parser(policy=default).parsestr(
|
|
|
|
'From: Foo Bar <user@example.com>\n'
|
2010-03-19 20:23:05 -03:00
|
|
|
'To: <someone_else@example.com>\n'
|
|
|
|
'Subject: Test message\n'
|
|
|
|
'\n'
|
|
|
|
'Body would go here\n')
|
|
|
|
|
|
|
|
# Now the header items can be accessed as a dictionary:
|
2016-09-07 22:15:59 -03:00
|
|
|
print('To: {}'.format(headers['to']))
|
|
|
|
print('From: {}'.format(headers['from']))
|
|
|
|
print('Subject: {}'.format(headers['subject']))
|
|
|
|
|
|
|
|
# You can also access the parts of the addresses:
|
|
|
|
print('Recipient username: {}'.format(headers['to'].addresses[0].username))
|
|
|
|
print('Sender name: {}'.format(headers['from'].addresses[0].display_name))
|