Skip links

How To Use Amazon SES For WordPress Website – Stop Sending SPAM WordPress Emails With AWS SES

Are you disappointed with your emails going to spam & want to know how to fix WordPress spam emails? Are you using best mail sending services and software but still cannot deliver emails to the recipient’s inbox?

You are not alone! Most of the WordPress Users like me and you face this issue as we are using WordPress wp-mail() function. WordPress by default uses wp-mail() to send and receive our WordPress emails. This function is a PHP mail function. PHP mail functions are often the most simple and easy to use but at the same time, they are easy to misuse.

Another thing to note here is that our wp-mail() might execute without any error and return true but this does not guaranty the email delivery. The return true value was simply because a function was executed without any exception. Often to prevent fraud and abuse these PHP mail functions are combined with additional libraries and wrappers but still, our emails never see the daylight of our recipient’s inbox. Even though we are paying a huge amount to our mail servers who claim prompt email delivery.

Owing to all this, most of the Mail Servers or Hosting Servers are not configured to use PHP Mail function rather they prefer the more standard solution like SMTP. Mail servers configured for SMTP provides high deliverability with huge annual fees and often with limited email sending quota. But what if we tell you we have an SMTP solution which provides the highest deliverability of our emails with minimum cost. Yes! it is possible with Amazon SES.

Amazon AWS Simple Email Service(SES) is one of the highly reliable services which allows us to send the large volume of transactional, notification as well as marketing emails. Using World class infrastructure of Amazon will not only ensure high deliverability but also we pay as per our use. Easily configurable SES Service is all that we need to avoid our WP emails going to spam.

Here are 4 simple steps get started with Amazon SES to stop WordPress emails going to spam.

Stop WordPress Emails Going To Spam: Getting Started with Amazon SES

To use Amazon SES for our WordPress, we are basically performing the following steps

Step 1: Sign up for AWS

Step 2: Verify Domain and/or Email addresses

Step 3: Connect Amazon SES with WordPress

Step 4: Request Production Access and Send Emails

Step 1: Sign up for AWS

As discussed earlier, Amazon SES offers great benefits for users. To avail all the benefits of Amazon SES for your WordPress, you need to have an Amazon AWS Account. You can sign up here.

Following Steps will help you set up our Amazon SES account.

1. Go to My Account and select the AWS Management Console. 

2. Select Services.

AmazonServices

Amazon AWS Services

3. Under the Customer Engagement, Select Simple Email Service.

Amazon SES Service

Amazon AWS SES Service

4. Select the region of your SES Server. At present Amazon provide SES Servers only in three locations.

Amazon SES Region

Amazon SES Region

5. Now that you are in the SES Dashboard, on your left you have various menus to manage your SES Account.

Amazon SES Dashboard

Amazon SES Dashboard

Verify Domain and/or Email addresses

In Amazon SES, Domain and/or Email verification is necessary to indicate the Ownership. Amazon SES will then recognize you as a valid user. Thereby, indicating that all your emails are originating from the valid location and will never be marked as spam.

Note: You can verify both ISP based Email address, as well as domain-based email i.e. xyz@gmail.com and xyz@example.com, are valid email addresses for verification.

Email Verification

Let’s see how you can verify your email address.

1. Log in to Amazon SES Dashboard.

2. Go to the Identity Management Menu. Select Email Addresses.

Identity Management- SES Email Addresses
Amazon SES Email Verification

3. Say Verify a new Email Address

SES Verify a new Email Address
Verify a New Email Address

4. Provide the Email address for verification and click verify this Email Address.

SES Verify this Email Address
Verify the Provided Email Address

5. A verification link will be sent to your email address. You need to verify that link within 24-hours. Note that link is valid for only 24-Hours if you fail to verify it then you will have to perform all the above steps all over again. So, make sure you do it within 24-hours.

6. Now that your email address is verified with Amazon SES, you can start sending and receiving emails using this email id.

SES Email Address verified
Amazon SES verified Email

Domain Verification

