470,648 Members | 1,608 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,648 developers. It's quick & easy.

get screen output to file using get_payload()

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()


Jul 18 '05 #1
1 1879
On 2004-06-23, chuck amadi <ch*********@ntlworld.com> wrote:
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")

Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

6 posts views Thread by Ville Vainio | last post: by
4 posts views Thread by Roland Hall | last post: by
8 posts views Thread by gtpilot | last post: by
7 posts views Thread by erikcw | last post: by
reply views Thread by warner | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.