How to Set Up the Amazon SES Mailer in WP Mail SMTP

Would you like to use Amazon SES to improve email deliverability for your WordPress site? Amazon Simple Email Service, or Amazon SES, is a powerful tool that’s commonly used for sending marketing emails. The Amazon SES mailer for WP Mail SMTP lets you securely use this same tool to make sure your emails get delivered.

In this tutorial, we’ll show you every step needed to set up the Amazon SES mailer in WP Mail SMTP.

Requirements: Amazon SES requires your site to have an SSL certificate (https). For details on setting up SSL on your WordPress site, please check out WP Beginner’s SSL guide.

What is Amazon SES?

Amazon SES is a service designed to send emails for businesses. While our focus here is on using their services to improve the deliverability of emails sent out from your website, they also offer tools to create and send out marketing emails.

Amazon SES is free for the first year, and then after that pricing is based on the number of emails you send, as well as some other factors such as the size of email attachments. For full details, please be sure to check out Amazon SES’s pricing page.

In order to use Amazon SES, you must have an SSL certificate installed on your WordPress site.

For this mailer option, it’s also a good idea to have a domain-specific email address (i.e. [email protected]). For most reliable email deliverability, this domain-specific email address should be used as the From Email when setting up WP Mail SMTP on your WordPress site.

1. Configuring an Amazon AWS Account

Before we get started, you’ll need to sign up for a free account with Amazon Web Services, or AWS.

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

After signing up for an Amazon Web Services account, their system will try to determine your region based off your address. If AWS is unsure of your region, you’ll be asked to select the next closest region.

The following regions are currently supported:

  • US East (N. Virginia)
  • US East (Ohio)
  • US West (Oregon)
  • EU (Ireland)
  • EU (London)
  • EU (Frankfurt)
  • Asia Pacific (Mumbai)
  • Asia Pacific (Tokyo)
  • Asia Pacific (Seoul)
  • Asia Pacific (Singapore)
  • Asia Pacific (Sydney)
  • Canada (Central)
  • South America (São Paulo)

Create an IAM User

Once you’ve created an account in Amazon Web Services, the next step is to set up an IAM User. This will provide you with access keys needed later.

First, you’ll need to open Amazon Web Services’ IAM Users page.

Within this page, click the Add user button.

Add new user in IAM for AWS

Next, you’ll 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 this user name: wpformscom_wpmailsmtp. 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 and to edit specific users as needed.

Then for Access type, check the Programmatic access box.

Set up IAM user details in AWS

When you’re ready, click the Next: Permissions button to proceed.

Next, you’ll be setting permissions for this new user. From the top row of boxes, select Attach existing policies directly.

Attach Existing Policies directly in AWS

Then, type AmazonSESFullAccess 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.

Provide permissions to IAM user in AWS

When you’re ready to move forward, click the Next: Tags button. We’ll skip the next page, so you can also click the Next: Review button.

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

Review details before creating user in AWS

AWS should now display a Success message. You’ll also see an Access Key ID and Secret Access Key for your user. Be sure to take a moment to copy these somewhere safe.

Access Key ID and Secret Access Key in AWS

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, as we’ll be using these keys a little later.

2. Switching AWS to Production Mode

All Amazon SES accounts are, by default, put in Sandbox Mode. This is very limiting, as it means that your account will only be allowed to send emails to email addresses that have been verified through Amazon. In this step, we’ll show you how to move from Sandbox Mode to Production Mode so that you can send emails to anyone.

To begin this step, you’ll need to create a request with Amazon Web Services.

Within the Create case form, be sure to select Service limit increase in the top row of boxes.

Create case for server limit increase

Next, you’ll need to fill out the Case Classification form. This is an important step, as it’s what Amazon uses to prevent spammers from using their system. Within this form, you’re essentially 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:

Case Details
  • Limit Type: SES Sending Limits
  • Severity: The severity will be determined by your Amazon support subscription, so you can leave this field as is.
  • Mail Type: Transactional
  • Website URL: Your site’s home URL
  • Describe, in detail, how you will only send to recipients who have specifically requested your mail: In this field, you’ll need to share some details about your email sending process. For example, if you only plan to send emails to those who have filled out a form on your site, etc.
  • Describe, in detail, the process that you will follow when you receive bounce and complaint notifications: In this field, you’ll need to share details about how you will handle bounce and compalint notifications. If you’re using the Force From Email option within WP Mail SMTP, all bounce notifications will automatically be sent to the From Email listed within the plugin.
  • Will you will comply with AWS Service Terms and AUP: Yes

Amazon Case Details

Requests
  • 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 classification form in AWS

