62 lines
1.5 KiB
Python
62 lines
1.5 KiB
Python
|
import imaplib
|
||
|
import Configuration
|
||
|
import os
|
||
|
import pprint
|
||
|
|
||
|
pp = pprint.PrettyPrinter(indent=4)
|
||
|
|
||
|
def open_imap_connection(verbose=False):
|
||
|
# Read the config file
|
||
|
# FIXME
|
||
|
hostname = 'imap.gmail.com'
|
||
|
port = 993
|
||
|
username = 'slartibartfast'
|
||
|
password = '42'
|
||
|
|
||
|
# Connect
|
||
|
if verbose: print "Connecting to %s" % hostname
|
||
|
connection = imaplib.IMAP4_SSL(hostname)
|
||
|
|
||
|
# Login to our account
|
||
|
if verbose: print "Logging in as %s" % username
|
||
|
connection.login(username, password)
|
||
|
return connection
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
# Read the config file
|
||
|
# FIXME
|
||
|
folder = "INBOX"
|
||
|
c = open_imap_connection(verbose=True)
|
||
|
|
||
|
try:
|
||
|
typ, data = c.list(directory=folder)
|
||
|
print typ, data
|
||
|
|
||
|
c.select('INBOX', readonly=True)
|
||
|
|
||
|
typ, msg_ids = c.search(None, '(SUBJECT "Results for PokerStars Tournament *")')
|
||
|
print typ, msg_ids
|
||
|
msgidlist = msg_ids[0].split(' ')
|
||
|
print msgidlist
|
||
|
|
||
|
for msg in msgidlist:
|
||
|
print 'HEADER:'
|
||
|
typ, msg_data = c.fetch(msg, '(BODY.PEEK[HEADER])')
|
||
|
for response_part in msg_data:
|
||
|
if isinstance(response_part, tuple):
|
||
|
print response_part[1]
|
||
|
|
||
|
print 'BODY TEXT:'
|
||
|
typ, msg_data = c.fetch(msg, '(BODY.PEEK[TEXT])')
|
||
|
for response_part in msg_data:
|
||
|
if isinstance(response_part, tuple):
|
||
|
print response_part[1]
|
||
|
|
||
|
|
||
|
finally:
|
||
|
try:
|
||
|
c.close()
|
||
|
except:
|
||
|
pass
|
||
|
c.logout()
|