Python mail truncate problem

bieffe62 at gmail.com bieffe62 at gmail.com
Mon May 18 08:10:24 EDT 2009


On 18 Mag, 05:51, David <Ww... at yahoo.com> wrote:
> Hi,
>
> I am writing Python script to process e-mails in a user's mail
> account. What I want to do is to update that e-mail's Status to 'R'
> after processing it, however, the following script truncates old e-
> mails even though it updates that e-mail's Status correctly. Anybody
> knows how to fix this?
>
> Thanks so much.
>
>   fp = '/var/spool/mail/' + user
>                 mbox = mailbox.mbox(fp)
>
>                 for key, msg in mbox.iteritems():
>                         flags = msg.get_flags()
>
>                         if 'R' not in flags:
>                                 # now process the e-mail
>                                 # now update status
>                                 msg.add_flag('R' + flags)
>                                 mbox[key] = msg


I have no idea about your problem. However, I believe that  the last
statement
"mbox[key] = msg" is not needed. The objects returned by
dict.iteritems are not copies but
the actual ones in the dictionary, so your msg.add_flag() already
modifies the object in mbox.

HTH

Ciao
-----
FB



More information about the Python-list mailing list