What is SMTP and why is it a better solution than WordPress' built-in email configuration? In this article, we will explain how SMTP works and review six of the best WordPress SMTP plugins.
If you have any type of WordPress site that accepts public registration — like a membership site or an eCommerce store — your WordPress site will need to send a lot of transactional emails to users. For example, order confirmation emails, password reset emails, etc.
If you use the native WordPress email solution — wp_mail — a significant portion of those emails will likely end up in recipients’ spam folders. Not the desired outcome, right?
A WordPress SMTP plugin lets you use an alternative method for sending emails that has a much better deliverability. In simpler terms, a WordPress SMTP plugin helps you make sure people actually get the emails that your WordPress site sends to them.
In this post, I’ll start by explaining a little more about what SMTP is and why it’s a better solution than WordPress’ built-in email configuration. Then, I’ll share a manual code method that you can use to get started with SMTP, as well as six of the best WordPress SMTP plugins that you can install for a simpler way to use SMTP with WordPress.
What is SMTP? Plus How SMTP Helps Your WordPress Site
SMTP, short for Simple Mail Transfer Protocol, is a protocol used for sending and receiving emails.
When you send an email, an SMTP server breaks it down into its relevant parts and helps move it from your email client to your recipient’s email client.
Most of the emails in your inbox probably came from an SMTP server.
To explain why SMTP is important to your WordPress site, let’s go back a step and talk about how your WordPress site sends emails by default.
Out of the box, WordPress uses the wp_mail function to send emails via PHP mail (including any notification emails that you’ve configured with the Elementor Pro Form widget). Essentially, that means your site is sending emails via the same server that your site is hosted on, which almost certainly is not optimized for sending emails.
It’s super simple, and it kind of works, but it lacks authentication, which is why emails that you send via WordPress’ built-in PHP mail method often end up in spam (or just get outright blocked by some email providers).
With SMTP, you can tell your WordPress site to send emails via a properly-configured SMTP server, rather than your WordPress site’s server. With this setup, your WordPress site sends the email to the SMTP server, which then processes the email and sends it on to the proper destination (a user’s inbox).
Because the SMTP server is configured to handle sending emails and has the proper authentication in place, your emails will have a much better chance of making it to recipients’ inboxes.
What Do You Need to Use SMTP on WordPress?
Beyond telling your WordPress site to use an SMTP server via one of the plugins in this post or your own code, you’ll also need an SMTP server to connect to in the first place.
There are three routes you can go here;
First, you can use your host’s SMTP server, if available. Many hosts include email functionality as part of your hosting plan. If your host does, they’ll usually provide you with the SMTP server information somewhere in their help docs. For example, here’s SiteGround’s help article on the topic.
Second, you can use the SMTP server of many free email services, including Gmail and Hotmail.
Third, if you’re running a serious business and/or deliverability is of utmost importance to you, you can use a third-party SMTP server that’s 100% dedicated to sending emails. Four of the most popular options here are:
Even if your host does offer support sending emails via SMTP, you still might want to consider one of these email services. Why? Because these services focus 100% on email, which often means even better deliverability compared to your host’s SMTP server.
What’s more, you might not even need to pay as many of these services offer generous free plans. For example, Mailgun lets you send 10,000 emails per month for free, and Sendgrid enables you to send 100 emails per day for free.
How to Set Up WordPress SMTP Without a Plugin
While I’ll share some of the best WordPress SMTP plugins in the next section, I think it’s important to note that you don’t actually need a plugin to tell your WordPress site to send emails via your SMTP server of choice.
If you feel comfortable making edits to your site’s wp-config.php and functions.php files, you can manually set up WordPress SMTP without a plugin by adding two code snippets to your site.
First, you’ll need to add this snippet to your wp-config.php file — make sure to replace the example data with your own:
You’ll get these details, like your SMTP username and password, from either your host’s support docs or your chosen third-party SMTP service.
There’s nothing wrong with using the code method — the plugins below just offer a more convenient way of implementing the same functionality. Some also offer extra convenient features, like email logging.
6 Best WordPress SMTP Plugins
1. Easy WP SMTP
Easy WP SMTP is a popular and 100% free WordPress SMTP plugin that lets you connect your WordPress site to your SMTP server of choice.
It essentially just takes the same settings from the code method above and lets you configure them from inside your WordPress dashboard.
Once you install and activate the plugin, you can head to Settings → Easy WP SMTP to enter the details for your chosen SMTP server:
The plugin also adds a tool that you can use to send test emails to verify that everything is working.
2. Gmail SMTP
As the name suggests, Gmail SMTP focuses on helping you connect to one specific SMTP server — Gmail. If you do want to use Gmail to send your emails, give this one a look. Otherwise, you’ll want to pick a different plugin.
Unlike most other SMTP plugins, Gmail SMTP doesn’t just have you enter your SMTP username and password. Instead, the plugin uses OAuth 2.0 for authorization.
This is good for security, but it also means that you’ll need to perform some basic setup tasks in the Google Developers Console before you can start using it. Don’t worry, though — the developer provides detailed instructions to help you set up all the necessary credentials.
Once you’ve created your app in Google Developers Console, you can head to Settings → Gmail SMTP to enter the API keys for your app and enable the plugin:
Once you set everything up, your WordPress site will automatically start using Gmail’s SMTP server to send your emails. The plugin also includes a tool to help you send a test email to verify that everything is functioning properly.
3. Post SMTP Mailer/Email Log
Post SMTP Mailer/Email Log is the reincarnation and updated version of Postman SMTP, an SMTP plugin that was quite popular before the original developer stopped supporting it and WordPress.org removed it because of an unpatched security vulnerability.
Post SMTP Mailer/Email Log lets you connect to any SMTP server and also includes a handy setup wizard that does a great job of simplifying the setup process:
One unique thing is that, in addition to just entering your SMTP server details, the plugin can also help you connect via API to some popular sending services, including:
- Gmail API
- Mandrill API
- SendGrid API
- Mailgun API
Among the other things that are unique to this plugin:
- It’s compatible with WordPress Multisite.
- You can define a secondary fallback SMTP server to use if the primary server fails.
- It includes a built-in email logger to help you track which of the emails are sent by your WordPress site.
So if you prefer to connect via API or just generally want a little more flexibility when it comes to configuration and logging, this one might be the better choice.
4. WP Mail SMTP
Active on over a million websites, WP Mail SMTP is a freemium WordPress SMTP plugin that helps you connect to any SMTP server by entering its details. Alternatively, you could connect directly to the APIs of some of the popular SMTP services such as:
The interface is well-designed, making it clear which options are available to you:
You can also send a test email to make sure your chosen configuration is functioning properly.
The Pro version adds detailed email logging, an option to control your WordPress site’s notification emails, as well as support for additional email sending services including:
- Office 365
- Amazon SES
The Pro version costs $49.
5. SMTP Mailer
SMTP Mailer is another popular free plugin that’s quite similar to the Easy WP SMTP plugin above, in that it gives you a simple interface to connect to any SMTP server.
In fact, the interface is almost identical. Once you activate the plugin, you head to Settings → SMTP Mailer, enter your SMTP server details, and you’re set to jet:
The plugin also includes a tool to help you send test emails.
6. WP Mail Bank
Like Post SMTP Mailer/Email Log, WP Mail Bank is another WordPress SMTP plugin that goes further than just helping you connect to an SMTP server.
Most of its features are available in the free core version at WordPress.org, but the developer locks some features behind a premium version, which is something to consider.
WP Mail Bank can help you connect to any SMTP server, with options to choose from different authentication methods:
- Login – i.e. a username and password.
- OAuth – by entering a Client ID and Secret, much like the method that the Gmail SMTP plugin above uses.
The Pro version also has direct integrations for the SendGrid and Mailgun APIs.
Beyond those integrations, the Pro version also gives you the ability to:
- View detailed logs for all the emails that your site sends.
- Receive alerts via email, push notification, or Slack whenever an email fails to send.
You can download the core version for free from WordPress.org. Paid plans start at €29.99.
Get Started With WordPress SMTP Today
If you’re running a WordPress site where you’re the only user, you might not need to bother with WordPress SMTP unless you’re having deliverability issues to your own email address.
However, if you plan to allow other people to register at your site, your WordPress site will need to communicate with those users via email reliably.
It could be something as simple as a password reset emails, or it could be more important, like an order confirmation at your WooCommerce store or membership site.
Either way, you’ll want to make sure those emails make it to your users’ inboxes — not their spam folders. Configuring your WordPress site to use an SMTP server helps you do that.
You can use your host’s SMTP server if available, or you can use a third-party SMTP server like Gmail, Mailgun, or SendGrid. Then, you can configure your WordPress site to use that SMTP server by using the manual code snippet method or choosing one of the plugins on this list.
Do you have any questions about WordPress SMTP or how to get started? Ask away in the comments!