How to Fix WordPress Not Sending Emails with Amazon SES SMTP

Disclosure: This post may contain affiliate links. Purchasing a product through one of these links generates a commission for us at no additional expense to you.

Is your WordPress site not sending emails?

Well, you’re not alone.

Email delivery failure from WordPress sites is pretty common due to networking issues.

Sometimes this means you won’t get an email from your contact form. Other times it means a new subscriber will have their welcome email delayed by hours when they expect it in seconds.

To solve this problem, you can enable SMTP for WordPress. With a reliable SMTP service provider and a WordPress mail SMTP plugin to connect it with your website, your WordPress emails can play nice with most mail recipients and clients.

In this article, I’ll show you the best way to use WordPress SMTP to send emails. With a managed mailer’s SMTP, your WooCommerce transactional emails and marketing emails can be sent in real-time and always reach the inbox.

The best SMTP server to be your trusted mailer

Let’s start by exploring the most popular SMTP service providers available out there:

  • SendGrid: Forever free plan with 100 emails/day
  • Gmail: Forever free plan with up to 500 emails/day
  • Sendinblue: Start with Lite plan at $25 for 10,000 emails
  • Amazon SES: Start at $1 for every 10,000 emails 

In addition to those dedicated SMTP servers, some WordPress hosts also offer their own SMTP services. However, this option is not recommended since hosting servers don’t offer API access and are usually not as reliable as dedicated SMTP providers. As a result, your transactional emails may end up staying in the spam box, not to mention other types of marketing emails.

On the other hand, some leading providers like Amazon Web Services operate strict policies to avoid abuse. This helps them maintain strong deliverability and reliability. That being said, the most effective tool to enhance your email deliverability is Amazon SES

Amazon SES
“SES” stands for Simple Email Service

Now that we have picked Amazon SES as our favorite mailer, let’s see which plugin is best for integrating it with WordPress.

Choosing the best WordPress mail SMTP plugin

Here are some good options to consider:

  • WP Mail SMTP: A long-existing plugin with a large user base. However, it only supports Amazon SES in the paid plan.
  • Post SMTP: Another popular plugin, but you will have to install its addon Post SMTP Extension For Amazon SES to enable the integration for Amazon SES API (free for now and may be charged in the future.)
  • YaySMTP: A free, user-friendly SMTP plugin that also offers email logs for free

While there are different SMTP plugins on the WordPress repository, I’m going to choose YaySMTP because:

  • It has a beginner-friendly user interface
  • It costs nothing to connect with Amazon SES
  • It shows no embarrassing fields on the setup screen
YaySMTP Banner

Configure WordPress to send emails using Amazon SES SMTP

In this setup process, we’ll go through 3 easy to follow steps:

  1. Sign up for an AWS account
  2. Create an Access Key
  3. Set up the YaySMTP plugin

Let’s dive in with the AWS account now.

Sign up for an AWS account (and navigate the SES Home)

Amazon Web Services offer tons of services in which SES (Simple Email Service) is just a family member. To use Amazon SES, you have to register an AWS account.

You will follow their multiple-step registration form, which requires you to provide your address, phone number, and credit card info. But don’t worry, Amazon SES is the best low-cost email service, and you only pay $0.10 for 1,000 emails.

AWS Thank You Page

It is easy to sign up with AWS and you should see the Complete screen in no time.

Now just go to the AWS Management Console to explore what they have to offer.

After logging in to AWS, go to Business Applications, select Amazon Simple Email Service, and you will see the SES Home panel.

Amazon SES Home


Please note that all new AWS accounts are restricted to Sandbox Mode by default. As a result, you can only send emails from and to the verified email addresses.

How to verify domains and email addresses?

In the SES Home panel, go to Identity Management, you can select Domains to verify your website domains.

Similarly, select Email Addresses to verify email addresses.

It is pretty straightforward. And you only need to fill in those emails, then check the email inbox to click the verification link.

SES Verification Email

When you are familiar with the SES Home panel, you can move onto the next steps.

Create an Access Key

Access keys are used to make programmatic calls to AWS from your WordPress site.

In this part, you need to go to Security Credentials. Then, choose Access keys which include an access key ID and secret access key.

This will generate a pair of keys for Amazon SES SMTP. You should download this key file in case you need to use the secret access key again on other websites.

AWS Create Access Key

Now that you have the access keys stored in your private storage, let’s continue with the dedicated SMTP plugin installation.

Set up the YaySMTP plugin

Head over to your WordPress dashboard’s Plugins menu and search for “yaysmtp”.

After activating the plugin, you can use all of its features for free.


YaySMTP includes a single menu page where you can enter the “From” email address, “From” name, send a test email, and access email logs.

Start by entering the From Email and From Name fields.

YaySMTP Settings

If your AWS account is still in the Sandbox mode, make sure the From Email is the one you’ve just verified in the previous step.

Next, select Amazon SES as your Mailer. After picking it from the dropdown, you will see the corresponding SMTP fields show up below, where you can copy and paste the access key ID and secret access key into the fields.

Add Amazon Keys

By default, the Region field shown in YaySMTP falls in US East (N. Virginia). Be sure you have checked your actual region from the Amazon SES menu and select it correctly in the WordPress dashboard.

Set Amazon SES Region

All done? Click Save Changes to finish the setup.

Now you can just send a test email to see how the email messages are delivered and shown in the inbox.

The YaySMTP dashboard is also easy to view, filter, and edit the email logs. You can also set to auto-delete old emails after a specific number of days in the Email log settings.

SMTP Email Logs


YaySMTP is a simple WordPress plugin to help you connect WordPress with SMTP servers. Not just Amazon SES, it can help you connect with Sendinblue, SendGrid, Mailgun, and many other SMTP service providers.

With the use of the YaySMTP – WordPress Mail SMTP plugin, email delivery issues will be a thing of the past, whether you run a basic WordPress site or a full-fledged WooCommerce store.

We hope this tutorial helped you out with your email deliverability today. Thanks for reading!

Big fan of century-old trees. SEO writer at