- Trim all form field values before submission - Prevents copy-paste whitespace issues - Applied to both regular and auto-discovery tests
Advanced SMTP Tester
A professional, feature-rich SMTP testing utility with a modern web interface. Test your email server configurations, troubleshoot delivery issues, and discover optimal SMTP settings automatically.
📋 Table of Contents
- Features
- Screenshots
- Installation
- Usage
- Configuration Examples
- API Endpoints
- Security Notes
- Troubleshooting
- Contributing
- License
✨ Features
🔐 Comprehensive SMTP Support
- Multiple Encryption Methods: STARTTLS, SSL/TLS, and unencrypted connections
- Common Ports: Pre-configured support for ports 587, 465, 25, and 2525
- Custom Configurations: Flexible settings for any SMTP server
🔍 Auto-Discovery Testing
- Automatically tests multiple SMTP configurations
- Intelligently tries common port and encryption combinations
- Reports all successful configurations
- Sends test emails for each working setup
📧 Email Testing
- Sends styled HTML test emails
- Includes configuration details in email body
- Password included for verification (configurable)
- From/To address customization
🎨 Modern User Interface
- Clean, intuitive design
- Responsive layout for all devices
- Real-time status updates
- Animated background effects
- Dark theme optimized for extended use
🛡️ Security Features
- Password visibility toggle
- Secure encryption options
- Warning notifications for sensitive data
- No credential storage
<EFBFBD> How It Works
The SMTP testing process is simple and straightforward:
- Enter Credentials - Provide your SMTP server details and authentication
- Connect to Server - Application establishes secure connection to SMTP server
- Send Test Email - Formatted test email is sent through the configured server
- View Results - Detailed success/failure information displayed in real-time
<EFBFBD>📸 Screenshots
Main Interface
Clean, modern interface for SMTP configuration
Form Example
Example configuration with Gmail SMTP settings
🚀 Installation
Prerequisites
- Node.js (v14.0.0 or higher)
- npm (comes with Node.js)
Quick Start
-
Clone the repository
git clone https://github.com/DeNNiiInc/Advanced-Smtp-Tester.git cd Advanced-Smtp-Tester -
Install dependencies
npm install -
Start the server
npm start -
Open in browser
http://localhost:3000
The application will be running on port 3000 by default.
📖 Usage
Manual Configuration Test
-
Enter SMTP Server Details
- Host: Your SMTP server address (e.g.,
smtp.gmail.com) - Port: SMTP port number (e.g.,
587for STARTTLS) - Encryption: Choose appropriate encryption method
- STARTTLS (587/25) - Most common for modern servers
- SSL/TLS (465) - Legacy secure connection
- Unencrypted - Not recommended for production
- Host: Your SMTP server address (e.g.,
-
Provide Authentication
- Username/Email: Your email address or username
- Password: Account password or app-specific password
-
Configure Email Details
- From Address (Optional): Defaults to username if not specified
- To Address: Recipient email for the test
-
Run Test
- Click "Test Configuration & Send Email"
- Wait for results (typically 5-15 seconds)
- Check the results panel for success or error messages
Auto-Discovery Test
For when you're not sure which configuration to use:
-
Enter Basic Details
- SMTP Host
- Username/Password
- To Address
-
Click "🔍 Auto Discovery Test"
-
Review Results
- The tool will test multiple port/encryption combinations
- Successful configurations will send test emails
- All working setups will be reported
🔧 Configuration Examples
Quick reference for popular email providers
Gmail
Host: smtp.gmail.com
Port: 587
Encryption: STARTTLS (587/25)
Username: your-email@gmail.com
Password: your-app-password
Note
: Gmail requires App Passwords when 2FA is enabled.
Outlook/Office 365
Host: smtp.office365.com
Port: 587
Encryption: STARTTLS (587/25)
Username: your-email@outlook.com
Password: your-password
Yahoo Mail
Host: smtp.mail.yahoo.com
Port: 587
Encryption: STARTTLS (587/25)
Username: your-email@yahoo.com
Password: your-app-password
Custom SMTP Server
Host: mail.yourdomain.com
Port: 587 (or 465, 25, 2525)
Encryption: Based on your server config
Username: user@yourdomain.com
Password: your-password
🔌 API Endpoints
POST /api/test-smtp
Test a specific SMTP configuration and send an email.
Request Body:
{
"host": "smtp.gmail.com",
"port": 587,
"secure": "false",
"user": "your-email@gmail.com",
"pass": "your-password",
"from": "sender@example.com",
"to": "recipient@example.com"
}
Response:
{
"success": true,
"message": "Email sent successfully!",
"info": {
"accepted": ["recipient@example.com"],
"messageId": "<message-id>"
}
}
POST /api/auto-test-smtp
Automatically test multiple SMTP configurations.
Request Body:
{
"host": "smtp.gmail.com",
"user": "your-email@gmail.com",
"pass": "your-password",
"to": "recipient@example.com"
}
Response:
{
"success": true,
"results": [
{
"port": 587,
"secure": "false",
"status": "success",
"message": "Email sent successfully!"
}
]
}
🔒 Security Notes
Warning
Password Transmission By default, the test email includes the password used for testing in the email body. This is intentional for verification purposes but should be used carefully.
Best Practices
-
Use App-Specific Passwords
- Don't use your main account password
- Create dedicated app passwords for testing
-
Avoid Public Networks
- Don't test on public WiFi
- Use VPN when possible
-
Delete Test Emails
- Remove test emails containing passwords
- Clear sent items after testing
-
Local Hosting Only
- By default, runs on localhost only
- Do not expose to the internet without proper security
-
HTTPS in Production
- Use reverse proxy (nginx, Apache) for HTTPS
- Never send credentials over unencrypted connections
🐛 Troubleshooting
Common Issues
"Connection timeout" or "ETIMEDOUT"
- Cause: Firewall blocking SMTP ports
- Solution:
- Check firewall settings
- Try different ports (587, 465, 25)
- Contact your hosting provider
"Invalid login" or "Authentication failed"
- Cause: Incorrect credentials or security settings
- Solution:
- Verify username and password
- Use app-specific passwords
- Enable "Less secure apps" (not recommended)
- Check for 2FA requirements
"Self-signed certificate" errors
- Cause: Server using self-signed SSL certificate
- Solution:
- Try unencrypted connection for testing
- Update to use proper SSL certificates
Gmail "Username and Password not accepted"
- Cause: Gmail security blocks
- Solution:
- Enable 2-Step Verification
- Create App Password
- Use the App Password instead of account password
Debug Mode
Check the browser console (F12) for detailed error messages. Server logs will show in the terminal where you ran npm start.
🤝 Contributing
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch
git checkout -b feature/your-feature-name - Commit your changes
git commit -m "Add your feature description" - Push to your branch
git push origin feature/your-feature-name - Open a Pull Request
Development Setup
# Install dependencies
npm install
# Start development server
npm start
# The server runs with auto-reload enabled
📄 License
This project is licensed under the GNU General Public License v3.0.
Advanced SMTP Tester - Professional Email Configuration Testing
Copyright (C) 2025 Beyond Cloud Technology
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
See the LICENSE file for full details.
🙏 Acknowledgments
- Built with Node.js
- Email functionality powered by Nodemailer
- UI inspired by modern web design principles
- Developed by Beyond Cloud Technology
📞 Support
- Issues: GitHub Issues
- YouTube: @beyondcloudtechnology
- GitHub: @DeNNiiInc
Made with ❤️ by Beyond Cloud Technology

