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|[email protected]|app-password
smtp.mail.yahoo.com|587|[email protected]|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 1
Download Link 2
Download Link 3