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:
Requirement | Details |
---|---|
Verified Identity | You must verify an email or a domain as a verified identity inside AWS SES. |
Production Access | You must also get approval for Production access to send emails to users. |
Administrative Permission | WordPress Administrator Role-based user access. |
Firewall Status | Port 465 Opened on WordPress Server. |
TLS Support | TLS v1.0, v1.1, v1.2, v1.3 support from the server where WordPress is hosted. |
Steps to Configure Fluent SMTP with AWS SES
- Go to SES Home & Check the verified Identities.
- Create an SMTP Credential.
- Create a new Fluent SMTP Connection with Other SMTP Methods.
- Put the necessary details and Save.
- 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.
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.
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
Now give a Name for the SMTP credential. In this case, I used FluentSMTPGuide.
Now you will be provided with an SMTP Username and an SMTP Password.
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
Setting | Value / Description |
---|---|
From Email | Any email address (e.g., [email protected]) where yourdomain.com is a verified identity. |
From Name | Any name you prefer. (e.g., Ibrahim Sharif) |
SMTP Host | email-smtp.us-east-1.amazonaws.com (varies by region) |
SMTP Port | 465 |
Encryption | SSL |
Auto TLS | Yes |
Authentication | Yes. It’s better to store the access keys in the database. |
SMTP Username | The SMTP Username provided by SES earlier. |
SMTP Password | The SMTP Password provided by SES earlier. |
Test the Connection
Now it’s time to test the connection if it’s working or not! Go to Fluent SMTP => Email Test:
- Use the From as your Yahoo email is just configured.
- Send To where you want to receive the test email.
- HTML should be turned on to avoid suspicious activity by Spam Filters.
Now click Send Test Email and check the destination Email Address.
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
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 inus-east-1
, useemail-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.