adapt to python3

This commit is contained in:
2018-05-04 21:34:02 +02:00
parent 2cee46c401
commit a1f50c4610

27
imap_recursor.py Normal file → Executable file
View File

@@ -13,9 +13,6 @@ import email.header
import datetime import datetime
import argparse import argparse
EMAIL_ACCOUNT = "notatallawhistleblowerIswear@gmail.com"
EMAIL_FOLDER = "Top Secret/PRISM Documents"
def process_mailbox(M): def process_mailbox(M):
""" """
@@ -25,27 +22,27 @@ def process_mailbox(M):
rv, data = M.search(None, "ALL") rv, data = M.search(None, "ALL")
if rv != 'OK': if rv != 'OK':
print "No messages found!" print("No messages found!")
return return
for num in data[0].split(): for num in data[0].split():
rv, data = M.fetch(num, '(RFC822)') rv, data = M.fetch(num, '(RFC822)')
if rv != 'OK': if rv != 'OK':
print "ERROR getting message", num print("ERROR getting message", num)
return return
msg = email.message_from_string(data[0][1]) msg = email.message_from_string(data[0][1])
decode = email.header.decode_header(msg['Subject'])[0] decode = email.header.decode_header(msg['Subject'])[0]
subject = unicode(decode[0]) subject = unicode(decode[0])
print 'Message %s: %s' % (num, subject) print('Message %s: %s' % (num, subject))
print 'Raw Date:', msg['Date'] print('Raw Date:', msg['Date'])
# Now convert to local date-time # Now convert to local date-time
date_tuple = email.utils.parsedate_tz(msg['Date']) date_tuple = email.utils.parsedate_tz(msg['Date'])
if date_tuple: if date_tuple:
local_date = datetime.datetime.fromtimestamp( local_date = datetime.datetime.fromtimestamp(
email.utils.mktime_tz(date_tuple)) email.utils.mktime_tz(date_tuple))
print "Local Date:", \ print("Local Date:",
local_date.strftime("%a, %d %b %Y %H:%M:%S") local_date.strftime("%a, %d %b %Y %H:%M:%S"))
#Parsing arguments #Parsing arguments
@@ -70,22 +67,22 @@ imap_ressource = imaplib.IMAP4_SSL(options.server)
try: try:
rv, data = imap_ressource.login(options.username, options.password) rv, data = imap_ressource.login(options.username, options.password)
except imaplib.IMAP4.error: except imaplib.IMAP4.error:
print "LOGIN FAILED!!! " print("LOGIN FAILED!!! ")
sys.exit(1) sys.exit(1)
print rv, data print(rv, data)
rv, mailboxes = imap_ressource.list() rv, mailboxes = imap_ressource.list()
if rv == 'OK': if rv == 'OK':
print "Mailboxes:" print("Mailboxes:")
print mailboxes print(mailboxes)
rv, data = imap_ressource.select(EMAIL_FOLDER) rv, data = imap_ressource.select(EMAIL_FOLDER)
if rv == 'OK': if rv == 'OK':
print "Processing mailbox...\n" print("Processing mailbox...\n")
process_mailbox(M) process_mailbox(M)
imap_ressource.close() imap_ressource.close()
else: else:
print "ERROR: Unable to open mailbox ", rv print("ERROR: Unable to open mailbox ", rv)
imap_ressource.logout() imap_ressource.logout()