Amazon SES is the cheapest email API service for WordPress. In this article, you will learn how to use Amazon SES driver with Fluent SMTP.
Configuring Fluent SMTP for Amazon SES #
Hover over Settings on WordPress Admin and go to Fluent SMTP Dashboard. If this is the first time you are using Fluent SMTP and haven’t set up any connection yet, you will see the list of available Mailer, as we will work with Amazon SES, select Amazon SES from the list.

If you already have one or multiple SMTP driver setups and now you want to add Amazon SES also then go to the Settings Tab of Fluent SMTP and select Add New Connection. Now again all the available drivers will appear from where you need to select Amazon SES.

Sender Settings #
Now we will need to configure the sender details. Fill up the “From Email” and “From Name”
From Email: The “From Email” should be the email you verified with Amazon SES. Check the box to set the return path to match the from. The Return Path indicates where non-delivery receipts or bounce messages are to be sent. If unchecked, bounce messages will be lost. With this enabled,
you’ll be emailed using “From Email” if any messages bounce as a result of issues with the recipient’s email.
From Name: From name can be anything you want. You can use a combination of your name and company name. For example, I would choose something like “Jafor From WPManageNinja” where Jafor is the name and WPManageNinja is the company. The API key will be provided by Amazon SES.
Get Amazon SES Access Key and Secret Key #
Firstly, sign up for a free AWS account account here if you don’t have any. https://portal.aws.amazon.com/billing/signup#/start
Now Login to AWS console as a root user.

Now click on your account and select My Security Credentials

Now from the left sidebar select Users and click on Add Users

Now give a username of your preferrence and select the authorization type adn programmatic access and click next.

Now select the Attach Exixting Policy tab and search for SES and then SNS and select AmazonSESFullAccess and AmazonSNSFullAccess and click next.


This step is for adding a tag and it’s optional, you can just go ahead to the next step for review.
Now review the settings and again make sure you have programmatic access and have permission for AmazonSESFullAccess and AmazonSNSFullAccess as shown in the screenshot below.

Now click on the Create User Button and you are ready to get your access key and secret key from Amazon. You can download the keys as a CSV also

Now go back to your Fluent SMTP setup and enter the provided access key and secret key. Choose a region that best suits you and your user’s locations.

Note that the region must match with the region of your verified email address with Amazon. For example, when writing this doc I verified one of my email addresses and the region is Ohio so I must select US Ohio as the region. To find your region or changing to another region go to your amazon SES Home and you can see the associated region of your verified email. By clicking into it you can change to another region also.

