Add simple IMAP email fetcher
This commit is contained in:
parent
f44947c8a0
commit
1d47fbb3c5
61
pyfpdb/IMAPEmailFetcher.py
Normal file
61
pyfpdb/IMAPEmailFetcher.py
Normal file
|
@ -0,0 +1,61 @@
|
|||
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()
|
Loading…
Reference in New Issue
Block a user