If you send email using your WordPress website, then there are a few things you need to be aware of.
The first thing is this: you simply can’t rely on your WordPress site to deliver emails reliably.
This is especially true if you have a customer-facing or e-commerce platform.
We’ve been discussing this topic for some time now, because we often see our customers run into email deliverability problem when receiving 2-factor authentication emails – sometimes they just don’t arrive.
The best solution is to use a service that is dedicated to the goal of sending emails.
The type of service you’d be looking for is referred to as “Transactional Email”. This is different from “commercial email” which refers to email marketing platforms, like newsletters.
Depending on the email provider, they may offer 1 or both types of services.
Transactional email refers to functional emails – emails that serve a purpose that isn’t marketing, such as sending password reset links, customer order receipts and login 2-factor authentication codes.
When we’re asked to suggest a service, we’ve always recommended our current provider: Mailgun.
But, we’ve been on the lookout for alternatives for a while now. And we’ve finally found one.
This article is a brief outline of what we’ve tried, what we didn’t try, what worked and what didn’t, and why we’ve landed on our chosen provider and absolutely love it.
We Can No Longer Recommend Mailgun
There are several reasons why we can no longer justify our recommendation for Mailgun. We’ll outline the main reasons below:
#1. No further support for WordPress planned
To demonstrate the problem, we’ve attached the beginning and end of an email exchange we started with Mailgun support
This is a problem. It states that Mailgun doesn’t support WordPress in any official capacity. If you’re using Mailgun for your WordPress sites, eventually, you’re going to run into trouble.
If you run WordPress sites on PHP 7.4 (which we do for all our sites), you’ll discover compatibility issues. It’s this issue that prompted us to send the email above in January 2020. The issue is simple to fix, but not everyone reading this is comfortable modifying the source code of a plugin.
We like to get ahead of compatibility problems before they arise by keeping things current and up-to-date as far as possible. The screenshot below outlines that state of the “official” Mailgun plugin on WordPress.org…
The plugin hasn’t been updated in over 2 years and according to their official helpdesk, it’s not ever likely to be updated.
#2 Email Deliverability and Bad IP Reputation
We’ve run into a email deliverability problems with Mailgun several times over the last few years and after looking into the Mailgun logs, the problem was that the IP address(es) used by Mailgun were blacklisted.
Yes, you read that right.
Some of Mailgun’s IP addresses were blacklisted, causing our emails to never get sent to our customers.
We weren’t notified of this, and instead it was only after we contacted them, were we able to have the problem resolved.
Believe it or not, email deliverability with Mailgun is a “paid upgrade”. I’m not sure who thought of that, but it’s quite amazing.
That’s a bit like us selling you ShieldPRO which detects bad bots, only to say – if you want to actually block the bots, you’ll need to pay us extra.
#3 API Key Limitations
Mailgun is literally marketed as an email solution for developers.
Remarkably, however, a mailgun account is provided with just a single API key and this API key covers everything on the API.
There’s no option to have multiple keys, or restrict API access in any way.
If, for any reason, your API key is compromised in 1 location you’ll need to roll your API key and update all your implementations. Ideally we’d like to have a key for use in specific sites/app, domains and functions.
Not a chance with Mailgun. 1 API key to do everything. It’s weird.
We’ve been on the lookout for a replacement to Mailgun for quite some time as a result of these issues.
We’d be remiss to say it’s all bad with Mailgun… it’s not. Their log display is decent (though their filtering system is broken – we reported this and were completely ignored).
Another nice thing about Mailgun is that they don’t try to do everything – they mainly do Transactional Emails. That’s it.
What Other Transactional Email Providers Did We Try?
There are plenty of providers out there, and we’ve tried several of them. Below we’ll outline a little of what we’ve tried and why they didn’t suit us.
The only thing Amazon AWS doesn’t do is cook your porridge. They have a service for practically everything, and email is no exception.
It’s very tempting, as their cost per email is miniscule. If we were scaling up to millions of emails, this would probably be our provider of choice, but we’re not there yet.
Mailgun, for all its faults, has a decent email logging system. This is invaluable when a customer reports that they didn’t get an email. We can easily see why they didn’t get it, or if they did, explain that the problem lies with their mailbox, not us.
Excellent logging is essential, but Amazon SES just doesn’t have it out-of-the-box and so it wasn’t a viable option for us.
This is a service that offers both commerical and transactional email services (and even SMS). We’ve had an account with them since 2016 when they were first starting out, but never used them for transactional email.
We decided to start using them here and there for some emails, to test the waters. 4 weeks after doing so they completely cancelled our subscription when the PayPal agreement unexpectedly expired. It took 2 weeks and a negative online review to get a response from their support that could resolve the issue satisfactorily.
2 weeks! If we’d moved our full load of transactional emails to SendInBlue, our business would have died overnight.
This wasn’t the first time they’d killed our emails, but we decided it would be their last.
We strongly urge anyone using them to find an alternative. We’d rarely make such a statement for any service provider, but their disastrous handling of our account, and apparently others, makes me nearly certain that if you put your business in their hands, you may just regret it later.
We’ve never actually used SendGrid, but some would argue it’s the biggest provider for email services you can get.
We may eventually try them, but our perception is that maybe they’re just too big for us. They do “everything” and sometimes that feels like we’d get lost in their product when all we simply want is transactional email.
Their pricing and features seem reasonable too, so we’d certainly encourage you to give them a go.
Postmark App Is Our Pick (currently)
There are several things we liked about Postmark before we even tested it:
- Pricing. It starts at just $10/month for 10,000 emails. This is great. It’s simple, and doesn’t break the bank.
- A focused service. Postmark App does transactional emails, nothing else. When I log into my account, everything is about transactional emails.
- Clean UI. When we signed-up for the trial, it was clear and easy to use… the UI is very nice to work with.
Postmark checked a lot of boxes for us. We don’t want to spend time debugging our emails – we just want something that works and if it’s broken, they’ll fix it before we know there’s a problem.
If you’ll remember I mentioned that ensuring good email deliverability was a “paid addon” for Mailgun – with Postmark, this is one of their selling points. Ensuring emails actually get delivered is part of the service.
Their email logging is great. You can of course track email opens and clicks, but their filtering and email previews are super easy to use and look great.
Email Streams and API Keys
Postmark allows us to create dedicated “streams” for seggregating emails for particular applications. For example, we have a stream that is solely for handling emails sent from this website. This has its own dedicated api key, logs, and statistics.
Separate streams let us monitor emails independently for every area in our business.
This could be useful if, for example, you manage WordPress websites for multiple clients and so you can use a separate email “stream” for each customer. If you need to debug an email problem for 1 client, you can jump to the logs and stats for them alone. It’ll also let you see where your greatest resource usage and costs are focused.
Having separate streams, with different API Keys will allow you to mitigate any abuse or limit damage if 1 of your API keys is compromised.
Furthermore – they provide separate API keys and access for account-level operations. The API keys used for email delivery and account operations are separated. Compare this to the issue with Mailgun we mentioned earlier that supplies only 1 API key for everything.
Email Delivery Speed
Ever tried to log into a WordPress site and you spend several minutes waiting for the email to arrive? This happened far too often with Mailgun, but we just put up with it since there was little we could do about it.
One of Postmark’s “features” is their efforts in speedy email delivery.
We love this.
We’ve definitely noticed how quickly emails arrive in our inbox when using Postmark and it makes a huge difference for the customer experience.
WordPress Plugin and Support
The plugin appears to be well maintained, with a simple UI and it just works.
We do have 1 issue with it regarding plain text emails, but it’s not a deal breaker and we don’t quite know the solution and whether it’s actually an issue for our customers.
The Downsides of Postmark: Pricing
Honestly, we can’t think of any downsides except for pricing and scalability.
Of all the solutions we’ve tested, Postmark is definitely on the higher end of the range with respect to costs. If we were to scale up in a bit way beyond 100,000+ monthly emails, we’d probably switch providers.
That said though, it’s one of the cheapest providers to get started with: $10/month for 10,000 emails is hard to beat.
Our view on scalability may change as we grow, but as with every service provider we employ, we’re always prepared to find alternatives if the need arises – we encourage everyone to exercise their right to choose and change service providers as often as they need to. You should never feel “locked-in” with any service.
Getting Started With Postmark
It’s easy – just sign-up for the free trial that gives you 100 emails each month. Here is the process we’d recommend:
- Create your free account.
- Setup (one of) your domains (Server Signatures)
- Wait ~1hr for the Server Signature to be fully recognised on their system for use with the API.
- Create a new Stream dedicated to your testing site, within the Postmark App.
- Install the WordPress plugin on your test site and supply the Stream’s API key and sender address etc.
- Apply to have your account verified (as with all email providers).
Always Have A Fallback Option
All email providers force their customer through some sort of verification and validation process.
This is to be expected, of course. But depending on the provider, it can take some time. SendInBlue last nearly 3 days when we signed up, Postmark took around 3 hours.
Regardless of how long it takes, you need to remember that it takes time.
Even if you don’t plan to use Postmark for your production emails, yet, setting up an account and having it validated gives you options.
Options for when? Imagine you use a service like SendInBlue that terminates your entire account overnight. Having an account setup elsewhere, that’s already undergone verification, gives you the option to switch over to another provider quickly, with minimal downtime.
We highly recommend having at least 1 fallback provider waiting in the wings, in case of emergency.
Thoughts and Comments? Which Provider Do You Recommend?
Everybody’s mileage wil vary – what works for us, may not suit you. We share this information so that you may have another informed opinion in case you’re on the hunt for a reliable email provider.
We’d love to hear which service(s) you use and how you approach transactional email for your WordPress sites and services.