Save the Settings and you are ready to use the Amazon SES driver for email SMTP.
Moving out of the Amazon SES sandbox #
After performing all those verifications you are still in sandbox mode. The sandbox mode will only allow sending emails into the specific email you verified. To send emails to the users you need to go live from sandbox mode, Make a request to Amazon to make your SES account live from Sandbox. Checkout this Moving out of the Amazon SES Sandbox to go live
I am trying to configure access to Amazon SES, but cannot find documentation..??
Hi Peter, here’s the official Amazon SES doc: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-set-up.html
When will the AmazonSES / Fluent SMTP guide be added?
What kind of guide are you looking for?
I tried installing FluentSMTP and connecting it to Amazon SES but it fails to connect. In SES I have an email address that is “Verified”, I have the SES user account created, with the proper Permission Policies granted, I entered the SES Access Key ID and Secret Access Key in the Fluent SMTP config screen (tried both Store in DB and also in wp-config.php), selected the proper Region, but when it tries to connect in spins forever with “Validating Data. Please wait” message. Any suggestions to help me get the product configured?
Please contact our support team: https://wpmanageninja.com/support-tickets/
This seems to be one part of the requirements – for creating a AWS billing account. But there is no instruction on how to set up an EMAIL account, assign a region and then integrate with Fluent SMTP….? How to create AmazonSES account in a way that is relevant to using with Fluent?
Hi Chris, Thanks for raising the issue. Yes, we will create a tutorial on this.
Thanks for the updated tutorial, very helpful.
I have two new issues occuring:
1. Cannot add a second connection. It always over-writes the first one.
2. Cannot send a test email, error says the recepient email is not verified with SES. Sender email is verified, as with the domain. Sender sent to verified sender email tests ok. Cannot verify all recipent emails in Amazon, however, this would be impossible.
Any advice?
Getting AmazonSES out of Sandbox mode resolve dthe first issue, can now test send to various emails successfully.
However, still cannot add a fall-back SMTP connection… it always over-writes the existing one.
Any advice?
Probably a conflict or something else. can’t help you mate. You need to submit a support ticket and get technical assistance from our support team.
I attempted to request to get out of SES sandbox per the page linked here — and within 1 second a bot from Amazon said my request was denied. No one actually reviewed it. Is this normal?
Not sure why this happened. One of their support staff is supposed to review these requests. You may try to get out of the sandbox with an old domain first. Sometimes domain reputation gets you an easy approval.
Hello,
The same thing happened to me.
I had to accept the request and I have responded with a response explaining all the details of the Business as requested by AWS SES in Support.
Now I am waiting for a person on the AWS team to review it so I can exit the Sandbox.
Scott T, were you finally able to go out in Sandbox mode?
According to what I have understood and investigated, I cannot send emails (transactional, etc …) to a third party or to a client when in Sandbox mode, does FluentCRM support certain?
Greetings
No, you can only send emails to other third party emails after you get approved by Amazon SES.
it says validating data for like 30 mins now is this average ?
No, it shouldn’t take more than a minute. Are you using any other SMTP plugin?
I’m experiencing the same thing. The Amazon SES addresses never complete validation. I’ve copied the Amazon SES settings and credentials over from a site where FluentSMTP is working using the same settings and credentials. I can set up a different address for which I have credentials on a non-Amazon SMTP server, and the validation completes instantly.
I guess our support team may be required here. Please feel free to submit a support ticket: https://wpmanageninja.com/support
Hi,
I did the test, it says sent,, but nothing received in my mailbox.
https://paste.pics/D5A3I
https://paste.pics/D5A3U
https://paste.pics/D5A1F
Can help to advise if there is any issue at this moment?
Thanks
Please check if your email is in the junk/spam folder. Or it may have arrived a bit late. If there’s a slow sending issue, please contact our support.
I stuck at submit saving Amazon SES api, even i’m using that api normally in WP Mail SMTP Pro.
But if i import from WM Mail SMTP Pro, it works normally, only if i manually input amazon ses api, i cannot save.
Please help.
Hi Minh, I think you need a bit of technical assistance. Please submit a support ticket.
Hello When I try to send a email test, I get this message: Oops! PHPMailer is modified by WPMailSMTP\MailCatcherV6
Please deactivate any other SMTP plugin you’re using at first.
Can I use the server mailbox (siteground) as the “From” address?
Yeah, you just have to verify the email address with Amazon SES.
Giving AWS SES Full Access is not the best security practice.
Which are the minimul permisions need to run FluentSMTP with SES?
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.
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.
Hi Adam, Sorry it’s not possible. The restriction is implemented by Amazon SES.
Hi,
I have followed your guide and set up the connection and it seems to be working, at least I am getting no error messagesfrom Fluent. I also sent test email which I received (my account is still in sandbox mode). But in the email logs from Fluent s well as in the daily emails used dashboard in Amazon account, the test email is nowhere to be found…how can I make sure everything is really working correctly?
Thanks,
Andrea
Hi Andrea, The test email should also appear in FluentSMTP logs. If not working, please contact our support team.
Hi,
now it is showing! Both in Amazon and Fluent 🙂
One more thing though: There is a setting in the Fluent Amazon settings to “Force From Email”. If enabled, will this override the “Default connection” in the general settings from FluentSMTP? Because I want all my other WP emails (the Woocommerce order emails) to NOT be sent my Amazon SES but instead use my host SMTP which I have set up as a second connection in Fluent, with a different email address.
Hi Andrea, Yes, it will override the “From address” of all WP emails. Please keep the box unticked.
I have set a custom MAIL FROM address in Amazon SES as described here: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from.html
so I have a subdomain subdomain.mysite.com with the added TXT and MX records. Should I still enable the option in Fluent “Set the return path to match the From-Email”?
Yes, otherwise your bounced data will be lost.
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?
Yes.
I follow all the tutorial.
Everything is ok : my domain is verifyied, my email too.
BUT when I send the email test I have an error :
SimpleEmailService::sendRawEmail(): Sender – MessageRejected: Email address is not verified. The following identities failed the check in region EU-WEST-3: the-personn-I-want-to-send-my-email-test@gmail.com Request Id:
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.