Are you having trouble sending emails from your WordPress site?
One easy way to improve WordPress email reliability is by using the Amazon Simple Email Service, which is also known as Amazon SES.
In this article, we will show you how to send emails from your WordPress site using Amazon SES.
Why and When You Need Amazon SES for WordPress Emails
All too often, we hear that users have trouble sending emails from their WordPress websites. That’s a problem because you rely on email to keep your website running smoothly.
For example, your site uses email to reset lost passwords or send notifications when new users register or someone fills in your contact form.
By default, WordPress uses the PHP mail function to send out emails. However, this function doesn’t always work as expected. That’s often because WordPress hosting companies block it to prevent abuse and spam.
Also, spam filters on popular email service providers check incoming emails to verify the sender. Default WordPress emails fail this check and sometimes may not even make it to the spam folder.
SMTP (Simple Mail Transfer Protocol) is the industry standard for sending emails. Unlike the PHP mail function, SMTP uses proper authentication, which increases the chances your emails will be successfully delivered.
Amazon SES is an SMTP service designed for business email. It’s a good solution for sending WordPress notification emails to just you and your team and also sending email newsletters to large mailing lists.
The service is free for the first year. After that, you may need to pay as you go, depending on the number of emails you send and other factors. You can get an idea of what it will cost you on the Amazon SES pricing page.
Editor’s Note: We believe that Amazon SES is a bit complicated for beginners. This is why we recommend users use SMTP.com, SendLayer, or Brevo instead, as they work seamlessly with the WP Mail SMTP plugin.
In this tutorial, we will show you how to send emails to the Amazon SES service from your WordPress website using the WP Mail SMTP plugin.
Let’s begin! Here is a quick overview of the steps we will cover in this tutorial:
Step 1. Configure Your Amazon AWS Account
Step 2. Switch Amazon Web Services to Production Mode
Step 3. Install WP Mail SMTP on Your WordPress Website
Step 1: Configure Your Amazon AWS Account
First, you will need to sign up for a free account by visiting the Amazon Web Services website. While the account is free, you will need to enter credit card details when setting up the account.
You will need to enter contact information and other details during the setup of your AWS account.
Once you have created an AWS account, you will need to set up a User. This will provide you with access keys, which you will need later.
To do that, you need to open the Amazon Web Services Users page. Within this page, you must click the ‘Create user’ button.
Next, you need to set up a new user. In the User name field, you can add any name you’d like, but we recommend you use the format yourdomain_wpmailsmtp.
This will be helpful in the future if you create additional users for other websites. You’ll know at a glance which website each user is for and that the WP Mail SMTP plugin uses it.
Once you are finished, you can click the ‘Next’ button at the bottom of the screen.
You will now see the ‘Set permissions’ screen. You need to click on the third option, ‘Attach policies directly.’
Then, you should type ‘AmazonSESFullAccess’ into the search bar to filter the list. Just one policy should be listed and make sure you click the checkbox to the left of that policy.
We don’t need to change any settings on the ‘Add tags’ page, so just click the ‘Next’ button, and you’ll be taken to the Review and Create page.
Once there, you can see all the details you have chosen for this user. If everything looks correct, then simply click on the ‘Create user’ button.
You will now see a message that you successfully created the user.
You will need these later in the tutorial, so you should make a copy of them in a safe location or simply download the CSV file. Alternatively, just keep this browser window open so you can come back to it later.
Step 2: Switch Amazon Web Services to Production Mode
By default, your Amazon SES account will be run in Sandbox Mode. This limited mode will only allow you to send emails to verified email addresses and is designed to stop spammers from abusing the system.
If you want to send emails to anyone, then you will have to make a request to move from Sandbox Mode to Production Mode. The first step is to visit the AWS Support page to create a new case.
Start with filling in the case details. Amazon will use your answers to ensure you won’t be sending spam emails.
You should leave the limit type as ‘SES Service Limits’ and select ‘Transactional’ as the mail type. In the Website URL field, you should type in your site’s address.
The next section is labeled ‘Describe, in detail, how you will only send to recipients who have specifically requested your mail’. Here, you should share some details about your email-sending process.
For example, you could say that you are only sending site notifications to the site administrator or sending mail only to those who have filled out a form on your site.
Then you are asked to ‘Describe, in detail, the process you will follow when you receive bounce and complaint notifications’.
For example, you can explain that the ‘Force From Email’ setting in WP Mail SMTP will send all bounce notifications to a specified email address.
When asked whether you will comply with the AWS terms of service, you should answer ‘Yes.’
Next, you should scroll down to the Requests section. Start by selecting the same region as when you set up your AWS account. This should be the region closest to where your site’s server is located.
For the quota field, the answer is auto-selected. After that, under ‘New quota value’, you should type in your estimate of the maximum number of emails you expect to send in a day.
The last section on the page is ‘Use Case Description’. Here, you should share details of the kind of website you have and why you will be sending emails.
Make sure you include the types of emails that will be sent, such as confirmations of form submissions, purchase receipts, or newsletters. A more detailed response here may give your application a greater chance of success.
Once you have completed the application, go ahead and click the ‘Submit’ button. You will get two emails from Amazon Web Services confirming that a new case has been created.
You should receive a decision from Amazon within one business day. But in the meantime, you can continue with this tutorial.
Step 3. Install WP Mail SMTP on Your WordPress Website
WP Mail SMTP is the best SMTP plugin for WordPress. You will need to buy a Pro plan or higher to use Amazon SMTP. This also gives you access to premium support and white glove setup by one of their experts.
If you’d like to have the WP Mail SMTP support team set this up for you, then you can follow their guide on how to request white glove setup for SMTP instead of following the steps below.
First, you will need to install and activate WP Mail SMTP on your website. For more details, check out our guide on how to install a WordPress plugin.
Installing WP Mail SMTP
On activation, the WP Mail SMTP setup wizard will start automatically. You will need to click on the ‘Let’s Get Started’ button.
Next, you will be shown a list of supported email services.
Here, you need to select Amazon SES and then click on the ‘Save and Continue’ button.
You will see a message explaining that Amazon SES is a good choice for technically advanced users. You should click the ‘I Understand, Continue’ button to dismiss the message.
After that, you will be asked to configure your mailer settings. You need to fill in the Access Key ID, Secret Access Key, and Region fields with the information you copied earlier when you created an Amazon AWS account.
Now, you need to scroll down to the SES Identities section. You can choose to verify either your domain or email address.
Verifying Your Domain
The benefit of verifying by domain is that it will verify any email address that uses that domain. Verifying an email address is easier, but then you will have to verify every email address you wish to use separately.
To verify your domain name on Amazon SES, you need to make sure the ‘Verify Domain’ option is selected. After that, you should type in the domain name you used when signing up for Amazon AWS.
Once you have entered the domain name, you need to click the ‘Verify Domain’ button.
You will be given a name and value to add to a new TXT record in your domain’s DNS settings.
For instructions on how to create a TXT record to your site’s DNS settings, see our DNS guide.
After you have successfully verified your domain, you should return to your site’s WP Mail SMTP settings and then refresh the page. Any verified domains will now be displayed.
You can now skip the ‘Verifying Your Email’ section below and move on to ‘Setting Up the From Name and Email’.
Verifying Your Email
If you only plan on using a single email address with WP Mail SMTP, then verifying your email address is a good choice.
First, you need to click on the ‘Verify Email Address’ option, and then you should type the email address you plan to use in the field provided.
Once you have entered the email address, you need to click the ‘Verify Email’ button. You will see a notice asking you to check your email inbox for a confirmation email.
This email will be sent from Amazon Web Services and include a verification link. You must click this link within 24 hours to verify this email address.
After you have successfully verified your email, you can return to your site’s WP Mail SMTP settings and refresh the page. Any verified email addresses should be displayed.
Setting Up the From Name and Email
Now, you should scroll down to the final section of the page where you can enter the ‘From’ name and email address.
You need to type a name in the From Name field. This is the name associated with the emails you send and will be set to your site’s name by default.
You can change this to any name, such as your business name or personal name. You can also check the ‘Force From Name’ option to apply this setting site-wide.
You can enter any verified email address into the From Email field. For best results, we recommend using a business email address with your site’s domain, such as example@yourwebsite.com.
We recommend you check the box labeled ‘Force From Email’. This means you will automatically use the same outgoing email address across your WordPress site.
This option will save you the trouble of editing the email settings throughout your site and makes it less likely that your emails will go to spam.
Once you have finished entering the settings, you can click on the ‘Save and Continue’ button.
Enabling WP Mail SMTP Features
In the next step, you will be asked which email features you wish to enable. By default, a few options will be enabled. Some of these include improved email deliverability and email error tracking.
If you like, you can enable detailed email logs as well. Once you have selected it, you should click the ‘Save and Continue’ button.
Now, you should enable the email logging features. You should choose to store the sent emails and attachments.
It also asks if you want to enable email tracking and other features. Once enabled, you can click on the ‘Save and Continue’ button.
Lastly, you should see a success message. Simply click ‘OK’ to acknowledge the message, and then click on the ‘Continue’ button.
WP Mail SMTP will now check your mailer configuration. If everything works as expected, then you will see a screen with the message ‘Congrats, you’ve successfully set up WP Mail SMTP!’
If there is something wrong, then you will see a message that says, ‘Whoops, looks like things aren’t configured properly’. You will need to click the ‘Start Troubleshooting’ button to fix the error.
Sending a Test Email
Once you have finished troubleshooting, you might like to send out another test email to make sure everything is working correctly.
You need to navigate to WP Mail SMTP » Tools and click on the ‘Email Test’ tab. By default, the test email will be sent to your site’s admin email address, but you can change this.
Next, click ‘Send Email’.
If everything has been set up correctly, then you should see a ‘Success!’ message.
It should look something like this.