Advertisement
robjones90

Email Verifier

Dec 12th, 2019
527
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.11 KB | None | 0 0
  1. import re
  2. import dns.resolver
  3. import socket
  4. import smtplib
  5.  
  6.  
  7.  
  8. def matcher(address):
  9.     addressToVerify = address
  10.     match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', addressToVerify)
  11.  
  12.     if match == None:
  13.         return False
  14.     if match:
  15.         return True
  16.  
  17. address = str(input('Email Address: '))
  18.  
  19. if matcher(address) == True:
  20.     regexp = re.search("\@(.*)", address)
  21.     domain = regexp.group(1)
  22.     print("Domain: %s "% domain)
  23.     records = dns.resolver.query(domain, 'MX')
  24.     mxRecord = records[0].exchange
  25.     mxRecord = str(mxRecord)
  26.     # Get local server hostname
  27.     host = socket.gethostname()
  28.  
  29.     # SMTP lib setup (use debug level for full output)
  30.     server = smtplib.SMTP()
  31.     server.set_debuglevel(0)
  32.  
  33.     # SMTP Conversation
  34.     server.connect(mxRecord)
  35.     server.helo(host)
  36.     server.mail(address)
  37.     code, message = server.rcpt(str(address))
  38.     server.quit()
  39.  
  40.     # Assume 250 as Success
  41.     if code == 250:
  42.         print('%s == Success'% address)
  43.     else:
  44.         print('%s == Bad'% address)
  45. else:
  46.     print("No Match")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement