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.
- What is Amazon SES?
- Configuring an Amazon AWS Account
- Switching AWS to Production Mode
- Setting Up WP Mail SMTP
- Sending a Test Email
- Frequently Asked Questions
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 WPBeginner’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. 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.
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.
Although your account is free and this mailer setup does not require the 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 on 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)
- AWS GovCloud (US)
- EU (Ireland)
- EU (London)
- EU (Frankfurt)
- EU (Milan)
- Middle East (Bahrain)
- Africa (Cape Town)
- Asia Pacific (Mumbai)
- Asia Pacific (Tokyo)
- Asia Pacific (Seoul)
- Asia Pacific (Singapore)
- Asia Pacific (Sydney)
- Canada (Central)
- South America (São Paulo)
Creating 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 the Amazon Web Services’ IAM Users page.
Within this page, click the Add users button.
Next, you’ll need to 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:
For example, for WPForms.com we would use the following user name:
wpformscom_wpmailsmtp. If you need to set up or edit users down the road, this will make it easy to keep track of which site is connected to each user.
Then for Access type, check the Programmatic access box.
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.
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.
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.
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.
Note: You will not be able to see this Access key ID and Secret access key again once you close this page. Be sure to download a CSV with these details and/or copy them into a safe location.
You can also keep this window open for now, as we’ll be using these keys a little later.
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 section, be sure to select Service limit increase in the top row of boxes.
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:
- Limit type: SES Service 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
- 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.
Next, 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.
Last, select your preferred contact options, and when you’re ready, 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.
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.
Within 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).
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.
Next, you’ll need to scroll to the Mailer field and select the Amazon SES option.
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.
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.
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.
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. We’ll be using example.com as an example.
Once you’ve entered your domain, click the VERIFY button to generate a TXT record for your domain.
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.
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.
Then, you’ll be shown a notice asking you to check your email’s inbox for a verification email.
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.
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.
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, navigate to WP Mail SMTP » Tools and open up the Email Test tab.
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 been sent successfully, you’ll see a success message appear on the page.
Then, you’ll need to check your inbox to confirm that you’ve received your test email.
Frequently Asked Questions
I just tried to send a test email. Why do I see the following 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 set up 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.