Description
CodingBunny Mail SMTP allows you to easily configure an SMTP server to send all outgoing emails from your WordPress website.
By default, WordPress uses the wp_mail() function which relies on the server’s PHP mail configuration. This often leads to delivery issues or emails ending up in spam. This plugin solves that problem by routing emails through a reliable SMTP server.
Key Features
- Enable or disable SMTP with a single toggle
- Supports SSL, TLS, or no encryption
- SMTP port suggested automatically based on the encryption type
- Optional SMTP authentication (username & password)
- Secure password storage using encryption
- Settings can be defined as constants in wp-config.php
- Custom “From Email” and “From Name”
- Built-in test email tool
- Failed emails log with configurable retention
- Lightweight, no third-party dependencies
- Fully compatible with WordPress PHPMailer
- Clean and accessible admin interface
Security
The SMTP password is encrypted before being stored in the database and is never displayed in plain text in the WordPress admin area. For maximum security, you can define it as a constant in wp-config.php so that it is never stored in the database at all.
Configuration
You can configure the following options:
- SMTP Host (e.g.
smtp.example.com) - SMTP Port (e.g.
587) - Encryption: None, TLS, or SSL
- Enable/Disable SMTP authentication
- SMTP Username & Password
- Sender Email Address
- Sender Name
After saving, use the Test Email section to verify your configuration.
Configuration via wp-config.php
Every setting can also be defined as a constant in wp-config.php. Constants take priority over the values saved in the admin area, and the related fields are shown as read-only.
define( 'CODINGBUNNY_MAIL_SMTP_ENABLED', true );define( 'CODINGBUNNY_MAIL_SMTP_HOST', 'smtp.example.com' );define( 'CODINGBUNNY_MAIL_SMTP_PORT', 587 );define( 'CODINGBUNNY_MAIL_SMTP_ENCRYPTION', 'tls' );(none,tlsorssl)define( 'CODINGBUNNY_MAIL_SMTP_AUTH', true );define( 'CODINGBUNNY_MAIL_SMTP_USERNAME', 'user@example.com' );define( 'CODINGBUNNY_MAIL_SMTP_PASSWORD', 'your-password' );define( 'CODINGBUNNY_MAIL_SMTP_FROM_EMAIL', 'noreply@example.com' );define( 'CODINGBUNNY_MAIL_SMTP_FROM_NAME', 'My Website' );
You can define only the constants you need: the remaining settings are read from the admin area.
Uninstall
When the plugin is uninstalled, all plugin options (including encrypted credentials and the failed emails log) are removed from the database.
Installation
- Upload the
codingbunny-mail-smtpfolder to the/wp-content/plugins/directory
or - Install the plugin via the WordPress Plugins screen
- Activate the plugin through the Plugins menu in WordPress
- Go to Settings CodingBunny Mail SMTP
- Configure your SMTP details and save
FAQ
-
Does this plugin replace wp_mail()?
-
Yes. The plugin hooks into WordPress PHPMailer and sends all emails via SMTP when enabled.
-
Is the SMTP password secure?
-
Yes. The password is encrypted using WordPress salts and OpenSSL before being stored. You can also define it in wp-config.php so that it is never stored in the database.
-
What happens if I leave the password field empty?
-
The existing password will not be overwritten.
-
Can I define the settings in wp-config.php?
-
Yes. See the “Configuration via wp-config.php” section for the full list of supported constants.
-
What does the failed emails log store?
-
Only the date, recipients, subject and error message of emails that WordPress failed to send. The message content is never stored. Entries are deleted automatically after the retention period (30 days by default, maximum 100 entries), and you can clear the log or disable it at any time.
-
Can I disable SMTP temporarily?
-
Yes. Simply disable the “Enable SMTP” toggle.
-
Does this plugin conflict with other mail plugins?
-
It is recommended to use only one SMTP/mail plugin at a time.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“CodingBunny Mail SMTP” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “CodingBunny Mail SMTP” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.5 – 09/27/2026
- New: SMTP settings can be defined as constants in wp-config.php
- New: The SMTP port is suggested automatically when the encryption type changes
- New: Failed emails log with configurable retention and automatic daily cleanup
- Fix: Saving the settings without re-entering the password no longer overwrites the stored SMTP password
- Fix: Invalid border value in the admin button styles
- Improved: SMTP port and encryption values are validated when saving
- Improved: All admin buttons and toggles are keyboard-accessible
1.0.4 – 08/28/2026
- Updated: CodingBunny Mail SMTP is now tested up to WordPress 7.1
1.0.3 – 03/06/2026
- Updated: CodingBunny Mail SMTP is now tested up to WordPress 7
- Improved: Added placeholder in the password field when it is set
- Improved: Improved error handling
- Improved: Optimized the sending of test emails
- Improved: Improved compatibility with SMTP servers
- Improved: Improved password security
1.0.2 – 01/28/2026
- Fix: Fixed a bug that deleted the test email when saving settings
- Fix: Fixed a bug that prevented the Sender Name from working if the Sender Email was not set
1.0.1 – 01/28/2026
- Fix: Fixed test email saving error
1.0.0 – 01/27/2026
- New: Initial Release

