It’s no secret that we love Amazon SES – we released a plugin that specifically helps you set it up on your WordPress site. But it’s also worth looking at what else is around, and how they stack up against the tools we know and love.
What to Look For
Each of these services are very good at what they do, but tend to do things a little differently, so it’s important to have a good idea of what you’re looking for in a transactional email provider. You’ll want to estimate how many emails you plan to send per month, since each provider will charge you based on the amount of emails you send. A provider might be cheaper for one person sending 5,000 emails per month, but much more expensive than another provider for someone sending 50,000 emails per month. You also want to pick a provider that will enable you to establish a good sending reputation so your emails don’t end up getting flagged as spam.
Luckily, all of the service providers in this article will give you the tools and information you need to do exactly that. Something that may be a bit harder to evaluate without actually giving each provider a try is the ease of use. It’s not worth using a provider that gets in your way more than it helps you.
As you might expect, all of the email delivery services have a lot of functionality in common. No matter which service you choose, you can set up a domain to send transactional email with good delivery rates. But each service has a few things that make it stand out from the others.
One of the main benefits to Amazon SES is that it integrates with other services in the AWS platform. You can use it seamlessly on a site hosted by EC2, configure custom notifications with the Simple Notification Service (SNS), and set up custom reporting with Amazon Cloudwatch.
It also has a handy mailbox simulator that you can use to test out your application (or perhaps, your WordPress site) to see that it’s sending mail correctly and test receiving bounce/complaint notifications.
One area where SES lacks is the dashboard. It can be a bit overwhelming to navigate and lacking in information unless you configure custom reports in Cloudwatch or use WP Offload SES to view reports and send statistics.
Aside from sending email, MailGun also has an email validation service. This ensures that the email addresses that you’re sending mail to actually exist, which cuts down on bounces and phony emails, and in turn helps your overall email deliverability.
The real power of this is realized when integrated into a contact form for real-time validation, so the user submitting the form is quickly notified if they’ve entered an invalid email address (or if they just made a simple typo).
SendGrid has all the usual features for transactional emails but also has the added benefit of full email marketing services. This means that you can manage your transactional email service and send out marketing campaigns in the same dashboard.
With that in mind, Sendgrid seems to be a bit more geared towards eCommerce sites that need a bit more in terms of marketing automation.
Like SendGrid, Sendinblue seems to be aimed towards folks with marketing automation in mind. On top of sending emails, it also offers tools to A/B test emails, create landing pages, and set up ads. It also includes a live chat integration and a sales CRM. These tools are all presented as “Plugins”, which you can enable or disable as needed:
I especially liked how disabling a “plugin” removes that functionality from the main dashboard, helping cut down on clutter and letting you get to what’s important.
Winner: Tie. Each email service brings something interesting to the table, and which service is best for you will depend on what exactly you need to achieve.
No comparison would be complete without also taking a look at the pricing of each of these services, which is where they really start to differ:
Amazon uses a pay-as-you-go approach, costing 10 cents per thousand emails sent. There are no separate tiers to consider, which makes it much easier to estimate your pricing based on your email volume.
You can add a dedicated IP address for $24.95 per month, which came out to be the second cheapest out of the services in this comparison.
And it’s definitely worth mentioning that if your website is hosted on Amazon EC2, the first 62,000 emails per month are completely free. So not only do you have the convenience of having one login for your hosting and your transactional email service, you can save a nice chunk of money as well.
For the sake of comparison, here are some examples of what you can expect to pay if you’re not on EC2:
20,000 emails – $2.00 per month
200,000 emails – $20.00 per month
Dedicated IP – $24.95 per month
For a while, Mailgun was the crowd favorite for offering a free plan that included up to 10,000 emails per month. However they’ve now removed the free tier and transitioned the existing free users over to their Flex plan, which is essentially a pay-as-you-go plan. That Flex plan charges $0.80 per 1,000 emails, after 5,000 emails for free (for 3 months).
The tiered pricing starts at $35 per month, and includes 50,000 emails per month. A dedicated IP address is included if on a tiered plan and sending at least 100,000 emails per month. If you’re not on the tiered plans or are sending under 100k emails a month, a dedicated IP address on Mailgun will cost you more than double than what it does Amazon SES, at $59 per dedicated IP.
This comparison also assumes that you’re using the US region – regions in Europe may carry a surcharge, depending on the plan and your usage. And the email validation API mentioned earlier in this article costs extra as well, but we’re leaving that out for the sake of this comparison.
20,000 emails – $16.00 per month (Flex plan)
200,000 emails – $155 per month (Foundation 100k plan incl. dedicated IP address)
200,000 emails – $160.00 per month (Flex plan)
Dedicated IP – $59.00 per month
SendGrid has several plans available, starting with a free plan that offers 40,000 emails for the first 30 days. After that, the free plan switches to a relatively low limit of 100 emails per day.
If you’re over that 100 per day limit, you’ll need to spring for one of the paid plans, starting at $14.95 per month for up to 40,000 emails.
The Pro plan includes a dedicated IP address, although on the other plans you can add a dedicated IP address for $30 a month. If you intend to use the email marketing tools they will cost extra as well.
20,000 emails – $14.95 per month (Essentials plan)
200,000 emails – $89.95 per month (Pro plan incl. dedicated IP address)
Dedicated IP – $30.00 per month
Like the other services (except Amazon SES), Sendinblue has a tiered pricing system with several plans available.
It starts out with a free plan that offers 300 emails per day and stores unlimited contacts. The paid plans start out at $25 per month for 10,000 emails, and include some of the more advanced features like A/B testing and marketing automation.
A dedicated IP address is included in the Enterprise plan, but can only be purchased for other plans on a yearly basis for $251 (this works out to around $21/month, the cheapest in our comparison).
20,000 emails – $39 per month (Lite plan)
20,000 emails – $65 per month (Pro plan)
200,000 emails – $229 per month (Premium plan)
Dedicated IP – $251 per year
Winner: Amazon SES wins this one by a long shot. The flat rate of 10 cents per 1,000 emails is both cheap and easy to understand, and it also has reasonably priced dedicated IP addresses. The 62,000 free monthly emails is icing on the cake for those hosted on Amazon EC2 too. Second place is a tossup between Mailgun and SendGrid, depending on the number of emails you need to send.
Between the two marketing/eCommerce solutions (SendGrid and SendinBlue), SendGrid seems much cheaper, but Sendinblue seems to offer more functionality.
Ease of Use with WordPress
It’s important to pick an email service that you feel comfortable working with. All of these services have plugins available to make integrating transactional email easier, so let’s take a look at how they stack up.
Amazon doesn’t have an official WordPress plugin, so we made WP Offload SES in an effort to make sending email via Amazon SES as painless as possible.
Unlike most other email plugins, when an email fails to send, you’ll get this handy notice in the WordPress admin:
We also detect when an email is sent out from your site using an unverified sender – a feature that is very helpful when you may have several other plugins that are configured to send email through different email addresses. A common case where this happens are contact forms that send email out as the user submitting the form by default.
WP Offload SES logs every email that is sent out, regardless if it succeeds or fails. If an email fails due to network issues or the SES API being down, you’ll be able to see that and take action:
On top of having more proactive error reporting, WP Offload SES also lets you easily check up on open and click tracking statistics. There is a handy Reports tab that lets you view open/click tracking data for all email subjects being sent out:
You can also view the open/click tracking data for an individual email by clicking that email in the Activity tab:
Mailgun is a great service for sending out transactional email. But the official Mailgun plugin falls a bit short when compared to some of the other plugins in this article.
The plugin settings page is simple enough and has what you need to get started with sending via Mailgun:
But it doesn’t offer much more than that. There isn’t a way to view/resend emails with the Mailgun plugin, although you can do that via the Mailgun app on their website. There also isn’t any way to view statistics or open/click rates.
In my testing, there is no easy way to tell if an email has failed to send from the Mailgun WordPress plugin. Problems are logged via PHP’s
error_log function, but you’ll need to remember to check your error logs once in a while, and simply logging to that file doesn’t do much to alert you of the problem in the first place.
For example, if there is a networking issue that prevents your site from making API calls to Mailgun, you won’t know that emails aren’t sending until you start getting complaints from your users, or until you log into the Mailgun app and see that something is amiss.
Like the Mailgun plugin, the official SendGrid plugin doesn’t log emails, or alert when there is an email failure. This means that there could be an API issue or even just an internet routing issue, and you won’t know that your emails didn’t get sent out.
However, unlike Mailgun, the SendGrid plugin does include a handy statistics page that you can check to see the status of emails that made it to the SendGrid API:
This at least makes it possible to get an idea of what’s going on with the emails your site is sending out without having to login to the SendGrid app, although it’s worth noting that if an email fails to reach the SendGrid API it won’t be logged.
It also includes a section for checking the open/click rates of the emails you send out:
So while I still wish there was some better error reporting, the SendGrid plugin seems to come out on top when compared to Mailgun.
The Sendinblue plugin (officially called “Newsletter, SMTP, Email marketing and Subscribe forms by Sendinblue” – what a mouthful!) is extremely easy to set up. Once you install the plugin you’ll find a simple setup wizard that gets you connected to the Sendinblue API:
Once you’re done that, you’re pretty much done configuring the plugin. If you’re trying to build up your email lists, there is an email newsletter subscription form builder, although the initial styles provided with that builder leave a lot to be desired:
While there is a basic statistics page like with the SendGrid plugin, it’s still hard to tell if your emails are successfully sending or not. There is very little in the way of error logging or dashboard notices, so it’s probably wise to keep a close eye on things when using this plugin.
Winner: WP Offload SES!
While it’s no surprise that we would pick our own plugin here, I truly feel that it’s the best of the bunch. An easy setup wizard, open/click tracking, logs and activity, and the ability to view/resend emails all in one place puts it on a level above the other plugins.
The reason for this I think is due to the fact that we’re putting in our best effort to make Amazon SES viable for WordPress, while the plugins for the other providers are more for making WordPress viable for their services.
The SendGrid and Sendinblue plugins have the honourable mention here – with decent UIs and some basic statistics, they’re not a bad option if you’ve decided to use their services.
Mailgun, SendGrid, Sendinblue, and Amazon SES are all great email providers, and the one you pick will ultimately come down to your priorities and the number of emails you’re sending.
Amazon SES is clearly the best choice if the price is your main concern, being the most cost-effective of the bunch. I think it’s also a great option for sites that are already using a marketing solution and don’t want to make the switch over to something new.
If you’re looking to up your marketing game, then perhaps SendGrid or Sendinblue would be a better fit. They both have similar features – like automation, A/B testing, and email templates – but Sendinblue seems to take the edge here. Budget permitting, I think I would choose Sendinblue here.
And that leaves Mailgun. It’s kind of in a tough spot after ditching its generous free plan – it’s not the cheapest solution, and it doesn’t have the most features. It is very easy to set up, and very good at what it does, but I just can’t imagine a situation where I would recommend it over these other services.
What do you look for in a transactional email provider? Have you tried any of the ones mentioned above? Please share your thoughts in the comments.