how-to-set-up-wordpress-smtp-using-amazon-ses

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 and the WP Mail SMTP plugin.

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 unmanaged or managed 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.

Our recommended mailer is Brevo. It’s easy to set up and doesn’t require a credit card like Amazon SES. Check out the guide on how to set up the Brevo Mailer in SMTP.

If you’re pretty technical and still want to use Amazon SES with SMTP, we’ve got you covered next.

What Is Amazon SES?

While there are lots 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.

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

Amazon SES is a cost-effective email service built on the reliable and scalable infrastructure developed by Amazon.com. It ensures high email deliverability and is more reliable than sending out emails from your hosting server. Plus they also offer some tools for email marketing.

Keep in mind that in order to use Amazon SES, you must have an SSL certificate installed on your WordPress site. It’s also a good idea to have a domain-specific email address (ie [email protected]) to use as the From Email when setting up WP Mail SMTP on your WordPress site.

Note: This tutorial’s method requires you 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.

Next, we’ll be using the WP Mail SMTP plugin‘s Amazon SES Mailer to set up WordPress SMTP on your site. Amazon SES is available with the WP Mail SMTP Pro license or higher.

How to Set Up WordPress SMTP Using Amazon SES

Here’s every step you need to set up the Amazon SES mailer in WP Mail SMTP.

Step 1. 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, sign up for a free account with AWS here.

amazon ses smtp interface

While your account is free and this mailer setup does not require the use of any paid services, AWS will still require that you enter a credit card when setting up an account.

Step 2. Select Your Region

Once you sign up for your AWS account, their system will try to determine your region based off your address. If AWS is unsure of your exact region, you’ll be asked to select the next closest one.

aws configure smtp to send email through amazon

Step 3. Create an IAM User

Now that you’ve created an Amazon Web Services account, the next step is to set up an IAM User. This will provide you with access keys you’ll need later.

First, follow this link to open the AWA IAM Users page and sign in.

smtp interface to send email through amazon ses

Once you’re signed in to the dashboard, click the blue Add user button.

Next, set up a new user. In the User name field, you can add any name you’d like. However, we recommend using the following name format: yourdomain_wpmailsmtp

For example, for WPForms.com we would use the user name: wpformscom_wpmailsmtp.

Plus, if you need to set up additional users down the road, this will make it easy to keep track of which site is connected to each user.

After that, next to the Access type check the Programmatic access box

amazon ses smtp credentials

After that, click on the Next: Permissions button to proceed.

Step 4. Configure IAM User Setting Permissions

First, select Attach existing policies directly from the top row of boxes.

Then, type “AmazonSESFullAccess” (without the quotes) into the search bar. This should leave only one result, named “AmazonSESFullAccess”. Be sure to check the box next to this option so that this permission is added for the user.

credentials with amazon ses email client

When you’re done on this page, click the Next: tags button.

Skip the next page and click the Next: Review button.

Step 5. Review Your User Details

On this page you’ll be shown all the details you’ve chosen for this user. Double check that everything looks correct, and then click the Create user button.

connect to the amazon interface to send email

AWS will now display a success message. You’ll also see an Access Key ID and Secret Access Key for your user.

Note: You will not be able to see this Access Key ID and Secret Access Key again once you close this page, so be sure to download a CSV with these details and/or copy them into a safe location.

You can also keep this tab/window open for now —  we’ll be using these keys again later.

Step 6. Switch to AWS Production Mode

All Amazon SES accounts begin in Sandbox Mode by default. This means that your account will only be allowed to send emails to email addresses that have been verified with Amazon SES.

In this step, we’ll show you how to move from Sandbox Mode to Production Mode so that you can send emails to anyone.

First, you’ll need to click this link and create a request with Amazon Web Services.

In the top row of boxes, be sure that the Service limit increase box is selected.

get your smtp user verified with amazon ses

Next, you’ll need to fill out the Case Classification form. This is an important step because it’s what Amazon uses to try and keep spammers from using their system. Within this form, you’re basically proving to Amazon SES that your site will be sending emails for legitimate purposes.

We’ve shared all of the details you’ll need for this form below:

  • Limit Type: SES Sending Limits
  • Mail Type: Transactional
  • Website URL: Your site’s home URL
  • My email-sending complies with the AWS Service Terms and AUP: Yes
  • I only send to recipients who have specifically requested my mail: Yes
  • I have a process to handle bounces and complaints: Yes
  • Region: Choose the same region as when you set up your AWS account (whichever is closest to where your site’s server is located).
  • Limit: Desired Daily Sending Quota
  • New limit value: Estimate the maximum number of emails you expect your site to send per day.

Case-classifcation-form-in-AWS-smtp

After that, you’ll need to fill out the Use Case Description. In this field, share details about what kind of site you have and why you need to send out emails. Be sure to include the type of emails that your site will be sending (for example, confirmations of form submissions, purchase receipts, etc).

It’s a good idea to be detailed in your description because Amazon may reject your request if it doesn’t feel enough information was provided.

Case-description-in-AWS-smtp

Once you’ve entered all of your details, click the Submit button.

After that, you should receive 2 emails from Amazon Web Services. Both will confirm that a new case has been created.

Normally, AWS will review your request and let you know the result within one business day. In the meantime, you can continue your WP Mail SMTP and Amazon SES mailer setup in the next steps.

Step 6. Install the WP Mail SMTP Plugin

While you’re waiting for AWS to review your case submission, you can install the WP Mail SMTP on your WordPress site.

To get started, install and activate WP Mail SMTP on your site.

Step 7. Set Up WP Mail SMTP + Amazon SES

Once you’ve installed and activated the plugin, go to WP Mail SMTP » Settings.

