Skip to content

ghimawan0/smtptest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SMTP Test

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.

Features

  • 🚀 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

Screenshots

Send Email Tab

Send Email Tab

SMTP Configuration Tab

SMTP Configuration Tab

Log Tab

Log Tab

Requirements

  • PHP 7.4 or higher
  • Composer
  • Web server (Apache/Nginx)
  • Modern web browser

Installation

Option 1: Using Composer (Recommended)

  1. Clone the repository or download the files to your web server directory:
git clone https://github.com/ghimawan0/smtptest.git
cd smtptest
  1. Install dependencies using Composer:
composer require phpmailer/phpmailer
  1. Set appropriate permissions for the data directory:
chmod 755 data/
  1. 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

Option 2: Manual Installation (Without Composer)

If you don't want to use Composer, you can manually install PHPMailer:

  1. Download PHPMailer from the official GitHub repository:

  2. 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.

  3. 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;
  4. Set appropriate permissions:

chmod 755 data/
  1. 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

Usage

Testing SMTP Configuration

  1. Navigate to the "Send Email" tab
  2. Fill in the SMTP configuration details:
    • SMTP Host
    • Port
    • Username
    • Password
    • Security type (None/SSL/TLS)
  3. Configure email details:
    • From email
    • To email
    • Subject
    • Message
  4. Click "Send Test Email"

Managing Configurations

  1. Go to the "Configurations" tab
  2. Save current configuration using the "Save Config" button
  3. Load or delete saved configurations as needed

Viewing Logs

  1. Access the "Logs" tab
  2. View detailed SMTP communication logs
  3. Use the search function to filter specific log entries
  4. Clear logs when needed

Security Considerations

  • 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

Disclaimer

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.

License

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.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Support

For bugs, feature requests, and discussions, please create an issue in the GitHub repository.

About

A simple yet powerful web-based SMTP testing tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published