Advertisement
Typhoon

IMAP email Parser and Extractor

May 10th, 2015
363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.29 KB | None | 0 0
  1. import imaplib
  2. import imaplib_connect
  3. from imaplib_list_parse import parse_list_response
  4. import pprint
  5. import email
  6. import re
  7.  
  8. c = imaplib_connect.open_connection()
  9. try:
  10.     c.select('INBOX.Nedorucene', readonly=True)
  11.     msg_ids = c.search(None, '(SUBJECT "delivery")')
  12.     print msg_ids        
  13. except:
  14.     pass
  15.  
  16.  
  17. my_list=[]
  18. for cislo in str(msg_ids).split():
  19.     if cislo.isdigit():        
  20.         cislo_int = int(cislo)
  21.         my_list.append(cislo_int)
  22.  
  23. unreg_mails = []
  24.  
  25. for msg_id in my_list:
  26.     try:
  27.         c.select('INBOX.Nedorucene', readonly=True)
  28.         typ, msg_data = c.fetch(msg_id, '(BODY.PEEK[TEXT])')
  29.         for response_part in msg_data:
  30.             if isinstance(response_part, tuple):
  31.                 mbody = response_part[1]
  32.                 mextract = re.findall(r'[\w\.-]+@[\w\.-]+', mbody )
  33.                 print "\n", mextract
  34.                 for email in mextract:
  35.                     print "Duplicate" if email in unreg_mails else unreg_mails.append(email)
  36.     except:
  37.         pass
  38.  
  39. unreg_mails.sort()
  40. print "\n", "\n", unreg_mails
  41.  
  42. print "\n", len(unreg_mails)
  43.  
  44. c.logout()
  45. to_write = str(unreg_mails).replace("[","").replace("]","").replace("'","").replace(",","\n").replace(" ","")
  46. file = open('unregistered.txt','w')
  47. file.write(str(to_write))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement