Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import email, email.header, datetime, imaplib, re, sys
- host = 'imap.gmail.com'
- username = ''
- password = ''
- folder = 'INBOX'
- def login(host, username, password):
- account = imaplib.IMAP4_SSL(host)
- try:
- rv, data = account.login(username, password)
- except imaplib.IMAP4.error:
- print 'authentication failure'
- sys.exit(1)
- return account
- def selectFolder(account, folder):
- rv, mailboxes = account.list()
- rv, data = account.select(folder)
- def letterCount(account):
- count = 0
- today = datetime.datetime.today().strftime('%d-%b-%Y')
- rv, data = account.search(None, '(FROM "USPS" SUBJECT "Informed Delivery Daily Digest" SINCE "' + today + '")')
- if rv == 'OK':
- for num in data[0].split():
- html = None
- rv, data = account.fetch(num, '(RFC822)')
- msg = email.message_from_string(data[0][1])
- if msg.is_multipart():
- for payload in msg.get_payload():
- if(payload.get_content_type() == 'text/html'):
- html = payload.get_payload(decode=True)
- else:
- html = msg.get_payload(decode=True)
- if html != None:
- matches = re.findall('<img.*?alt="Scanned image of your mail piece".*?/>', html)
- count = len(matches)
- return count
- def packageCount(account):
- count = 0
- today = datetime.datetime.today().strftime('%d-%b-%Y')
- rv, data = account.search(None, '(FROM "auto-reply@usps.com" SUBJECT "Item Delivered" SINCE "' + today + '")')
- if rv == 'OK':
- count = len(data[0].split())
- return count
- account = login(host, username, password)
- selectFolder(account, folder)
- if sys.argv[1] == 'letters':
- print letterCount(account)
- elif sys.argv[1] == 'packages':
- print packageCount(account)
- else:
- print "Unknown type: " + sys.argv[1]
Add Comment
Please, Sign In to add comment