Is it posssible to read only the new messages or unread messages using imaplib in python? If it is possible pls specify the module or give a sample code.
Thanks in advance
import imaplib, sys
conn = imaplib.IMAP4_SSL(host='mail.example.com') # or conn =imaplib.IMAP4(host='mail.example.com') for no SSL
try:
(retcode, capabilities) = conn.login('user', 'pass')
except:
print sys.exc_info()[1]
sys.exit(1)
conn.select(readonly=1) # Select inbox or default namespace
(retcode, messages) = conn.search(None, '(UNSEEN)')
if retcode == 'OK':
for message in messages[0].split(' '):
print 'Processing :', message
(ret, mesginfo) = conn.fetch(message, '(BODY[HEADER.FIELDS (SUBJECT FROM)])')
if ret == 'OK':
print mesginfo,'\n',30*'-'
conn.close()
Please also go thru the IMAP RFC to learn more about the flags field and the IMAP protocol in general. If you're developing something serious using IMAP, it will be very beneficial to you to understand the protocol.
http://www.imap.org/papers/biblio.html
Thanks, -Kartic -- http://mail.python.org/mailman/listinfo/python-list