A simple yet powerful web-based SMTP testing tool that allows you to test email configurations, send test emails, and debug SMTP communication issues. Built with PHP, Bootstrap, and PHPMailer.
- 🚀 Test SMTP server configurations
- 💾 Save and manage multiple SMTP configurations
- 📧 Send test emails with customizable content
- 🔍 Real-time SMTP debug logging
- 📝 View and manage email sending logs
- 🎨 Clean and responsive Bootstrap interface
- 📱 Mobile-friendly design
- PHP 7.4 or higher
- Composer
- Web server (Apache/Nginx)
- Modern web browser
- Clone the repository or download the files to your web server directory:
git clone https://github.com/ghimawan0/smtptest.git
cd smtptest
- Install dependencies using Composer:
composer require phpmailer/phpmailer
- Set appropriate permissions for the data directory:
chmod 755 data/
- Access the application through your web browser:
http://yourdomain.com/smtptest/
After completing the installation, your project structure will look like this:
smtptest/
├── api/
│ ├── functions.php
│ ├── send_email.php
│ ├── save_config.php
│ ├── delete_config.php
│ ├── get_configs.php
│ ├── get_logs.php
│ └── clear_logs.php
├── data/
│ ├── smtp_configs.json
│ └── smtp.log
├── vendor/
├── index.php
├── composer.json
├── composer.lock
├── LICENSE
└── README.md
If you don't want to use Composer, you can manually install PHPMailer:
-
Download PHPMailer from the official GitHub repository:
- Go to https://github.com/PHPMailer/PHPMailer
- Click on "Code" -> "Download ZIP"
- Extract the ZIP file
-
Copy the following files from the extracted PHPMailer directory to your project:
PHPMailer-master/src/PHPMailer.php PHPMailer-master/src/SMTP.php PHPMailer-master/src/Exception.php
Place these files in a new directory called
phpmailer
in your project root. -
Modify the following files to update PHPMailer references:
In
api/functions.php
, replace:require 'vendor/autoload.php'; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\Exception;
with:
require_once(__DIR__ . '/../phpmailer/PHPMailer.php'); require_once(__DIR__ . '/../phpmailer/SMTP.php'); require_once(__DIR__ . '/../phpmailer/Exception.php'); use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\Exception;
-
Set appropriate permissions:
chmod 755 data/
- Access the application through your web browser:
http://yourdomain.com/smtptest/
After completing the installation, your project structure will look like this:
smtptest/
├── api/
│ ├── functions.php
│ ├── send_email.php
│ ├── save_config.php
│ ├── delete_config.php
│ ├── get_configs.php
│ ├── get_logs.php
│ └── clear_logs.php
├── data/
│ ├── smtp_configs.json
│ └── smtp.log
├── phpmailer/
│ ├── PHPMailer.php
│ ├── SMTP.php
│ └── Exception.php
├── index.php
├── composer.json
├── composer.lock
├── LICENSE
└── README.md
- Navigate to the "Send Email" tab
- Fill in the SMTP configuration details:
- SMTP Host
- Port
- Username
- Password
- Security type (None/SSL/TLS)
- Configure email details:
- From email
- To email
- Subject
- Message
- Click "Send Test Email"
- Go to the "Configurations" tab
- Save current configuration using the "Save Config" button
- Load or delete saved configurations as needed
- Access the "Logs" tab
- View detailed SMTP communication logs
- Use the search function to filter specific log entries
- Clear logs when needed
- This tool is intended for development and testing purposes only
- Do not use in production environments
- Keep the tool in a secured directory
- Use strong passwords for SMTP configurations
- Regular clearing of logs containing sensitive information is recommended
This tool is provided "as is" without warranty of any kind, express or implied. Use at your own risk. The authors and contributors are not responsible for any damages or consequences resulting from the use of this tool.
MIT License
Copyright (c) 2025
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Contributions are welcome! Please feel free to submit a Pull Request.
For bugs, feature requests, and discussions, please create an issue in the GitHub repository.