Skip to content

Configure Fluent SMTP with AWS SES

Published:  at  🕓 10:00 AM
⏰ 5 min read

Amazon Simple Email Service (SES) is a cost-effective, flexible, and scalable email service that enables developers, and site owners to send mail from WordPress to their customers, and users or send notifications for test purposes. AWS SES is also the cheapest top-quality email delivery method available in the market. In this guide, we are going to. configure Fluent SMTP with AWS SES to send emails from WordPress through SES. If you have checked or reviewed my other article about Configuring Gmail with Fluent SMTP you will find it easier to follow this guide.

Table of Contents

Open Table of Contents

Prerequisites to Configure Fluent SMTP with AWS SES

In order to proceed, there are a few things that are needed beforehand to configure Fluent SMTP with Yahoo as below:

RequirementDetails
Verified IdentityYou must verify an email or a domain as a verified identity inside AWS SES.
Production AccessYou must also get approval for Production access to send emails to users.
Administrative PermissionWordPress Administrator Role-based user access.
Firewall StatusPort 465 Opened on WordPress Server.
TLS SupportTLS v1.0, v1.1, v1.2, v1.3 support from the server where WordPress is hosted.

Steps to Configure Fluent SMTP with AWS SES

  1. Go to SES Home & Check the verified Identities.
  2. Create an SMTP Credential.
  3. Create a new Fluent SMTP Connection with Other SMTP Methods.
  4. Put the necessary details and Save.
  5. Test the Connection.

The Procedure to Configure Fluent SMTP with AWS SES

Go to SES Home

Please visit https://console.aws.amazon.com/console/home and log in to your Amazon Console account. Then on the Search Bar search for “ses” and the result will show Amazon Simple Email Service click on it. the URL will similar to https://us-east-1.console.aws.amazon.com/ses/home?region=us-east-1#/account depending on your selected Region.

Searching for SES in AWS Console

Now go to Verified Identities and check if your target domain is verified or not. If it is not on the list please follow my other guide regarding Verify a Domain in AWS SES first.

Verified Identities in AWS SES

Create an SMTP Credential

Now go to Account Dashboard and then keep note of the SMTP Endpoint and STARTTLS Ports.

Click on Create SMTP Credentials

Create SMTP Credentials in AWS SES

Now give a Name for the SMTP credential. In this case, I used FluentSMTPGuide.

Naming SMTP Credential in AWS SES

Now you will be provided with an SMTP Username and an SMTP Password.

SMTP Username and Password Generated in AWS SES

Create a new Fluent SMTP Connection for AWS SES

Now it’s time to configure Fluent SMTP. Create a new SMTP Connection and the method is “Other SMTP”.

Keypoints of necessary details

SettingValue / Description
From EmailAny email address (e.g., [email protected]) where yourdomain.com is a verified identity.
From NameAny name you prefer. (e.g., Ibrahim Sharif)
SMTP Hostemail-smtp.us-east-1.amazonaws.com (varies by region)
SMTP Port465
EncryptionSSL
Auto TLSYes
AuthenticationYes. It’s better to store the access keys in the database.
SMTP UsernameThe SMTP Username provided by SES earlier.
SMTP PasswordThe SMTP Password provided by SES earlier.

Fluent SMTP AWS SES Settings Example

Test the Connection

Now it’s time to test the connection if it’s working or not! Go to Fluent SMTP => Email Test:

  1. Use the From as your Yahoo email is just configured.
  2. Send To where you want to receive the test email.
  3. HTML should be turned on to avoid suspicious activity by Spam Filters.

Fluent SMTP Email Test Successfully Sent

Now click Send Test Email and check the destination Email Address.

Test Email Received from AWS SES

In this case, the test email is received and we are done configuring the AWS SES to send WordPress emails using the Fluent SMTP Plugin.

Bonus: Delete AWS SES SMTP User

If you are wondering if you want to delete an SMTP User which is not needed anymore please follow the below steps:

Go to https://us-east-1.console.aws.amazon.com/iamv2/home replacing the us-east-1 with your desired Region.
Alternatively, you can go to Your Account Name in the Top right corner > Security Credentials > On the left panel click on Users

Deleting an SMTP user in AWS SES

Now select the user and Delete it from the list. You should not keep unused users which you do not use for security measurement.

Important Note

It is highly recommended to configure a cronjob replacing WordPress’s Default PHP-based Cronjob to operate Email sending and other scheduled jobs smoothly.
Some hosting may not allow running a cronjob below 5 Minutes. But it is still better than a PHP-Based cronjob.

Emails landing in Spam Folders depend on numerous factors including IP reputation, Domain reputation, and Email Body Content.

Frequently Asked Questions (FAQ)

  • Do I need to verify my domain or email in AWS SES before configuring Fluent SMTP?
    Yes, you must verify your sending domain or email address in AWS SES before you can send emails through Fluent SMTP. This is required by AWS to prevent unauthorized use.

  • What region should I use for the SMTP Host?
    The SMTP Host should match the AWS region where your SES is set up. For example, if your SES is in us-east-1, use email-smtp.us-east-1.amazonaws.com.

  • What port and encryption should I use?
    For most setups, use port 465 with SSL encryption. Make sure your server supports TLS and that port 465 is open.

  • Why are my emails landing in the spam folder?
    Emails may land in spam due to factors like IP reputation, domain reputation, or the content of your email. Ensure your domain has proper DNS records (SPF, DKIM, DMARC) and avoid spammy content.

  • Can I use the same SMTP credentials on multiple WordPress sites?
    Yes, you can use the same SMTP credentials on multiple sites, but it is recommended to create separate credentials for each site for better security and management.

  • How do I delete unused SMTP users in AWS SES?
    Go to the AWS IAM console, find the user associated with the SMTP credentials, and delete it. This helps maintain security by removing unused access.

  • Is it necessary to set up a server cronjob for WordPress emails?
    While not strictly required, setting up a server cronjob is highly recommended for reliable email delivery and scheduled tasks, as it is more dependable than WordPress’s default PHP-based cron.