Last, 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 submission, purchase receipts, etc). Try to be fairly detailed here, as Amazon may reject your request if it doesn’t feel enough information was provided.

Case description in AWS

When all of these details have been filled out, go ahead and click the Submit button.

Immediately after submission, you should receive two emails from Amazon Web Services. Both will simply confirm that a new case has been created.

AWS will generally review requests and let you know the result within one business day. In the meantime, though, you can continue with the next setup steps.

3. Setting Up WP Mail SMTP

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

Before we get started, be sure to install and activate WP Mail SMTP on your site.

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 enter in any valid email address. However, for best results we recommend using a domain-specific email address (i.e. [email protected]).

You can also choose to check the box labeled Force From Email. If you’d like the From Email to be the same site-wide, this option will save you the trouble of editing the email settings throughout your site (in all form emails, etc).

Adjust From Email in WP Mail SMTP settings

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

Adjust From Name in WP Mail SMTP settings

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

Next, you’ll need to scroll to the Mailer field and select the Amazon SES option.

Select the Amazon SES mailer in WP Mail SMTP

Now that 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 the Access Key ID and Secret Access Key, and click the Save Settings button.

Add access keys for Amazon SES in WP Mail SMTP

Once your keys are in place, you can configure the Closest Region field. A region will already be pre-selected for you based on where your site’s hosting server is located, so just be sure to check that this is correct and matches what you chose in Amazon SES.

Note: If you select a different region than the one in Amazon SES, you will need to repeat the service limit increase steps for this new region.

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: SES Identities. This is where you will add any emails or domains that you might like to use as the From Email on your site.

To add a new verified email or domain, click the Add New button.

Add New SES Identity in WP Mail SMTP

This will open up an overlay, where you can select to either verify a domain, or a specific email address.

Verifying a Domain

By verifying a domain in Amazon SES, you’ll be able to use any email address under that verified domain, without having to verify each email address individually.

To verify a domain, be sure to select the Verify Domain option. Then, in the Please enter a domain box, go ahead and enter in your domain.

Verify SES domain

Once you’ve entered your domain, click the Verify button to generate a TXT record for your domain.

Add TXT record to domain DNS setting

Once the TXT record is generated, you’ll need to add the Name and Value to your domain’s DNS settings to complete the verification process.

Note: For more details on how to add TXT records, be sure to check out Amazon’s guide on their SES domain verification TXT records.

After you’ve successfully verified your domain, you can return to your site’s WP Mail SMTP settings and refresh the page. Any verified domains will now be displayed, and emails with this domain can now be used in your From Email setting.

Verified SES Identity Domain

Verifying an Email Address

To verify a specific email address, be sure to select the Verify Email Address option. Go ahead and add in your email address to the Please enter a valid email address field and click the Verify button.

Verify SES with Email

Then, you’ll be shown a notice asking you to check your email’s inbox for a verification email.

Verify sending email address for WP Mail SMTP

This email will be sent from Amazon Web Services, and will include a verification link. You must click this link within 24 hours in order to verify this email address.

Email verification for Amazon SES

After you’ve successfully verified your email, you can return to your site’s WP Mail SMTP settings and refresh the page. Any verified emails should be displayed.

Verified Emails list in WP Mail SMTP

4. Sending a Test Email

Now that your WP Mail SMTP settings are ready and any From Emails have been verified, it’s important to send a test email to ensure that everything is working properly. To send a test email, open the Email Test tab.

Open the Email Test tab in WP Mail SMTP

On this tab, you’ll see that the Send To field is already filled in with your site’s admin email. However, you can enter any email address that you have access to.

For the HTML option, you can click the toggle in order to send a plain text email, if you’d like. However, for most sites, it will make the most sense to test using an HTML email (which is the default).

Once you’ve configured your test email settings, click the Send Email button to send your test email.

If the test email has sent successfully, you’ll see a success message appear on the page.

Notice showing the WP Mail SMTP test email sent successfully

Then, you’ll need to check your inbox to confirm that you’ve received your test email.

Successful test email from WP Mail SMTP

Frequently Asked Questions

When I send my test email, I’m getting an error MessageRejected (client): Email address is not verified. The following identities failed the check in region:

This error will usually appear if the email address you’re sending the test email to is unverified, and your AWS account hasn’t yet been approved for Production mode by Amazon. While your AWS account is in Sandbox mode, emails can only be sent to verified email addresses.

Once your account has been approved for production mode, you should be able to send test emails to any email address, including unverified ones.

That’s it! You have successfully setup your site to send WordPress emails with Amazon SES.

Next, would you like to control which emails WordPress core sends out from your site? Be sure to check out our tutorial on how to manage email controls for more details.