How to Set Up WordPress SMTP Using Amazon SES

Are you not receiving email notifications from your WordPress contact forms? Setting up Simple Mail Transfer Protocol (SMTP) on your site is the best choice for ensuring high email deliverability. In this post, we’ll show you how to set up WordPress SMTP Using Amazon SES.

Why You’re Not Receiving Notifications

WordPress uses the PHP mail function to send emails that are generated by a contact form plugin like WPForms. Often, WordPress hosting servers are not configured to use the PHP mail function, so chances are your WordPress emails, including the WPForms notifications, won’t even make into the spam folder.

This is why we recommend using SMTP to send emails from WordPress instead of using the default PHP mail function. SMTP (Simple Mail Transfer Protocol) is an industry standard way to send emails that use proper authentication method to ensure email deliverability.

Why Amazon SES

While there are tons of different ways to set up WordPress SMTP on your site, most options place a limit on the number of emails you can send. Chances are you’ll stop receiving notifications if WordPress is sending too many emails in a short period of time.

WPForms is the best WordPress Form Builder plugin. Get it for free!

This is where Amazon Simple Email Service (SES) comes in.

Amazon SES is a cost-effective email service built on the reliable and scalable infrastructure developed by

It ensures high email deliverability and is more reliable than sending out emails from your hosting server.

In this post, we’ll be using the WP SES plugin to set up WordPress SMTP on your site.

Note: This tutorial’s method requires you to create a free Amazon Web Services (AWS) tier account that expires in 12 months after signing up. Though you’re creating a free account, it requires you to enter your billing address and credit card information during the registration process. However, you will not be charged unless your usage exceeds the free tier limits. You can learn more about the AWS free tier offer here.

Create a Free AWS Account

If you already have an AWS account, you can skip this step.

If you don’t have an AWS account, go to this page to create a free account.

Now you’ll need to log in with your Amazon login credentials.

If you don’t have an Amazon account, choose I am a new user, enter your email, and click Sign in using our secure server. If you have an Amazon account, choose I am a returning user and my password is, and then log in with your credentials.

create an account for AWS

Now if you’re creating a new Amazon account, you’ll be asked to create new login credentials.

Login Credentials for AWS

Next, you’ll be asked to enter your contact information.

enter contact information for aws

The next step is to enter your payment information, including your credit card information and billing address.

payment information

Now you’ll be asked to verify your phone number. Click the Call Me Now button after entering your phone number. You’ll get an immediate phone call from an automated system, prompting you to enter the PIN number provided.

phone verification for aws

Now choose Basic (Free) support plan on the following support plan screen. Then, click Continue.

choose basic free plan for aws

Congratulations! You’ve just completed the registration process for a free AWS account.

Verify Your Email Address in Amazon SES

You’ll need to verify your email address before you can start using Amazon SES (Simple Email Service) to send emails from WordPress.

Note: Make sure to verify the same email address you will be using to send SMTP emails. Additionally, in WPForms, the same email should be used in the Send From setting in your form notifications.

To verify your email in Amazon SES, sign in to the AWS Management Console and open the Amazon SES console.

In the navigation pane, choose Email Addresses under Identity Management. Then, click Verify a New Email Address.

verify new email address in amazon ses

Now you’ll see a popup where you’ll need to enter your email and click Verify This Email Address.

verify email address in amazon ses

Now go to your email inbox where you’ll see a verification email from Amazon SES. In order to verify your email, you’ll need to click on the verification link. Now you’ll be directed to a thank you page where you can see that your email is verified successfully.

Install and Configure WP SES Plugin

Now that you’ve created an account and verified your email, it’s the turn to install and configure the WP SES plugin on your site.

After installing and activating the plugin, navigate to Settings » WP SES. Under the Sender Email subheading, you may fill in the fields.

sender email

  • Sender Email: Be sure to enter the same email you just verified in Amazon SES.
  • Name: Enter your name in this field.
  • Return Path: In this optional field, you can specify your email to which you want to send undeliverable message notices.
  • Reply To: You can specify your reply to email if you want.

Now just scroll down the page, and you’ll find the Amazon API Keys subheading.

WP SES requires you to enter Amazon API Keys in order to function. You can find the API Keys by navigating to this link. If you’re visiting that page for the first time, you’ll see a popup box in which you’ll need to click on Continue to Security Credentials.

security credentials amazon ses

Then, click Create New Access Key.

create new access key

To see the access keys, click Show Access Key.

click show access key

You can now find Access Key ID and Secret Access Key.

