summaryrefslogtreecommitdiff
path: root/emailcanary/emailutils.py
diff options
context:
space:
mode:
Diffstat (limited to 'emailcanary/emailutils.py')
-rw-r--r--emailcanary/emailutils.py19
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