Reading The Mail Content Of An Mbox File Using Python Mailbox
I am trying to print the content of the mail ( Mail body) using Python mailbox. import mailbox mbox = mailbox.mbox('Inbox') i=1 for message in mbox: print i print 'from
Solution 1:
To get the message content, you want to use get_payload()
. mailbox.Message
is a subclass of email.message.Message
. You'll also want to check is_multipart()
because that will affect the return value of get_payload()
. Example:
if message.is_multipart():
content = ''.join(part.get_payload(decode=True) for part in message.get_payload())
else:
content = message.get_payload(decode=True)
Solution 2:
def getbody(message): #getting plain text 'email body'
body = None
if message.is_multipart():
for part in message.walk():
if part.is_multipart():
for subpart in part.walk():
if subpart.get_content_type() == 'text/plain':
body = subpart.get_payload(decode=True)
elif part.get_content_type() == 'text/plain':
body = part.get_payload(decode=True)
elif message.get_content_type() == 'text/plain':
body = message.get_payload(decode=True)
return body
this function can give you message body if the body is plain text.
Post a Comment for "Reading The Mail Content Of An Mbox File Using Python Mailbox"