Are your WordPress emails not being delivered?
Install Easy WP SMTP and you’ll resolve your email delivery issues.
Easy WP SMTP allows you to configure and send all outgoing emails via 4 transactional mailers or an SMTP server. This will prevent your emails from landing in the spam folder and improve your deliverability.
You can resolve your email deliverability issues by configuring one of these mailers:
- SendLayer (recommended)
- Other SMTP — configure any SMTP server
Easy WP SMTP Features
- Send WordPress emails using one of the transactional mailers or an SMTP server.
- You can use different transactional mailers: SendLayer, Mailgun, Sendinblue, SMTP.com.
- You can use Gmail, Outlook, Yahoo, Hotmail, Zoho, or any other SMTP server.
- Seamlessly connect your WordPress site with a reliable mailer to handle all outgoing emails.
- Securely deliver emails to your recipients.
- Debug Events that log any failed email sending attempts and the error that caused them.
- Ability to specify a Reply-to or BCC email address.
Easy WP SMTP plugin includes different SMTP mailers, so you can choose the one that fits your needs.
SendLayer is our recommended transactional email service.
SendLayer is very affordable, reliable, and fast, plus it has a simple setup. You can configure it in a few minutes.
It offers 30 days of email logs history, with email open and click tracking. SendLayer offers hundreds of emails for free when you sign up for their trial.
Read our SendLayer documentation for more details.
Easy WP SMTP uses Mailgun API to reliably and quickly send out your WordPress emails.
Mailgun provides a 3-month trial period, where you can send 5000 emails per month.
Read our Mailgun documentation for more details.
Our plugin offers native integration with Sendinblue. All you have to do is open a Sendinblue account and copy the API key.
They offer a free account with 300 emails per day.
Read our Sendinblue documentation for more details.
SMTP.com is a powerful transactional email service, with over 23 years of experience.
You can get started with a 30-day trial account, where you can send up to 50,000 emails.
Read our SMTP.com documentation for more details.
With our Other SMTP mailer, you can configure any SMTP server to send your WordPress emails. You can use your own SMTP server, or any of the popular email providers: Gmail, Outlook, Yahoo, Zoho, Hotmail, …
Read our Other SMTP documentation for more details.
Debug Events is a feature that will log all your failed email sending attempts and provide additional information on why it failed and from which plugin the email was sent from.
You can enabled the Debug Email Sending option and all email sending attempts will be logged (not just the failing ones), so you can debug any delivery issues.
Easy WP SMTP Plugin Usage
Once you have installed the plugin there are a few options that you need to configure.
The plugin settings can be found in your WordPress Dashboard by clicking on the Easy WP SMTP menu item.
Easy WP SMTP Settings
The settings section consists of two sections: Mailer Settings and General Settings.
- Mailer Selection: Choose a mailer you want to use (a transactional mailer or an SMTP server).
- Mailer-Specific Settings: Depending on your mailer selection, different settings will be displayed, for you to configure.
- From Email Address: The email address that will be used to send emails to your recipients.
- Force From Email: If you want to always overwrite the from email address, which can be set by other plugins.
- From Name: The name your recipients will see as part of the “from” or “sender” value when they receive your email.
- Force From Name: If you want to always overwrite the from name, which can be set by other plugins.
For more information on how you can configure all plugin settings, please visit our plugin documentation.
Easy WP SMTP Email Test
On the Email Test page you can send a test email to your own email address, to make sure that your WordPress site is ready to send all outgoing emails.
Once you click the “Send Test Email” button, by default a predefined email template (HTML or plain text) will be sent. But if you prefer, you can also define your own subject and email content in the Email Test settings.
Inspired by WP Mail SMTP plugin
- Install Easy WP SMTP either via the WordPress.org plugin repository or by uploading the files to your server. (See instructions on how to install a WordPress plugin)
- Activate Easy WP SMTP.
Can this plugin be used to send emails via Outlook, Gmail, Google Workspace, Hotmail, Yahoo, Zoho SMTP?
Yes, it can. All you need to do is select the “Other SMTP” mailer and configure the correct SMTP host details.
What to do if you need help or have an issue?
Please open a new support thread and provide as much information as possible, without any private information (it is a public forum).
And we will try to help out as soon as possible.
Contributors & Developers
“Easy WP SMTP — WordPress Email SMTP Plugin” is open source software. The following people have contributed to this plugin.Contributors
“Easy WP SMTP — WordPress Email SMTP Plugin” has been translated into 27 locales. Thank you to the translators for their contributions.
Translate “Easy WP SMTP — WordPress Email SMTP Plugin” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
- Added “Compact Mode” option. It allows condensing navigation and moves Easy WP SMTP under the WordPress Settings menu.
- Added SendLayer, Mailgun, Sendinblue, and SMTP.com email provider integrations.
- Added Debug Events — logging all email sending errors and debug events.
- Migrated the plugin options to a new format.
- Improved plugin’s user experience (design and functionality).
- Added logs file path location filter.
- Updated plugin documentation links.
- Removed the export/import settings option. There will be a separate free addon to offer the export/import settings option.
- Removed the special Clicky plugin compatibility code as it is no longer necessary.
- Removed the use of deprecated FILTER_SANITIZE_STRING.
- Added sanitization to input fields(that were missing it).
- Removed the usage of serialize() / unserialize() functions. Replaced it with json_encode() and json_decode() where applicable.
- Two new action hooks regarding settings menu tabs for addon support.
- Fixed error on SMTP with no AUTH.
- Fixed a possible PHP object injection issue while importing a file.
- Debug option can now handle multiple “to” email addresses in an array.
- A timestamp is now added to the debug log file output.
- Fixed a typo in the description of a settings option.
- Made another change to the debug logging functionality to only output the email header (instead of the full email).
- We understand that having the full email in the log file (when debug logging is enabled) to do troubleshooting is helpful but some users can forget to disable the logging feature afterwards. This change was necessary to ensure that sensitive info cannot be exposed unintentionally in the future.
- Debug log is now reset when plugin is activated or deactivated.
- Debug log file is now in the
logsfolder and is hidden (it’s name starts with
.). It is additionally protected from public access by the .htaccess file. Thanks to @mathieg2, @burkingman and @shadowdao for their reports and input.
swpsmtp_log_file_path_overridefilter that can be used to override debug log file location.
- Added empty “index.html” file to this plugin’s folder to prevent anyone from browsing the files (even if the Option -Indexes is missing on that server).
- Improved compatibility for sites using older version of PHP and WP5.5+
- Added an option to specify BCC email address for the outgoing emails.
- Added compatibility with WordPress 5.5 (regarding changes to PHPMailer in WordPress Core).
- Fixed a conflict with the Clicky for WordPress plugin’s user interface.
- Removed unnecessary SQL queries execution on every admin page (thanks to @r33d3m33r for reporting).
- Removed the warning: Undefined index log_file_name
- Added “substitute mode” option for the “Reply-To” field. Thanks to @idave2012
- Settings are exported in JSON format now.
- Added additional sanitization to some actions on the settings page.
- Regenerated .pot file.
- Fixed potential vulnerability in import\export settings.
- Added Export\Import settings functionality.
- Added option to delete all settings and deactivate plugin.
- Fixed incompatibility with WP versions older than 4.7.0 (thanks to stevendigital for reporting).
- Set reasonable timeout for SMTP server connection attempt. This prevents admin area from being locked up for too long if your SMTP server refuses connections.
- Added spinner to indicate that test email is being sent.
- “Send Test Email” button is now disabled if there are unsaved settings changes.
- Minor settings page adjustments.
- Renamed SSL and TLS to what they actually are.
- SMTP Username and SMTP Host fields are no longer multiplying slashes (thanks to jstepak for reporting).
- Added option to encrypt password using AES-256 encryption. This requires PHP 5.3+ and OpenSSL PHP extension to be enabled on the server.
- Added clear message to indicate if test email was successfully sent or not. Now you don’t have to figure this out from debug log 🙂
- Disabled browser autocomplete for username and password fields to prevent them from being replaced by WP login credentials (if those were saved in browser).
- Removed duplicate items IDs from settings page to comply with HTML standards.
- Added configurable option to force replace From Name. The plugin was force-replacing it regardless before, now you can configure this (thanks to daymobrew).
- Fixed “Allow Insecure SSL Certificates” option was ignored (thanks to bogesman).
- Added password gag explanation to SMTP Password field.
- Added Support Forum link.
- Some minor improvements to Settings page.
- Added option to allow insecure SSL certificate usage on SMTP server (thanks to ravipatel and bradclarke365).
- Changing fields on Test Email tab is no longer shows “you have unsaved settings” notice.
- Plugin is compatible again with WP version 4.3+ (thanks to lucrus for reporting).
- Hopefully fixed inability for plugin to save settings in some circumstances (thanks to all who kept reporting this issue).
- The plugin is no longer failing if PHP mbstring extension is not installed on the server.
- Settings page is using tabs now.
- Fixed default settings were not set upon plugin activation.
- Fixed some lines that couldn’t be translated to other languages.
- Fixed potential issue with passwords that had special characters.
- Check if variables are set before interacting with them (removes PHP notices when WP debug mode is enabled) (thanks to rubas and matward).
- Test email message body is no longer having excess slashes inserted (thanks to tdcsforeveryone).
- Added option for plugin to block ALL emails if Domain Check option enabled and domain check fails (thanks to erikmolenaar).
- Plugin will display an error message if log file is not writeable when “Clear Log” is clicked.
- Actual SMTP password is replaced by a gag on the settings page.
- Fixed minor bug in Reply-To option handling (thanks to arildur).
- Some improvements in developers-related options (thanks to erikmolenaar).
- Added additional setting option to deal with email aliases (thanks to bradclarke365).
- Fixed “Reply-To” option wasn’t saving if it is blank.
- New settings option to specify a reply-to email address.
- There is a new settings option to enable debug logging.
- Added extra debug info (when test email function is used). This debug info will show more details if anything fails. This will be helpful to debug SMTP connection failure on your server.
- Some special characters in the password field were getting removed when the text sanitization was done. This has been improved.
- The settings configuration will not be deleted if you deactivated the plugin. This will prevent configuration loss if you accidentally deactivate the plugin.
- Fixed possible XSS vulnerability with the email subject and email body input fields.
- Improved the admin interface.
- The test email details now gets saved after you use it. So you don’t need to type it every single time you want to send a test email.
- Easy WP SMTP is now compatible with WordPress 4.5.
- Easy WP SMTP is now compatible with WordPress 4.4.
- Set SMTPAutoTLS to false by default as it might cause issues if the server is advertising TLS with an invalid certificate.
- Display an error message near the top of admin pages if SMTP credentials are not configured.
- Set email charset to utf-8 for test email functionality.
- Run additional checks on the password only if mbstring is enabled on the server. This should fix the issue with password input field not appearing on some servers.
- Easy SMTP is now compatible with WordPress 4.3
- Easy SMTP now removes slashes from the “From Name” field.
- Made some improvements to the encoding option.
- Fixed some character encoding issues of test email functionality
- Plugin will now force the from name and email address saved in the settings (just like version 1.1.1)
- Fixed a typo in the plugin settings
- SMTP Password is now encoded before saving it to the wp_options table
- Plugin will now also override the default from name and email (WordPress)
- Removed “ReplyTo” attribute since it was causing compatibility issues with some form plugins
- “ReplyTo” attribute will now be set when sending an email
- The plugin will only override “From Email Address” and “Name” if they are not present
- Fixed an issue where the plugin CSS was affecting other input fields on the admin side.
- “The settings have been changed” notice will only be displayed if a input field is changed
- Fixed some bugs in the SMTP configuration and mail functionality
- Plugin now works with WordPress 3.9
- Plugin now works with WordPress 3.8
- Plugin is now compatible with WordPress 3.7
- “Reply-To” text will no longer be added to the email header
- From Name field can now contain quotes. It will no longer be converted to ‘\’
- Plugin is now compatible with WordPress 3.6
- Added a new option to the settings which allows a user to enable/disable SMTP debug
- Fixed a bug where the debug output was being displayed on the front end
- First commit of the plugin