diff options
Diffstat (limited to 'emailcanary/emailutils.py')
-rw-r--r-- | emailcanary/emailutils.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/emailcanary/emailutils.py b/emailcanary/emailutils.py new file mode 100644 index 0000000..6646c1e --- /dev/null +++ b/emailcanary/emailutils.py @@ -0,0 +1,19 @@ +import imaplib, email + +def get_imap(account): + '''Connect and login via IMAP''' + mail = imaplib.IMAP4_SSL(account[0]) + mail.login(account[1], account[2]) + return mail + +def get_mail_uids(mail): + '''Return a list of message UIDs in the inbox''' + mail.select("inbox") # connect to inbox. + result, data = mail.uid('search', None, "ALL") # search and return uids instead + return data[0].split() + +def get_message(mail, uid): + '''Get a single email message object by UID''' + result, data = mail.uid('fetch', uid, '(RFC822)') + raw_email = data[0][1] + return email.message_from_string(raw_email)
\ No newline at end of file |