Domain Verification is helpful when you are using multiple emails from a single domain. When you verify your entire domain, you are verifying all email addresses from that domain, so you don’t need to verify every email address separately. This saves you a lot of time.
For instance, when you verify the domain sortedwp.com, you can send email from priyanka@sortedwp.comalex@sortedwp.com, or any other user at sortedwp.com.

One thing to note here is that if you are verifying both i.e. email as well as domain then, settings of email address override those of the domain.
For example, if you have enabled DKIM  for the domain sortedwp.com, but not for sender@sortedwp.com, emails sent from sender@sortedwp.com will not be DKIM signed.

Here’s how you can verify your domain in a few simple steps.

1. Log in to Amazon SES Dashboard.

2. Go to the Identity Management Menu. Select Domain.

SES Domain Verification

Amazon SES Domain Verification

3. Click Verify a New Domain.

SES Verify a new Domain
Verify a New Domain

4. Provide the Domain for verification example. www.sortedwp.com and click on verify this domain.

SES Domain Verify
Verify the Provided Domain

5. Generate DomainKeys Identified Mails (DKIM) settings if needed. 

SES Domain Verification DKIM Settings
Generate DKIM Settings

6. Provide the following records in the DNS settings of the Hosting Server by accessing the DNS manager. You need something like DNS Records, DNS Zone File, Advanced DNS to create a new record. If its GoDaddy we have DNS record, HostGator has DNS Zone file and Cpanel has Advanced DNS.

SES Domain Verification records
Domain Verification Records
SES Domain Verification- DNS management

7. When Amazon Web Services has confirmed that these values are present in DNS Settings for your domain, the status of the domain will be changed to “Verified”. This may take up to 72 Hours.

Simple Guidelines

  • Use TXT record for domain verification
  • Use CNAME record for DKIM settings. This allows higher security by providing encrypted signatures to your emails to ensure that your mail content was not modified by any third-party
  • Use MX record to set Amazon SES as your mail exchanger so that you can route all your incoming emails through Amazon SES

Step 3: Connect Amazon SES with WordPress

WordPress can be configured to connect to Amazon SES either using WP SES Plugin or by using any other SMTP Plugins. WP SES Plugin connects to Amazon SES using the API keys whereas when we use SMTP Plugins we provide our Amazon SES Login Credentials. Usually, SMTP credentials are used to configure mail server or mail clients or other mail sending software so that emails are sent through Amazon SES.

Let’s see steps to use Amazon SES API keys to configure WP SES Plugin.

First, obtain your Amazon SES API keys

1. Go to the AWS Management Console.

2. Under the usernameselect My Security Credentials.

AWS Security Credential
Amazon AWS Security credentials

3. Click Continue to My Security Credentials to access all various security credentials.

AWS Security Credential2
Continue to Security Credentials

4. Select the Access Keys. Here you will always find your access keys for various AWS Services.

AWS Security Access Keys
AWS Security Access Keys

5. Click on Create New Acess Keys. Note that by default you are allowed to have only two access keys in this section so it is recommended to back up and delete the previous keys so that you can create new keys.

AWS Create Security Access Keys
Create New Access Keys

6. Download and backup your access key CSV file. For security purpose, please do not share this key with anyone.

7. You have your Access Key generated.

WP SES Plugin Configuration

Let’s see how to Configure WP SES Plugin.

1. Go to WordPress Dashboard.

2. Install and activate WP SES plugin.

3. Go to Settings -> WP SES

WP SES Settings
WP SES Settings

4. Provide the following details.

Sender: Sender’s Email Address. This email address is the one which you have verified in your Amazon SES account.

Sender Name:
This will appear in your recipient’s inbox.

Reply-to and Return Path are optional
 email addresses.

API access key ID:
 Provide the Access key ID which you have obtained from your Security Credentials in the previous step.

Secret Access Key: 
Provide the Secret key that you have obtained from your Security Credentials in the previous step.

Region: 
Select the respective Amazon SES Server region.

