Amazon or AWS SES with Fluent SMTP

Amazon SES is the cheapest email API service for WordPress. With Fluent SMTP SES Connection, you get the powerful, low-cost, high-deliverability managed infrastructure from Amazon. With the support of Fluent SMTP, it’s super easy to set up and configure Amazon SES API and send all your WordPress emails. The integration is with amazon’s latest SES API so your emails will be delivered faster and the right way.

In this article, you will learn how to use Amazon SES Email Delivery Connection with Fluent SMTP.

Configuring Fluent SMTP with Amazon SES #

Please follow the below sections to configure Amazon or AWS SES Emails with Fluent SMTP.

Add New Amazon SES Connection #

If you already have any other configured connection, then you will be in the Fluent SMTP Dashboard.
Please go to WordPress Settings ⮕ Fluent SMTP ⮕ Settings ⮕ Add Another Connection

If you haven’t set up any SMTP Connection yet, you will be directed to configure a connection automatically.
Now from your WordPress Dashboard go to Settings ⮕ Fluent SMTP

Amazon SES Connection Properties #

After selecting AWS as the mailer, a very simple settings window will open as shown in the screenshot below.

As you can see above, we need to provide From Email, From Name, Access Key, Secret Key, and Region where the Access Key, Secret Key, and Region has to be obtained from AWS Console for the From Email we are going to use for this AWS SES Connection. We will obtain those credentials from the following steps.

Obtain Access Key, Secret Key, and Region from AWS Console #

The Access Key, Secret Key, and Region are parts of the Amazon Web Services Console. We need to:

  1. Create or Register an IAM User in AWS Console.
  2. Specify Details and Set Permissions for the IAM User.
  3. Select Access Key Best Practises and Create Keys.
  4. Retrieve Access Keys.
  5. Identify the Region.

Please go to Amazon Web Services Console Dashboard from Here: Home – AWS CONSOLE

Click on the App Registration Link

You may be asked to log in to your account using your Root Account Email as the above screenshot. Once you are logged in you will be redirected to the AWS Console Home. Then we need to search for “IAM” in the top search bar as the below screenshot.

IAM Dashboard #

After clicking on the IAM from the previous step you will be redirected to the Identity Access Management (IAM) Dashboard as the below screenshot. You could also directly access the IAM Dashboard with this link for US-EAST-1 region: IAM Management Console (US-EAST-1)

Now we need to navigate to Users Overview from Users on the left sidebar or from the Users on the bottom section under IAM Resources.

Add a New IAM User #

To create a new user for Fluent SMTP click on the Add Users button.

Specify User Details #

Then you will be redirected to the New IAM User Creation overview page. Firstly, you will need to provide a User Name and the supported format is also instructed under the field. We provided the User Name: FluentSMTP.

Once you are done with the User Name click on the Next Button to proceed to the next step.

Set Permissions #

In this step, we need to define the Policies and Permissions required for Fluent SMTP to send emails through the new user account we are going to create.

First of all, Select “Attach Policies Directly” from the Permission Options.

Now we need to search for Permission Policies from the next section. In the Filter box, search for “sesfull” and then “snsfull”. Also, change the AND to OR between both of the filters and you will see AmazonSESFullAccess and AmazonSNSFullAccess Policies. Now check both of them as the below screenshot.

The permission policies required are: AmazonSESFullAccess and AmazonSNSFullAccess.

Once you are done selecting both of them, click on the Next Button to proceed to the next step.

Review and Create #

In this step, you will be provided with the summary of the User Name, the assigned, attached or created permissions and policies to the user. Once again confirm that you have selected both AmazonSESFullAccess and AmazonSESFullAccess.

If everything is correct then click on the Create User button to finally create the new user and you will be automatically redirected to the IAM Users Management again with a Success Message if everything is fine as the below screenshot.

Create Access Key and Secret Key #

Once the user is created, you can click on either the View User from the top success message or from the Users lists by clicking on the newly created User Name. Then you will be redirected to the User Overview page.