At the top of the Settings page, you’ll see a From Email option. For the From Email, you can use any valid email address. However, for best results we recommend using a domain-specific email address (ie [email protected]).

We strongly recommend that you also check the box labeled Force From Email. Since the From Emails from anything on your site that sends email must match this email address in order for SMTP to work, this will save you the trouble of editing the WordPress email settings throughout your site (in all form emails, etc).from email settings

Below the From Email, you can set the From Name. This is the name associated with emails sent out and will be set to your site’s name by default. You can adjust this to any value you’d like and check the Force From Name option if you’d like to apply this setting site-wide.

Adjust-From-Name-in-WP-Mail-SMTP-settings

Next, scroll to the Mailer field and select the Amazon SES option.

Select Amazon SES

We also recommend checking the optional Return Path checkbox to Set the return-path to match the From Email. With this enabled, you’ll be emailed if any messages bounce as a result of issues with the recipient’s email.
Set-return-path-to-match-From-Email

Once you’ve chosen the Amazon SES mailer, you should see a new section appear titled Amazon SES. Here, you’ll need to add the access keys you created in your AWS account earlier. Go ahead and copy in your Access Key ID and Secret Access Key.

Add-access-keys-for-Amazon-SES-in-WP-Mail-SMTP

Once you’ve entered both of your keys, you can check the Region field. A region will already be pre-selected for you based on where your site’s hosting server is located, so make sure that this is correct and matches what you picked in Amazon SES.

Choose-closest-region-option-in-WP-Mail-SMTP-settings

Now that you’ve added all of your WP Mail SMTP settings, click Save Settings.

After you’ve saved, an additional setting will appear: Verified Emails. This is where you will add any emails that you might like to use as the From Email on your site.

To add a new verified From Email, click Add an Email Address.

Add-an-Email-Address-to-verify-with-Amazon-SES

Now, an overlay will appear where you can add one email address at a time.

Next, click the Send Verification Email button. You’ll see a notice asking you to check that email’s inbox for a verification email.

Verify-sending-email-address-for-WP-Mail-SMTP

You’ll get an email from Amazon Web Services with a verification link. Click this link within 24 hours in order to verify this email address.

Email-verification-for-Amazon-SES-smtp

After you’ve successfully verified the email address, you can return to your site’s WP Mail SMTP settings and refresh the page. All verified emails are displayed here.

Verified-Emails-list-in-WP-Mail-SMTP

Step 8. Send a Test Email

You’ve done a great job so far.

Now that your WP Mail SMTP settings are ready and any From Emails you want to use have been verified, it’s super important to send a test email to ensure that everything is working properly.

To do this, go to Settings » WP Mail SMTP and open the Email Test tab.

Open-the-Email-Test-tab-in-WP-Mail-SMTP-user

The Send To field is filled in with your site’s admin email. However, you can change this to any email address you’d like (that belongs to you and that you have access to).

For HTML, you can also click the toggle off if you’d prefer to send a plain text email. For most sites, though, it will make the most sense to test an HTML email (keep the default).

Once this page is all ready, click the Send Email button.

After sending the email, you should see a success message.

Notice-showing-the-WP-Mail-SMTP-test-email-sent-successfully-smtp

If you go to the inbox of that email address, you should see the test email from WP Mail SMTP.

Successful-test-email-from-WP-Mail-SMTP-inbox

Congrats! You’re done.

Final Thoughts

That’s it! You now know how to set up the Amazon SES Mailer in WP Mail SMTP. Your site should be sending WordPress emails with Amazon SES successfully now and your form notifications will be delivered reliably.

Now that your form notifications are working, you may want to check out our post on how to create multiple form notifications in WordPress forms to send more than one email notice when someone fills out a form.

So 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.

Comments

  1. Whenever I encounter an issue or wish for a feature for my site, WPBeginner ALWAYS has all the answers. Ubercool! Thank you!

    1. Hi Ingrid, thanks for the feedback!
      It is such a big inspiration for us to keep writing these articles!

      Have a good one 🙂

    1. Hi Ravi! Thanks for your comment.
      The Amazon SES SMTP option is available with any of the paid WP Mail SMTP licenses – https://wpmailsmtp.com/pricing/
      You can still use the free version of WPForms if it fits well for you as it works well with the paid WP Mail SMTP plugin.
      Have a good one 🙂

    1. Hi Nick!
      Once you set up SMTP on your site, then all the emails site-wide (including Woocommerce order-related emails) will be sent through SMTP to prevent any deliverability issues.
      I hope this helps.
      Have a good one 🙂

    1. Hi there.
      I hope you are doing well!
      If you are referring to the regions that you can choose in your AWS account, then it is not WPForms functionality, and you will have to contact Amazon support regarding this question.
      I apologize for any inconvenience!
      Have a good one 🙂

  2. Hi,
    I use amazon ses region singapore and have activated production mode, but when using wpmailsmtp, I can’t find my region choice. What should I do?

    1. Hey Kris- I apologize for the trouble you are facing here! Currently, we do not support the Singapore region in SES Mailer. We will release a new version in our future releases that will support all regions that AWS SES supports.

      Thanks! 🙂

  3. Would not hurt to mention (unless I missed it) that the WP Mail SMTP Amazon SES option is only available in the pro version of the WP Mail SMTP plugin. I got all the way through setting up Amazon only to get that message and then had to abandon the process to use another option.

    1. Hi Osvaldo – I apologize as we currently don’t have an email tracking feature. I do agree it would be super helpful, though. I’ve made a note of the feature request. In case it helps to know, you could set up email logs with any paid version of WP Mail SMTP.

      I’m sorry for the inconvenience!

  4. I know this is a dummy question. But after I complete all the steps, how and where to create my first email campaign?
    I am using Amazon SES. Please help

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.

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.