Set up WordPress outgoing email with Amazon SES for email marketing

I show how to set up Amazon AWS SES Simple Email Service for outgoing email using WordPress. Using GridPane hosting, Amazon SES simple Email Service, and WP Offload SES Lite free plugin, I set up transactional email in a real-life example. Project Story I am preparing the wildfoodgirl.com site to use WordPress to manage the […]

Sep 30, 2021

I show how to set up Amazon AWS SES Simple Email Service for outgoing email using WordPress. Using GridPane hosting, Amazon SES simple Email Service, and WP Offload SES Lite free plugin, I set up transactional email in a real-life example.

Project Story

I am preparing the wildfoodgirl.com site to use WordPress to manage the email list, email marketing, opt-in process and automations. I’ll be using WooFunnels/Autonami as the CRM plugin in WordPress, and connecting our transactional email provider, Amazon AWS SES (Simple Email Service).

We’ve collected emails through the free Mailchimp service for years, but several times the list has grown larger than the allowed 2000 contacts in the free version. So, we just saved the list as a .CSV file and started over.

Now, with almost 9000 contacts on the email list, to set up Mailchimp to send marketing email would cost more than $100/month. We’re going to do it even better with Autonami and WooFunnels and WordPress, for closer to $5/month.

The most popular marketing email providers charge more and more as your list grows, and it can quickly become prohibitively expensive if you aren’t monetizing that list yet. Amazon AWS Simple Email Service (SES) charges per email at a rate of $0.10 per 1000 emails, so you can send 10,000 in a month for $1.00. If I send less than 5 emails a month, it won’t cost more than $5, where an equivalent sending level from Mailchimp would be closer to $100.

I’ll be able to set up this website to be able to send group, bulk, marketing emails through Amazon SES instead of Mailchimp for our digital marketing – and at our list size this will cost less than $5/month instead of more than $100/month.

This video is the first of the series following a real-life example of accomplishing WordPress best practices on a live website.

Resources mentioned in the video:

GridPane hosting – https://leveragewp.com/get/gridpane/
Wild Food Girl – https://wildfoodgirl.com/
Cloudflare – https://www.cloudflare.com/
Amazon AWS SES – https://aws.amazon.com/console/
Mailchimp – https://leveragewp.com/get/mailchimp/
WooFunnels/Autonami – https://leveragewp.com/get/woofunnels/

Transcription

“In this video, we’re going to take the wildfoodgirl.com website and make sure that it’s sending outgoing transactional email through the AWS SES, Amazon simple email service. The first thing I’m going to show is that in the GridPane hosting account, as you saw in the last video, we have two wildfoodgirl.com sites here and the one that I’m playing with is at the OVH dedicated server.

So if I open this up, I just want to make sure that in the settings, by default, I do have an outgoing email provider currently, and this is on grid pain provides the sendgrid integration by default, and so you’re using the sendgrid, whichever sendgrid account that you have set up, I have the free version of sendgrid set up by default for when I start out with a site and I just want to start there.

But it’s a good idea to upgrade your SMTP or outgoing transactional email provider. And so I’m going to add AWS here, but in the meantime, I’ve got sendgrid enabled, so this website can send outgoing emails, this website, I’m hosting the DNS at CloudFlare, as you know, and so I have my DNS settings open for wild food girl calm, and I’m going to go to aws.amazon.com you can sign into the console or get yourself a free account to use AWS services. But I’m just going to go ahead and sign in here. Okay, finally.

So if I go to Amazon simple email service. Over here on the left hand side, I’ve got my identity management, and I’ll click domains. And what I’ll be doing is verifying a new domain gmail.com. And I do want to generate DKIM settings as well. So I’ll click Verify this domain, now we’ll have to do is take these domain verification records and the DK aim record set which of which there are three, and put them into my DNS so that Amazon will recognize and then verify this domain.

And so the first thing I’ll do is just copy the first one, this is going to be a TXT record. So Ctrl C to copy over to CloudFlare. And I’m just going to add a record. It’s a TXT record. That’s the first part of it name and then the value. Copy and Paste. And I’ll save that. So there is the first TXT record now add another record. And if you go down here, this, don’t be fooled, this is three items. And so you do have to scroll to and you have to have all three items in here for the proper verification with Amazon SES. And so this time, let’s go back this time you look, it’s a CNAME record, not a TXT record.

So you have to click CNAME, put the first part is the name and then the second part needs to match the same line. So I’ve copied that and I’ll paste it right in here, you uncheck check proxy status for this type of record in CloudFlare. And that is just a way to hide the IP address a little bit, but you have to uncheck that because it’s a CNAME record of a certain type. And so I’ll do the rest of these. I’ll add another CNAME record and this is the final one and safe. Okay, so that that is for DNS records that are now live for wildfoodgirl.com.

And if I go back down here, I can click close. And you can see that among the domains I have in this Amazon account. I’ve got pending verification in two different places and enabled for sending says no. So in my experience, it just takes honestly a few minutes if I refresh the page right now says enabled for sending Yes, the verification status is verified, but it still says pending on DKIM. And so I might just click Refresh one more time. And then see if the whole thing it’s still pending.

So there could be a mistake. If I made a mistake in one of these cnm records then it wouldn’t work. But we’ll give it a few minutes and come back and check it again to make sure this one gets changed over to Yes, at some point. And there it is. It gets changed to verify I should say wild food girl. So if I open that up among my other domains gives me a little detail on it. And this is in the AWS SES simple email service console at your aws.amazon.com console account.

