Advertisement
DaRealFreak

E-Mail Account Checker

Oct 21st, 2012
8,154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 11.45 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. import urllib, urllib2, cookielib, re, os, sys, thread, threading, time, httplib, subprocess, poplib, smtplib
  4. import string, random
  5.  
  6. class ProxyManagement():
  7.     class CheckProxys():
  8.         def main(self, proxys):
  9.             self.ThreadCount = 0
  10.             self.Finish = 0
  11.             start = time.time()
  12.    
  13.             for proxy in proxys:
  14.                 while True:
  15.                     if self.ThreadCount < 30:
  16.                         self.ThreadCount += 1
  17.                         thread.start_new_thread(self.CheckProxy, (proxy,))
  18.                         break
  19.                 if self.Finish:
  20.                     break
  21.             print "Elapsed Time: %s" % (time.time() - start)
  22.             if self.Finish:
  23.                 return(self.Proxy)
  24.            
  25.         def CheckProxy(self, proxy):
  26.             proxyhandler = urllib2.ProxyHandler({"http":proxy})
  27.             cookieprocessor = urllib2.HTTPCookieProcessor(cookielib.CookieJar())
  28.             session = urllib2.build_opener(cookieprocessor, proxyhandler)
  29.             session.addheaders = [("User-agent", "Opera/9.80 (Windows NT 6.1; U; en-US) Presto/2.7.62 Version/11.01")]
  30.             try:
  31.                 Url = "http://www.google.de/"
  32.                 session.open(Url).read()
  33.                 if not self.Finish:
  34.                     self.Proxy = proxy
  35.                     print("Working proxy: %s" % (proxy))
  36.                     self.Finish = 1
  37.             except Exception as e:
  38.                 pass
  39.             self.ThreadCount -= 1
  40.             thread.exit()
  41.  
  42.     def SearchProxys(self):
  43.         session = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
  44.         session.addheaders = [("User-agent", "Opera/9.80 (Windows NT 6.1; U; en-US) Presto/2.7.62 Version/11.01")]
  45.        
  46.         Tmp = session.open("http://www.proxy-listen.de/Proxy/Proxyliste.html").read()
  47.         value = re.findall('<input name="ggfhgfjcfgds" value="(.*)" type="hidden"/>', Tmp)[0]
  48.        
  49.         ProxyList = []
  50.         post_vars = {
  51.                     "filter_port": "",
  52.                     "filter_http_gateway": "",
  53.                     "filter_http_anon": "",
  54.                     "filter_response_time_http": "",
  55.                     "ggfhgfjcfgds": value,
  56.                     "filter_country": "",
  57.                     "filter_timouts1": "", #100% Connection enable (100- x)
  58.                     "liststyle": "info",
  59.                     "proxies": "50",
  60.                     "type": "http",
  61.                     "submit": "Anzeigen"
  62.                     }
  63.                    
  64.         Context = session.open("http://www.proxy-listen.de/Proxy/Proxyliste.html", urllib.urlencode(post_vars)).read()
  65.         IPs = re.findall('><a href="http://whois.sc/(.*)" target="_blank">', Context)
  66.         for IP in IPs:
  67.             try:
  68.                 Split = Context.split('<td><a href="http://whois.sc/%s" target="_blank">%s</a></td>' % (IP, IP))[1]
  69.                 tmp = re.findall('<td>(.*)</td>', Split)[0]
  70.                 ProxyList.append("%s:%s" % (IP, tmp))
  71.             except: pass
  72.         return(ProxyList)
  73.        
  74. def SetProxySession(**kwargs):
  75.     global session
  76.     Proxy = ProxyManagement()
  77.  
  78.     if not "proxy" in kwargs:
  79.         ProxyList = Proxy.SearchProxys()
  80.         WorkingProxy = Proxy.CheckProxys().main(ProxyList)
  81.     else:
  82.         WorkingProxy = kwargs["proxy"]
  83.        
  84.     if WorkingProxy:
  85.         print("Using Proxy Server: %s" % (WorkingProxy))
  86.         proxyhandler = urllib2.ProxyHandler({"http":WorkingProxy})
  87.         cookieprocessor = urllib2.HTTPCookieProcessor(cookielib.CookieJar())
  88.         session = urllib2.build_opener(cookieprocessor, proxyhandler)
  89.         session.addheaders = [("User-agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; chromeframe/12.0.742.112)")]
  90.     else:
  91.         print("No working proxy found.")
  92.         return(SetProxySession())
  93.  
  94. class LoginChecker():
  95.     def __init__(self, url, user_pass):
  96.         user_name, email_url = url.split("@")
  97.         service = self.assert_email(email_url)
  98.        
  99.         if isinstance(service, str):
  100.             print(service)
  101.         else:
  102.             SetProxySession()
  103.             answer = service(user_name, user_pass)
  104.             if answer and not isinstance(answer, str):
  105.                 print("Login successfull.")
  106.             else:
  107.                 if isinstance(answer, str):
  108.                     print(answer)
  109.                 print("Login failed.")
  110.        
  111.     def assert_email(self, url):
  112.         url = url.lower()
  113.         email_dict = {
  114.             "web.de": self.web_login,
  115.             "gmx.de": self.gmx_de_login,
  116.             "gmx.at": self.gmx_at_login,
  117.             "gmx.ch": self.gmx_ch_login,
  118.             "hotmail.de": self.hotmail_de_login,
  119.             "hotmail.com": self.hotmail_com_login,
  120.             "live.de": self.live_de_login,
  121.             "live.com": self.live_com_login,
  122.             "kabelbw.de": self.kabelbw_login,
  123.             "aol.com": self.aol_login,
  124.             "arcor.de": self.arcor_login,
  125.             "t-online.de": self.tonline_login,
  126.             "ymail.com": self.ymail_login,
  127.             "yahoo.de": self.yahoo_de_login,
  128.             "yahoo.com": self.yahoo_com_login,
  129.             "gmail.com": self.gmail_login,
  130.             "googlemail.com": self.googlemail_login,
  131.         }
  132.         if url in email_dict:
  133.             return(email_dict[url])
  134.         return("not supported url")
  135.        
  136.     def web_login(self, user_name, user_pass):
  137.         print("Login to: web.de")
  138.         print("Username: %s" % (user_name))
  139.         print("Passwort: %s" % (user_pass))
  140.        
  141.         login_url = "https://login.web.de/intern/login?hal=true"
  142.         success_url = "https://navigator.web.de/login"
  143.        
  144.         post_vars = {
  145.             "service": "freemail",
  146.             "server": "https://freemail.web.de",
  147.             "successURL": success_url,
  148.             "loginFailedURL": "http://web.de/fm?status=login-failed",
  149.             "loginErrorURL": "http://freemail.web.de/msg/failure.htm",
  150.             "onerror": "http://freemail.web.de/msg/failure.htm",
  151.             "onfail": "http://web.de/fm?status=login-failed",
  152.    
  153.             "username": user_name,
  154.             "password": user_pass,
  155.             "submit": "Login",
  156.         }
  157.         redirect_url = session.open(login_url, urllib.urlencode(post_vars)).geturl()
  158.         try:
  159.             redirect_url.index(success_url)
  160.             return(True)
  161.         except ValueError:
  162.             return(False)
  163.        
  164.     def gmx_de_login(self, user_name, user_pass):
  165.         user_name = user_name + "@gmx.de"
  166.         return(self.gmx_login(user_name, user_pass))
  167.        
  168.     def gmx_at_login(self, user_name, user_pass):
  169.         user_name = user_name  + "@gmx.at"
  170.         return(self.gmx_login(user_name, user_pass))
  171.  
  172.     def gmx_ch_login(self, user_name, user_pass):
  173.         user_name = user_name  + "@gmx.ch"
  174.         return(self.gmx_login(user_name, user_pass))
  175.        
  176.     def gmx_login(self, user_name, user_pass):
  177.         print("Login to: %s" % (user_name.split("@")[1]))
  178.         print("Username: %s" % (user_name))
  179.         print("Passwort: %s" % (user_pass))
  180.    
  181.         login_url = "https://service.gmx.net/de/cgi/login"
  182.         success_url = "https://service.gmx.net/de/cgi/g.fcgi/startpage?"
  183.        
  184.         post_vars = {
  185.             "AREA": "1",
  186.             "EXT": "redirect",
  187.             "EXT2": "",
  188.             "uinguserid": "__uuid__",
  189.             "dlevel": "c",
  190.             "id": user_name,
  191.             "p": user_pass,
  192.             "submit": "Login",
  193.         }
  194.         redirect_url = session.open(login_url, urllib.urlencode(post_vars)).geturl()
  195.         try:
  196.             redirect_url.index(success_url)
  197.             return(True)
  198.         except ValueError:
  199.             return(False)
  200.        
  201.     def hotmail_de_login(self, user_name, user_pass):
  202.         user_name = user_name + "@hotmail.de"
  203.         return(self.hotmail_login(user_name, user_pass))
  204.    
  205.     def hotmail_com_login(self, user_name, user_pass):
  206.         user_name = user_name + "@hotmail.com"
  207.         return(self.hotmail_login(user_name, user_pass))
  208.    
  209.     def live_de_login(self, user_name, user_pass):
  210.         user_name = user_name + "@live.de"
  211.         return(self.hotmail_login(user_name, user_pass))
  212.    
  213.     def live_com_login(self, user_name, user_pass):
  214.         user_name = user_name + "@live.com"
  215.         return(self.hotmail_login(user_name, user_pass))
  216.        
  217.     def hotmail_login(self, user_name, user_pass):
  218.         print("Login to: hotmail.de")
  219.         print("Username: %s" % (user_name))
  220.         print("Passwort: %s" % (user_pass))
  221.        
  222.         connection = poplib.POP3_SSL('pop3.live.com', 995)
  223.         try:
  224.             connection.user(user_name)
  225.             connection.pass_(user_pass)
  226.             return(True)
  227.         except:
  228.             return(False)
  229.            
  230.     def kabelbw_login(self, user_name, user_pass):
  231.         user_name = user_name + "@kabelbw.de"
  232.    
  233.         print("Login to: kabelbw.de")
  234.         print("Username: %s" % (user_name))
  235.         print("Passwort: %s" % (user_pass))
  236.        
  237.         login_url = "https://webmail.kabelbw.de/do/dologin"    
  238.         session_content = session.open("https://webmail.kabelbw.de/").read()
  239.         sessionId = re.findall('name="sessionId" value="(.*)"/>', session_content)[0]
  240.        
  241.         post_vars = {
  242.             "sessionId": sessionId,
  243.             "variant": "kabelbw",
  244.             "locale": "de-DE",
  245.             "client": "html",
  246.             "directMessageView": "",
  247.             "uid": "",
  248.             "uidl": "",
  249.             "folder": "",
  250.             "remoteAccountUID": "",
  251.             "login": "1",
  252.             "account": user_name,
  253.             "password": user_pass,
  254.         }
  255.        
  256.         redirect_url = session.open(login_url, urllib.urlencode(post_vars)).read()
  257.         if redirect_url.find('Bitte versuchen Sie es noch einmal') != -1:
  258.             return(False)
  259.         else:
  260.             return(True)
  261.        
  262.     def aol_login(self, user_name, user_pass):
  263.         print("Login to: aol.com")
  264.         print("Username: %s" % (user_name))
  265.         print("Passwort: %s" % (user_pass))
  266.        
  267.         try:
  268.             mailServer = smtplib.SMTP("smtp.aol.com:587")
  269.             mailServer.set_debuglevel(1)
  270.         except smtplib.SMTPServerDisconnected:
  271.             return("SMTP Server Disconnected")
  272.            
  273.         try:
  274.             mailServer.login(user_name, user_pass)
  275.             mailServer.quit()
  276.             return(True)
  277.         except smtplib.SMTPAuthenticationError:
  278.             return(False)
  279.  
  280.     def arcor_login(self, user_name, user_pass):
  281.         print("Login to: aol.com")
  282.         print("Username: %s" % (user_name))
  283.         print("Passwort: %s" % (user_pass))
  284.        
  285.         login_url = "https://www.arcor.de/login/login.jsp"
  286.        
  287.         post_vars = {
  288.             "user_name": user_name,
  289.             "password": user_pass,
  290.             "info": "Online-Passwort",
  291.             "login": "Login",
  292.             "goto": "",
  293.             "protocol": "https",
  294.             "promo": "",
  295.         }
  296.         redirect_url = session.open(login_url, urllib.urlencode(post_vars)).geturl()
  297.         try:
  298.             redirect_url.index(login_url)
  299.             return(False)
  300.         except ValueError:
  301.             return(True)
  302.            
  303.     def tonline_login(self, user_name, user_pass):
  304.         print("Login to: t-online.de")
  305.         print("Username: %s" % (user_name))
  306.         print("Passwort: %s" % (user_pass))
  307.        
  308.         try:
  309.             mailServer = smtplib.SMTP("smtpmail.t-online.de")
  310.             mailServer.set_debuglevel(1)
  311.         except smtplib.SMTPServerDisconnected:
  312.             return("SMTP Server Disconnected")
  313.  
  314.         try:
  315.             mailServer.login(user_name, user_pass)
  316.             mailServer.quit()
  317.             return(True)
  318.         except smtplib.SMTPAuthenticationError:
  319.             return(False)
  320.            
  321.     def gmail_login(self, user_name, user_pass):
  322.         user_name = user_name + "@gmail.com"
  323.         return(self.googlemail_mail_login(user_name, user_pass))
  324.        
  325.     def googlemail_login(self, user_name, user_pass):
  326.         user_name = user_name + "@googlemail.com"
  327.         return(self.googlemail_mail_login(user_name, user_pass))
  328.        
  329.     def googlemail_mail_login(self, user_name, user_pass):
  330.         print("Login to: %s" % (user_name.split("@")[1]))
  331.         print("Username: %s" % (user_name))
  332.         print("Passwort: %s" % (user_pass))
  333.  
  334.         try:
  335.             mailServer = smtplib.SMTP("smtp.gmail.com:465")
  336.             mailServer.set_debuglevel(1)
  337.         except smtplib.SMTPServerDisconnected:
  338.             return("SMTP Server Disconnected")
  339.        
  340.         try:
  341.             mailServer.login(user_name, user_pass)
  342.             mailServer.quit()
  343.             return(True)
  344.         except smtplib.SMTPAuthenticationError:
  345.             return(False)      
  346.        
  347.     def ymail_login(self, user_name, user_pass):
  348.         user_name = user_name + "@ymail.com"
  349.         return(self.yahoo_mail_login(user_name, user_pass))
  350.        
  351.     def yahoo_de_login(self, user_name, user_pass):
  352.         user_name = user_name + "@yahoo.de"
  353.         return(self.yahoo_mail_login(user_name, user_pass))
  354.        
  355.     def yahoo_com_login(self, user_name, user_pass):
  356.         user_name = user_name + "@yahoo.com"
  357.         return(self.yahoo_mail_login(user_name, user_pass))
  358.        
  359.     def yahoo_mail_login(self, user_name, user_pass):
  360.         print("Login to: %s" % (user_name.split("@")[1]))
  361.         print("Username: %s" % (user_name))
  362.         print("Passwort: %s" % (user_pass))
  363.  
  364.         try:
  365.             mailServer = smtplib.SMTP("smtp.mail.yahoo.com:465")
  366.             mailServer.set_debuglevel(1)
  367.         except smtplib.SMTPServerDisconnected:
  368.             return("SMTP Server Disconnected")
  369.         try:
  370.             mailServer.login(user_name, user_pass)
  371.             mailServer.quit()
  372.             return(True)
  373.         except smtplib.SMTPAuthenticationError:
  374.             return(False)
  375.            
  376. LoginChecker("Benutzer@hotmail.de", "Passwort")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement