1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Python multi threads

Discussion in 'Programming' started by krakiuN, Oct 4, 2012.

  1. #1
    Hello all,
    Sambody i can help me please.
    I need edit this python script for working in multi threads.

    import sys, smtplib, socket, time, random 
    from smtplib import SMTP 
    from random import choice 
    
    socket.setdefaulttimeout(5)    # smtp default timeout, change number to speed up large lists 
    
    def printHelp(): 
        print '\nHow to use it ? There you go :) -- > ./SMTPv.py <accounts> <outputfile>' 
        print '\nImportant: THE SMTP ACCOUNTS MUST BE IN THE FOLLOWING FORMAT : IP:USER:PASS\n' 
    
    # Create the message 
    fromaddr = "username@yahoo.com" 
    toaddr = "someone@yahoo.com" 
    
    def rndstr(): 
       rndstr = '' 
       for x in range(0,6): rndstr += str(random.choice(range(0,5))) 
       return rndstr 
    
    rs = rndstr() 
    message = """To: %s 
    From: %s 
    Subject: %s 
    
    test SMTP mail 
    
    """ % (toaddr,fromaddr,str(rs)) 
    print "\n     _            _     _____ __  __ _______ _____        " 
    print "    | |          | |   / ____|  \/  |__   __|  __ \       " 
    print "  __| | __ _ _ __| | _| (___ | \  / |  | |  | |__) |_   __" 
    print " / _` |/ _` | '__| |/ /\___ \| |\/| |  | |  |  ___/\ \ / /" 
    print "| (_| | (_| | |  |   < ____) | |  | |  | |  | |     \ V / " 
    print " \__,_|\__,_|_|  |_|\_\_____/|_|  |_|  |_|  |_|      \_/  \n" 
    print "\n This is not stopping here! ... To be continued." 
    print "More features will be added soon." 
    print "_______________________________________________________________________" 
    
    def timer(): 
            now = time.localtime(time.time()) 
            return time.asctime(now) 
    
    def sendchk(listindex, host, user, password, info):   # seperated function for checking 
       try: 
          smtp = smtplib.SMTP(host) 
          smtp.login(user, password) 
          code = smtp.ehlo()[0] 
          if not (200 <= code <= 299): 
             raise SMTPHeloError(code, resp) 
          smtp.sendmail(fromaddr, toaddr, message) 
          print "\n\t[!] Sending successful:",host, user, password 
          print "\t[!] Message Sent Successfully\n" 
          if info != '': 
             LSstring = host+":"+user+":"+password+":"+info+"\n" 
          else: 
             LSstring = host+":"+user+":"+password+"\n" 
          nList.append(LSstring)      # special list for AMS file ID's 
          LFile = open(output, "a") 
          LFile.write(LSstring)       # save working host/usr/pass to file 
          LFile.close() 
          AMSout = open("AMSlist.txt", "a") 
          AMSout.write("[Server"+str(nList.index(LSstring))+"]\nName="+str(host)+"\nPort=25\nUserID=User\nBccSize=50\nUserName="+str(user)+"\nPassword="+str(password)+"\nAuthType=0\n\n") 
          smtp.quit() 
       except(socket.gaierror, socket.error, socket.herror, smtplib.SMTPException), msg: 
          print "[-] Login Failed:", host, user, password 
          pass 
    
    if len(sys.argv) != 3: 
        printHelp() 
        exit(1) 
    
    # Do not change anything below. 
    accounts = sys.argv[1] 
    output = sys.argv[2] 
    
    try: 
        handle = list(open(accounts)) 
    except: 
       print"\n[+] We were unable to open the SMTP filelist. Check again your path and try again." 
       print"\n[+] Exiting...." 
    
    nList = [] 
    for line in handle: 
       host = line.split(':')[0] 
       user = line.split(':')[1].replace('\n', '') 
       if line.count(':') == 2: 
          try: 
             password = line.split(':')[2].replace('\n', '') 
             sendchk(handle.index(line), host, user, password, info='') 
          except: 
             print '\n[+] We have found a error in your accounts list' 
             print host, user 
             exit(1) 
       elif line.count(':') == 3: 
          try: 
             password = line.split(':')[2] 
             info = line.split(':')[3].replace('\n', '') 
             sendchk(handle.index(line), host, user, password, info) 
          except: 
             print '\n[+] We have found a error in your accounts list' 
             print host, user 
             exit(1) 
       else: 
          print '\n[!] IMPORTANT: THE SMTP ACCOUNTS MUST BE IN THE FOLLOWING FORMAT : IP,USER,PASS'
          print '\n[-] Exiting....\n' 
    
    print "[!] Ended at: " + timer() + "\n" 
    print "\n[!] Done!"
    Code (markup):
    Thank you.
     
    krakiuN, Oct 4, 2012 IP