SMTP Checker 2025
SMTP Checker 2025
Simple Windows GUI to validate SMTP credentials and optionally send a test email to selected recipients. Includes multi-threaded checking, progress display, and automatic saving of valid results
### Features
– SMTP list input:
HOST|PORT|USER|PASS per line– Recipients management: add, remove, load, save, select multiple
– Login only mode: verify credentials without sending an email
– Email sending: subject/from/content with optional randomization
– Threading and delay controls
– Live logs and progress
– Output files:
valid.txt and valid_logins.txt– Internet monitoring: auto-pause when offline, auto-resume when back
### Requirements
– OS: Windows 10/11
– Python: 3.8 or newer (tkinter is included with the standard Windows installer)
### Getting Started
1. Download/clone this folder to your machine.
2. (Optional) Create a virtual environment:
“`bash
python -m venv .venv
.venv\\Scripts\\activate
“`
3. Run the app:
“`bash
python main.py
“`
### Using the App
1. SMTP List
– Paste or click “Load SMTP List” to import a
.txt file.– Expected format per line:
HOST|PORT|USER|PASS– Example:
“`
smtp.gmail.com|587|user@gmail.com|app-password
smtp.mail.yahoo.com|587|user@yahoo.com|password123
2. Recipients
– Add recipients manually, or use “Load Recipients” to import a JSON list.
– Select one or more recipients in the list before starting (unless using Login Only).
3. Settings
– Check Login Only: only authenticate; no email will be sent.
– Show Password in Log & Email: toggles whether the raw SMTP string is included in the message content.
– Randomization: random subject, sender name, or content for each send.
– Threads: number of concurrent SMTP checks.
– Delay: pause between checks (seconds).
4. Compose
– Set Subject, From Name, and Email Content (HTML supported).
5. Run
– Click Start to begin, Pause/Resume, or Stop at any time.
– Progress and results appear in the log area.
### Output Files
– valid.txt: credentials that successfully logged in and sent an email.
– valid_logins.txt: credentials that successfully logged in when “Check Login Only” is enabled.
– recipients.json: automatically maintained when you add/remove recipients in the UI.
### Important Notes About SMTP
– The checker uses
STARTTLS (TLS upgrade) after EHLO. Ensure your selected port supports it (commonly 587).– SMTPS on port 465 (implicit SSL) is not supported by this script.
### Troubleshooting
– “No recipients selected”: Select at least one recipient in the list, or enable “Check Login Only”.
– “Invalid SMTP format”: Ensure each line is exactly
HOST|PORT|USER|PASS with no spaces.– Nothing happens / no progress:
– Check your internet connection; the app pauses automatically when offline.
– Try reducing Threads and increasing Delay to avoid rate limits.
– Some providers throttle or block test messages—check provider policy.
– Auth succeeds but send fails: The account may be allowed to login but blocked from sending; review provider SMTP policies and app passwords.
### License
This project is provided as-is, without warranty. Use responsibly and in accordance with your email provider’s terms and applicable laws.
Download Link