5. Click on save to Save above configuration settings. This will configure your WP SES Plugin for WordPress. Turn on the Plugin to send WordPress emails using Amazon SES and Click on check again to fix any plugin error.

WP SES Settings check
Fix WP SES Plugin Errors

After the configuration is done, you just need to change your mail template details of contact us form, newsletters, and posts, to add this new Amazon SES verified email address as your default email address.

Step 4: Request Production Access and Send Emails

Every Amazon SES account is created in Amazon Sandbox to allow safe and secure access. This helps to prevent abuse and fraud. However, any SES Account has a certain restriction when used in Sandbox. Restrictions include daily email sending limit as 200 emails, sending emails to only SES verified email addresses and many more. Although, inside the sandbox, it is possible to use all the features of Amazon SES if you move your Amazon SES Account into the Production Environment. Using Amazon SES inside the production environment provides more flexibility.
For example, you can send more than 200 emails per day, and also to the unverified external email addresses.

Here you need to open a support case to request our email sending limits.

Moving Amazon SES Account from Sandbox to Production Environment

Follow the following steps to move Amazon SES Account from Sandbox into the Production environment.

1. Go to the Amazon AWS Management Console.

2. On the top right-hand corner, select Support -> Support Center.

Amazon SES Support center
Open a new Support Case

3. Click on Create a Case. A Case Form will be opened.

Amazon SES Create Support case

Create Case Form

4. Fill out the case details. Select Regarding as Service limit Increase.

Amazon SES Support case details
Case form details

Limit Type: SES Sending Limit.Region: Select Region of Physical

ServerNOTE: Each Amazon SES region has its own sending limits. You need to add another request for another region. Limit: By default, inside a Sandbox, you have a daily quota of 200 emails and send rate as 1 email per second. Select Desired Daily sending quota if you want to increase the number of daily emails. And, select Desired Maximum Send rate to increase sending rate.

New Limit Value: Provide the new limit value. Ask for only what is needed. If you need to send only 500 emails daily then set the new limit value as 500. Higher the new limit, more justification on how and why you are using Amazon SES will be needed.

Mail Type: Here you need to select for which type of emails you plan to use your Amazon SES Account. You have choices like Transactional, System Notification, Marketing, Subscription. Select the type which is appropriate. If you are using Amazon SES to send various types of emails, then select the type which is applicable to most of the emails you send.

Website URL: Provide the website URL for which you are using your Amazon SES Service. Amazon wants to make sure that you are using the Amazon SES Service with a valid legal website.

Now, you need to say that you are sending emails as per the Amazon AWS terms and condition and you have a way to manage your bounce and complaint emails. Also, you need to mention that you are sending emails to the valid user.

Next, you need to provide the Use Case Description. Here you need to provide a more detailed explanation of how and why you are using Amazon SES Account. You must mention details like:

  • how you are obtaining a valid mailing list
  • how you manage bounce emails

For more details on how to write a well-detailed Use Case Description click here.

5. When you finish, click on Submit. Wait for Amazon team to respond to your case. they might take one business day to reply.

So, this is how we can move our Amazon SES Account out of the Sandbox into the Production Environment.

Wrap Up

Amazon SES is a perfect solution to stop your WordPress emails going to spam. It not only ensures high deliverability but also provides higher flexibility to manage your WordPress Emails. With just a few clicks, you can track your email logs and be assured that your emails always get into our recipient’s inbox. Getting started with Amazon SES also provide access to other world-class Amazon Services like SNF, Cloudwatch and many more. You can send a large volume of Transactional, Notification and Marketing emails at an affordable cost. Not only this, you can use Amazon Simple Email Service (SES) freely to send up to 10,000 emails by hosting WordPress Site on Amazon EC2 Platform.

If you need help with hosting your WordPress Site on Amazon EC2 Platform, please feel free to email us on contact@sortedpixel.com

Still having some doubts? Find out how to use Amazon SES with WordPress and configure other email clients like Gmail and Outlook for Amazon SES with this step by step video tutorial. Get 85% Copoun with this link.