
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.
Contact us
Telegram : adrikadi
View hidden content is available for registered users!