access keys

Copy and insert them into the appropriate fields under the Amazon API Keys section. You may use any SES end point. Then, click Save Changes.

amazon api keys

Now under Confirmed Senders subheading, you’ll need to click Add this Email.

add this email

Send a Test Email

You can send a test email by clicking the Send Test Email button under the Test Email subheading. After clicking it, check your inbox for the test email. If you received it, you’re ready to turn your plugin into the production mode.

test email in WP SES

Scroll up your page, and under the Plugin State, click Activate plugin.

plugin not active

That’s it! You’ve successfully configured WP SES plugin on your site.

smtp amazon ses has been set up

The WP SES plugin will now redirect all the WordPress outgoing emails, including your WPForms notifications through Amazon Simple Email Service instead of the local wp_mail function.

There are lots of different ways to configure SMTP on your WordPress site to get the form notifications. You can take a look at a few more ways to configure SMTP on your site.

What are you waiting for? Get started with the most powerful WordPress forms plugin today.

If you like this article, then please follow us on Facebook and Twitter for more free WordPress tutorials.

Using WordPress and want to get WPForms for free?

Enter the URL to your WordPress website to install.


  1. Thanks for reading this article – I hope you found it helpful.

    I wanted to let you know about our new WordPress survey plugin that allows you to build interactive polls and surveys within minutes. You also get best-in-class reporting, so you can make data-driven decisions.

    You can get it 100% free when you purchase WPForms Pro plan.

    Get Started with WPForms Today and see why over 2 million websites choose WPForms as their preferred online form builder.

    Syed Balkhi
    CEO of WPForms

  2. Thanks for the tutorial! My WordPress developer has set up custom php contact forms on our site and my test emails have gone through using the WPSES plugin but the contact form emails are not sending. We are hosting WP server on AWS. Do you have any ideas as to why this might not be working? Any advice is much appreciated.

    1. Hi Gabi,

      It sounds like the best next step is to ask your developer to look into the PHP forms they created. Since the test email is working, the SMTP is good to go — which narrows the issue to something about the forms themselves. For example, the form may use `mail()` instead of `wp_mail()` (which would prevent the SMTP plugin from applying to it), or there could be an issue with the form submission (possibly broken headers or content).

      There are quite a few possible considerations within the form itself, but those are good places to start.

      I hope this helps, and your developer is able to track down the issue!

  3. Hi Jess,

    What about PHP mail() function inside the theme – will that automatically send out using this plugin? Or do we have to change using wp_mail()? Or do you have your own method?

    How does that work?

    1. Hi Michael,

      In most cases, an SMTP plugin will apply itself to all emails that are sent out from your site. However, you might need to make some adjustments.

      Specifically, many SMTP plugins will require that you go through your site and make sure that the From Email matches the email used to set up SMTP. So in this case, you’d need to check into what your site’s theme is using as a From Email and change it if needed.

      This is what allows SMTP to work — it uses the From Email (the email used to set up SMTP) to authenticate your emails and improve deliverability. So as long as the From Email setting matches, the SMTP plugin should be able to jump in and help send those emails.

      I hope this helps! 🙂

  4. horrible advice! If you follow this tutorial you will actually use the ROOT access keys of AWS to access SES. Imagine that anybody would hack your WordPress > the attacker would get the root credentials to AWS and can do everything with it, including deploying servers and whatever.

    1. Hi Markus – Thank you for sharing your input, and this is definitely a valid concern. We’ll be improving this post in the near future to better address this. Thanks!

    1. Hi Thomas,

      The tutorial hasn’t been updated yet but our development team is working on a solution for this particular issue. I’m sorry I don’t have any further information for you at the moment but it’s definitely something that’s on our radar.

      Thanks! 🙂

  5. Very helpful post! I am wondering if there is any way to change the email template when using WP SES?

    I was previously using the Email Templates plugin and it works great but it doesn’t seem to work with WP SES.

  6. Hi,

    Thank for your post. It’s really helpful.

    I have a question:

    My site ( where I have already installed Sendy. I have ever gotten a trouble with my Amazon SES account beccause I sent my email to a lot of wrong email. (I did’t use Double Opt-In on Sendy). Now everything is OK. So,

    Is there any problem when using this WP SES plugin through Amazon API Keys?

    1. Hi James,

      We don’t have a way to do this right now. The plugin’s main function is to make sure that email sent from your site are delivered without interruption. You’d still need to go to your email inbox to read and reply to the messages.


Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our privacy policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.