Now we need to create Access Key and Secret Key for Fluent SMTP Settings as we have seen in the beginning. To do this from the User Overview page Go to the Security Credentials tab as in the below screenshot.

The Security Credentials Tab will contain a lot of sections for accessing the user and managing the user. We only need to look for Access Keys Section as shown below.

Since we just created a new user no credentials will be present for us. If you are doing this for an existing user or try to get access keys later, you can click on the Create Access Key button to create a new access key pair.

Access Key Best Practises #

Clicking on the Create Access Key button will redirect you to the Access Key Creation Page and will ask how you are going to use the credentials for accessing the user as best practices and alternatives. We are going to use the credentials from our website and hence select Application Running Outside AWS as below and click on the Next button to proceed to the next step:

Description Tag #

An optional step will be asked to provide a description tag. you can either skip or provide a description tag as below:

Retrieve Access Keys #

Once you are done with the previous steps, click on the Create Access Key button and you will be provided with the Access Key and Security Key Pair.

The Secret Key will be shown only after creation. Please copy or download the CSV file for future use.

You can also click on the Copy Button Icon to copy the key value in the clipboard directly.

Identify AWS Console Region #

From the Console Dashboard, on the top right corner between the UserName and the Help menu, you will find the Region you are using to create the IAM User to be used for Fluent SMTP.

Our Region is US East (North Virginia) [us-east-1]. We will be using this region in the Fluent SMTP settings in the next step.

Please keep note of the Console Region for further use.
*** This Region should also be in the same region where you have Production Access to the AWS SES. ***

Fluent SMTP AWS SES Settings #

We are done retrieving the Access Key, Secret Key, and Region. After providing them in the Fluent SMTP Settings, please click on the Save Connection Settings button.

AWS SES Credentials #

Access Keys Storage #

  • Store Access Keys in DB: By default, this is enabled and strongly recommended. This will keep the information in the Databases in Encrypted format.
  • Access Keys in Config File: This allows you to store the access keys in the following section inside the wp-config.php file by the following directives.

Simply copy the following snippet and replace the stars with the corresponding credential. Then simply paste it to the wp-config.php file of your WordPress installation

define( 'FLUENTMAIL_AWS_ACCESS_KEY_ID', '********************' );
define( 'FLUENTMAIL_AWS_SECRET_ACCESS_KEY', '********************' );

That’s all about Configuring Fluent SMTP with Amazon Web Services or AWS SES(Simple Email Service) to send emails from the WordPress website. Additionally, it is recommended to Send a test email, Test Email Confirmation and then Confirm Test Email Deliverability.

Additional Resources #

Moving out of the Amazon SES Sandbox #

A new AWS Console account will be in the Sandbox Mode by default. In this mode you will only be able to simulate or practise sending emails to only to your own email addresses upon verifying them under Verified Identities. To send emails to the users or realtime email sending, you need to go live from sandbox mode, Submit a request to AWS Support for Production Access to make your SES account go live from Sandbox. Please checkout this official resource: Moving out of the Amazon SES Sandbox

33 Comments

  1. Giving AWS SES Full Access is not the best security practice.

    Which are the minimul permisions need to run FluentSMTP with SES?

    1. Hi Gonzalo, most Amazon SES plugins work only after you provide Amazon SES Full Access and FluentSMTP does the same. However, if you can recommend a better way, we’ll forward it to our development team.

  2. Hi,

    Can this plugin throttle the number of emails per second sent to SES?

    Our account can send a max of 14 emails per second, which we will sometimes need to go over.

    Best Regards,

    Adam.

  3. Hi,

    so I should set it even though the MAIL FROM address is different than the sender address (which is newsletter.mysite.com, whereas the MAIL FROM domain is subdomain.mysite.com?

    1. Hi Marou, I think you’re still in sandbox mode. Please send them a request to get out of the sandbox mode and it should work.

  4. Hi,
    I don’t understand. My account seems to be in sandbox since I can only send emails to verified users… and that seems to always be the case when the service starts (?)
    But I don’t see any alter informing me that my account is in sandbox…

Leave a Reply

Your email address will not be published. Required fields are marked *