Okay, so I’ve logged into the WordPress dashboard at wild foo girl calm, and I’ve gone to plugins add new. And over here, I’m just going to search for offload sts and we should find the delicious brains excellent plugin WP offload SEO light, which is a free plugin that allows you to easily connect your outgoing email to Amazon STS, so I’ll click activate. And there’s two ways that you can set up the Amazon, offload SES lite plugin. There’s some instructions you can follow here when you first get started, and it’ll show you it’ll walk you through getting your AWS access keys and getting your SES account and everything you need to start out by getting it out of sandbox mode, validating a sender like we just did, and then configuring the plugin.

You also need to apply for permission to send email above a certain quantity once you have your Amazon SES account and that information is here in the wizard inside of offload SES lite. And so I’m going to go here and just skip to Settings since I already have my access keys and I can place them in here and then I can click and turn this on to send mail using SES then at that point I can turn off the sendgrid integration at grid pane. Now from here, let’s just go across to AWS access keys. And let me show you there are two options here.

They recommend defining your access keys inside the config file WP dash config dot php inside your WordPress website or behind your WordPress website. And you also have a second option you can reveal a form here where you can place the two keys. And those will store the keys in your database. It’s just a little bit more secure to store the keys in these lines inside of your WP config file. And that’s what I’m going to do right now I’m going to open up an FTP program and go into the files in my grid pane hosting account, find the WP config, open it on my computer in and code editor and then add these two lines and place my Amazon secret key and access key in there save the WP config file, upload it back to the server using my FTP program. And then it’ll be finished and it’ll recognize it here.

Okay, so I’m navigating to Filezilla the FTP program here. And I’m going to connect to the wild food girl OVH over here, I click sites in the actual site, this is where the WP-config file is located. And let’s go over and find the food girl folder on my computer. And here’s where I just created this folder. OVH dedicated, it’s not as taken drag this one over here. Now that that file is there, I can go ahead and look at it here.

Open it with Adam. And so there’s my file. And if I just go to the bottom right above where it says that’s all I’m going to take from the wild food girl site. Right here, Copy that. Paste it right there. I have the access key ID First of all, and then I have the secret access key pasting here. Click Save. Now go back to here. Just refresh to make sure Yep, that updated. Over here. drag that over to the server, I can click OK to overwrite. And now when I go into food girl right here, the access keys if I refresh should be recognized.

Yep, inside of the WP-config. Excellent. I’ll just quickly go into grid pane and go to the wild food girl site at the right server, go in here and turn this off disabling the sendgrid SMTP provider. Okay, that’s been disabled. Now here’s something important to note, I don’t have any verified senders found here. Even though my access keys are correct.

In the general settings, I need to make sure and choose the correct region because I’m set up in Amazon SES as us West, Oregon, and if I go there and then save changes in the General Settings, then I should have all my verified senders here, including the whoops, including wildfoodgirl.com there so if I send a test email and I can just show up here, I’ll go back to Amazon simple email. And now if I look, I’m in the Oregon region. And, you know, while I’m within the Oregon region, I have certain domains verified from this region. But if I go in here and go to a different region, you’ll see that I don’t have any verified domains. So you have to go to your particular region here in AWS for your verified domains.

And while you’re on your website, you need to go to general and set the same region here, as you have in Amazon. Now I should be able to send a test email message sent no problem. If I go to my email program and see that test email, this means that it’s sending via Amazon SES. Great. So now the website is enabled to be able to send mail using Amazon simple email service. And like I’ve said in other videos, we have the ability to send up to 50,000 emails per day, as well as 14 emails per second. And so this is a verified address, but I mean a verified domain name.

But this email address doesn’t necessarily need to be verified as a particular email address. They’ll still send just as you saw on the email program here, the from addresses WordPress, Attwell, foo girl calm, we can change that inside the website to anything that we want. under General, you can change this so it could be a different address that works like info at or even a real address that she’ll be able to use and people can reply to. All right, thanks for being here.

We just set up Amazon SES on the new wild food girl site at the new server. And we’re getting prepared to automate some email sending and use our transactional email provider Amazon SES as a bulk or marketing email service. We’re going to be doing it for something like five to $10 a month instead of more than $100.”

About the Author

I make WordPress easy for entrepreneurs. I'm a website designer and entrepreneur, online business coach and WordPress expert. I started making websites in 1996 and I've been working with WordPress since 2006. I create and manage client websites, and I teach entrepreneurs how to build and support online business by creating and leveraging WordPress websites.

Related Posts

Email migration from SiteGround to Rackspace
Email migration from SiteGround to Rackspace

Learn the best practices for migrating WordPress send/receive email at your custom domain. Watch how I migrate emails like [email protected] from shared WordPress hosting to a dedicated email host at Rackspace. In this video, I demonstrate migrating an existing...

WordPress Updates in a Staging Area – with GridPane
WordPress Updates in a Staging Area – with GridPane

I show how to create a staging copy, an exact clone of my WordPress website (with GridPane) from live to staging, and use the staging copy to test updates of WordPress core files, theme, and plugins. After that, I show how to push to live by clicking one button, to...

Migrate WordPress easily with cloning feature at GridPane
Migrate WordPress easily with cloning feature at GridPane

How to clone a WordPress website with GridPane self-managed hosting, using the included WordPress migration tools. I'm migrating my wife's website, wildfoodgirl.com, to a more powerful server within my GridPane hosting account. With the GridPane tools, it's super-easy...

Comments

0 Comments

Submit a Comment

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