KISSMTP
Simple stupid smtp mail handling plugin for Wordpress.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/web-pat/wordpress-kissmtp/archive/refs/heads/main.zipReadme
KISSMTP - Simple SMTP for WordPress
A lightweight WordPress plugin that forces all outbound emails through SMTP for reliable email delivery. There is a bunch of plugins like this for the same purpose. Why do another one? KISS stands for keep it simple stupid. This plugin intends to do only what it says it does and there are no further upsells or nagging screens.
Not yet tested nor ready for productive use!
Features
- SMTP Configuration: Configure any SMTP server (Gmail, Outlook, SendGrid, Mailgun, etc.)
- Encryption Support: SSL, TLS, or no encryption
- Authentication: Username/password authentication with encrypted credential storage
- From Address Override: Force custom sender email and name on all outgoing mail
- Return Path: Set return path header for better deliverability
- Test Email: Built-in test email functionality to verify configuration
- Debug Logging: SMTP debug output when WP_DEBUG and WP_DEBUG_LOG are enabled
- Password Security: AES-256-CBC encryption for stored SMTP credentials
Requirements
- WordPress 5.5 or higher
- PHP 7.4 or higher
- OpenSSL extension (for password encryption)
Installation
Method 1: Upload via WordPress Admin
- Download or clone this repository
- Zip the
wordpress-kissmtpfolder - Go to Plugins → Add New → Upload Plugin
- Choose the zip file and click Install Now
- Click Activate Plugin
Method 2: Manual Installation
- Download or clone this repository
- Copy the
wordpress-kissmtpfolder to/wp-content/plugins/ - Go to Plugins in WordPress admin
- Find KISSMTP and click Activate
Method 3: WP-CLI
wp plugin install /path/to/wordpress-kissmtp --activate
Configuration
- Navigate to Settings → KISSMTP in your WordPress admin
- Configure the SMTP settings:
| Field | Description | Example |
|---|---|---|
| SMTP Host | Your SMTP server hostname | smtp.gmail.com |
| SMTP Port | Server port number | 587 (TLS) or 465 (SSL) |
| Encryption | SSL, TLS, or None | TLS |
| Authentication | Enable username/password | Checked |
| Username | SMTP username (usually email) | user@gmail.com |
| Password | SMTP password or app password | your-password |
- Configure the From Address (optional):
| Field | Description | Example |
|---|---|---|
| From Email | Sender email address | wordpress@example.com |
| From Name | Sender display name | My Website |
| Return Path | Set return-path header | Checked |
- Click Save Settings
Common SMTP Settings
Gmail/Google Workspace:
- Host:
smtp.gmail.com - Port:
587 - Encryption: TLS
- Username: Your full email address
- Password: App-specific password (enable 2FA first)
Microsoft Outlook/365:
- Host:
smtp.office365.com - Port:
587 - Encryption: TLS
- Username: Your full email address
- Password: Your password or app password
SendGrid:
- Host:
smtp.sendgrid.net - Port:
587 - Encryption: TLS
- Username:
apikey - Password: Your SendGrid API key
Mailgun:
- Host:
smtp.mailgun.org - Port:
587 - Encryption: TLS
- Username: Your Mailgun email
- Password: Your Mailgun password
Testing
- Go to Settings → KISSMTP
- Scroll to the Test Email section
- Enter a recipient email address
- Click Send Test Email
- Check the recipient inbox and any error messages
Debugging
Enable WordPress debug logging to see SMTP debug output:
// wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
SMTP debug logs are written to /wp-content/debug.log with the prefix [KISSMTP SMTP].
Uninstalling
The plugin cleanly removes all data when deleted:
- Go to Plugins
- Click Deactivate on KISSMTP
- Click Delete
All SMTP settings and transients are automatically removed.
License
MIT License - see LICENSE file for details.
Contributing
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request