Add imap configuration bits
This commit adds the necessary bits for configuring a connection to an imap server. It also adds support for ssl and watching a specific folder.
This commit is contained in:
parent
843fac226b
commit
b278fa0008
|
@ -92,7 +92,27 @@ def main():
|
|||
keepalive=keepalive,
|
||||
auth=auth)
|
||||
|
||||
launchpad = lp.LPImap('', '')
|
||||
# IMAP email settings
|
||||
imap_server = config.get('imap', 'hostname')
|
||||
imap_user = config.get('imap', 'username')
|
||||
imap_password = config.get('imap', 'password')
|
||||
if config.has_option('imap', 'use_ssl'):
|
||||
imap_ssl = config.getboolean('imap', 'use_ssl')
|
||||
else:
|
||||
imap_ssl = False
|
||||
|
||||
if config.has_option('imap', 'folder'):
|
||||
imap_folder = config.get('imap', 'folder')
|
||||
else:
|
||||
imap_folder = 'INBOX'
|
||||
|
||||
if config.has_option('imap', 'delete-old'):
|
||||
imap_delete = config.getboolean('imap', 'delete-old')
|
||||
else:
|
||||
imap_delete = False
|
||||
|
||||
launchpad = lp.LPImap(imap_server, imap_user, imap_password,
|
||||
folder=imap_folder, ssl=imap_ssl, delete=imap_delete)
|
||||
while True:
|
||||
events = launchpad.getEvents()
|
||||
for event in events:
|
||||
|
|
11
lpmqtt/lp.py
11
lpmqtt/lp.py
|
@ -18,14 +18,19 @@ import imaplib2 as imaplib
|
|||
|
||||
class LPImapWatcher(object):
|
||||
|
||||
def __init__(self, imap_user, imap_pass, delete=False):
|
||||
def __init__(self, server, imap_user, imap_pass, folder='INBOX', ssl=False,
|
||||
delete=False):
|
||||
super(LPImapWatcher, self).__init__()
|
||||
self.imap = imaplib.IMAP4()
|
||||
self.folder = folder
|
||||
if ssl:
|
||||
self.imap = imaplib.IMAP4_SSL(server)
|
||||
else:
|
||||
self.imap = imaplib.IMAP4(server)
|
||||
self.imap.login(imap_user, imap_pass)
|
||||
self.delete = delete
|
||||
|
||||
def getEvents(self):
|
||||
self.imap.select()
|
||||
self.imap.select(self.folder)
|
||||
events = self._find_new_email()
|
||||
return events
|
||||
|
||||
|
|
Loading…
Reference in New Issue