0
I'm trying to make a SMTP Checker using Python.
The checker will do the following things:
The code will take a list of smtps accounts (ex: host,user,pass) and will try to send an email to a email you will specify in the code. If it's successful (the send of the email)it will print the host/user/pass on the screen. If not, the code will go to the next host and so on.
I'm stuck somewhere .... I'm a beginner at Python , just 2 weeks of python learning and I can't realize where I'm doing wrong.
import sys, smtplib, socket from smtplib import SMTP def printHelp(): print '\nUsage: ./darkSMTPv.py <accounts>' print 'Ex: ./darkSMTPv.py accounts.txt' print '\nImportant: THE SMTP ACCOUNTS MUST BE IN THE FOLLOWING FORMAT : IP,USER,PASS\n' # Create the message fromaddr = "service@johndoe.com" toaddr = "johndoe@yahoo.com" message = """To: %s From: %s Subject: Please Update Your Account Information test SMTP mail """ % (toaddr,fromaddr) print "\n _ _ _____ __ __ _______ _____ " print " | | | | / ____| \/ |__ __| __ \ " print " __| | __ _ _ __| | _| (___ | \ / | | | | |__) |_ __" print " / _` |/ _` | '__| |/ /\___ \| |\/| | | | | ___/\ \ / /" print "| (_| | (_| | | | < ____) | | | | | | | | \ V / " print " \__,_|\__,_|_| |_|\_\_____/|_| |_| |_| |_| \_/ " def timer(): now = time.localtime(time.time()) return time.asctime(now) if len(sys.argv) != 2: printHelp() exit(1) # Do not change anything below. accounts = sys.argv[1] valid = [] currline = 0 try: handle = open(accounts) except: print"\n[+] We were unable to open the SMTP filelist. Check again your path and try again." print"\n[+] Exiting...." for line in handle: currline += 1 try: host = line.split(':')[0] user = line.split(':')[1].replace('\n', '') password = line.split(':')[2].replace('\n', '') except: print '\n[+] We have found a error in your accounts list' print '\n[!] IMPORTANT: THE SMTP ACCOUNTS MUST BE IN THE FOLLOWING FORMAT : IP,USER,PASS' print '\n[-] Exiting....\n' exit(1) try: smtp = smtplib.SMTP(host) smtp.login(user, password) code = s.ehlo()[0] if not (200 <= code <= 299): code = s.helo()[0] if not (200 <= code <= 299): raise SMTPHeloError(code, resp) s.sendmail(fromaddr, toaddr, message) print "\t\n[!] Login successful:",user, password print "\n[!] Message Sent Successfully" smtp.quit() sys.exit(2) except(socket.gaierror, socket.error, socket.herror, smtplib.SMTPException), msg: #print "An error occurred:", msg pass print "[!] Ended at: " + timer() + "\n" print "\n[!] Done!"