get screen output to file using get_payload()

C

chuck amadi

Hi I have managed to print the output of the get_payload to screen
but I need to write to a file as I only require the email body messages
from the mailbox.My script using the fp.readlines() function writes the
entire contents of the mailbox of cause including the headers of the
emails I do not want.

I have tried a few things but I cant get to my goal.Any ideas or
pointers I need only the email body and I cant figute out why I can
using the print statement but get those results to a file.
cheers

import sys
import os
import email
import mailbox
import StringIO


fp = file ("/var/spool/mail/chucka")


mbox = mailbox.UnixMailbox(fp, email.message_from_file)
# list of body messages.
bodies = []

# mail is the file object
for mail in mbox:
print 'mail'
print mail['Subject']
print mail.get_content_type()#text/plain
print mail.get_payload()


mailout = file("/home/chucka/pythonScript/SurveyResults1.txt","r")


fp = open("/var/spool/mail/chucka")
mb = mailbox.UnixMailbox(fp, email.message_from_file)

#for bdymsg in fp.xreadlines():
#for bdymsg in fp.readlines():
#for msgbodies in mb:
# mailout.write(bdymsg)
# bdymsg = mail.get_payload()
# mailout.write(mail.get_payload()

for bmsg in mb:
bmsg = get_payload()
mailout.write(bmsg)
# bmsg = [get_payload]
print "mailbox file copied...to SurveyResults.txt"

# Now close the files
mailout.close()
 
L

Lee Harr

Hi I have managed to print the output of the get_payload to screen
but I need to write to a file as I only require the email body messages
from the mailbox.My script using the fp.readlines() function writes the
entire contents of the mailbox of cause including the headers of the
emails I do not want.

I have tried a few things but I cant get to my goal.Any ideas or
pointers I need only the email body and I cant figute out why I can
using the print statement but get those results to a file.
cheers
mailout = file("/home/chucka/pythonScript/SurveyResults1.txt","r")


You have the file opened read only. You would need something like:

mailout = file("/home/chucka/pythonScript/SurveyResults1.txt", "w")
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top