views:

37

answers:

3

Hello everyone, I want to parse some emails from a user 's inbox but when I do:

typ, msg_data = imap_conn.fetch(uid, '(RFC822)')

It marks the email as SEEN or read. This is not the desired functionality. Do you know how can I keep the email at its previous stare either SEEN or NOT SEEN?

A: 

You can use (RFC822.PEEK) as the "message-parts" argument, according to RFC 1730 (I have not verified which servers actually implement that correctly, but it doesn't seem hard for them to).

Alex Martelli
Unfortunately it did not work with Gmail but the previous answer did. Thank you anyway!
PanosJee
+2  A: 

The following should work:

typ, msg_data = imap_conn.fetch(uid, '(BODY.PEEK[HEADER])')

or BODY.PEEK[TEXT], etc.

ars
Awesome, thanks! That works with Gmail
PanosJee
A: 

You might also set read_only to true when selecting the folder. .select('Inbox', readonly=True)

lezardo