def fetch_by_keyword(kwd): c = imap_utils.open_connection(hostn, uname, psswd, verbose=True) messages = imap_utils.getMsgs(c, keyword=kwd) filenames = [] for msg in messages: filenames += fetch_attachments(msg) c.logout() return filenames
def fetch_latest_unread(): c = imap_utils.open_connection(hostn, uname, psswd, verbose=False) messages = list(imap_utils.getMsgs(c, keyword="CASTp", unread=True)) filenames = [] for msg in messages: msg_time = email.utils.mktime_tz(email.utils.parsedate_tz(msg["Date"])) cur_time = time.time() # HACK: a time issue causes CASTp to send messages "from the future". # I use this behavior to detect recently-sent emails. if cur_time > msg_time: continue filenames += fetch_attachments(msg) c.logout() return filenames
def poll(keyword, verbose=False): c = imap_utils.open_connection(hostn, uname, psswd, verbose=verbose) messages = imap_utils.getMsgs(c, keyword=keyword) for msg in messages: return True return False