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, or Amazon SES.
In this article, we will show you step by step 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 website. That’s a problem because you rely on email to keep your website running smoothly.
For example, your site relies on 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 email. 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.
In this tutorial, we’ll show you how to send email to the Amazon SES service from your WordPress website using the WP Mail SMTP plugin.
Configuring Your Amazon AWS Account
First, you’ll 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.
Once you’ve created an AWS account, you’ll need to set up a User. This will provide you with access keys needed later.
To do that, you need to open the Amazon Web Services Users page. Within this page, you need to click the ‘Add users’ 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 it’s used by the WP Mail SMTP plugin.
You will also need to select the AWS credential type. You should click the checkbox next to ‘Access key – Programmatic access’.
Once you’re finished, you can click the ‘Next: Permissions’ button at the bottom of the screen.
You’ll now see the ‘Set permissions’ screen. You need to click on the third option, ‘Attach existing policies directly’.
Then you should type ‘AmazonSESFullAccess’ into the search bar to filter the list. Now just one policy should be listed. Make sure you click the checkbox on the left of that policy.
After that, click on the ‘Next: Tags’ button at the bottom of the screen. We don’t need to change any settings on the ‘Add tags’ page, so just click the ‘Next: Review’ button and you’ll be taken to the Review page.
Once there, you can see all of the details you’ve 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 also see an Access Key ID and Secret Access Key for your user.
You’ll 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.
Switching 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’ll have to make a request to move from Sandbox Mode to Production Mode. The first step is to visit the AWS Support page for creating a new case.
First you’ll need to log in as the user you just set up. Once you’re on the ‘Create case’ page, you’ll need to click on the second option, ‘Service limit increase’.
Next, you will need to fill in the case details. Amazon will use your answers to make sure that 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 that 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 will be the region closest to where your site’s server is located.
For the limit field, you should select ‘Desired Daily Sending Quota’ from the drop down menu. After that, under ‘New limit 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’ll 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.
Installing 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 set up by one of their experts.
If you’d like to have the WP Mail SMTP support team set this up for you, you can follow their guide on how to request white glove set up for SMTP instead of following the steps below.
First, you’ll 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’ll need to click on the Let’s Get Started button.
Next, you’ll be shown a list of email services that are supported. 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’ll be asked to configure your mailer settings. You’ll 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. Here 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’ve 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’ve 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 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 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 that you use a business email address with your site’s domain such as firstname.lastname@example.org.
We recommend you check the box labeled Force From Email. This means you’ll 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’ve finished entering the settings, you can click the Save and Continue button.
Enabling WP Mail SMTP Features
Finally, you will be asked which email features you wish to enable. By default, the first three options are enabled. These are improved email deliverability, email error tracking, and a weekly email summary.
If you like, you can enable detailed email logs as well. Once you have made your selection, you should click the Save and Continue button.
Entering Your WP Mail SMTP License Key
Finally, you need to enter your WP Mail SMTP license key. You were sent this key by email when you signed up for your WP Mail SMTP Pro account.
You can also find your license key by clicking ‘View License Key, Details, and Downloads’ from the Account Page on the WP Mail SMTP website.
Once you’ve entered your license key you should click the Verify License Key button. 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 is working as expected, then you’ll see a screen with the message ‘Congrats, you’ve successfully set up WP Mail SMTP!’
If there is something wrong, then you’ll 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’ve finished troubleshooting, you might like to send out another test email to make sure everything is working correctly.
You’ll need to navigate to WP Mail SMTP » Tools and then 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.
That’s it! We hope this tutorial helped you learn how to send WordPress emails using Amazon SES. You may also want to learn how to get a free SSL certificate for your WordPress website or check out our list of must have WordPress plugins.