Working with WordPress and development around plugins like MailPoet makes me wonder how much people actually know about how badly configured shared hosting are for your emails.
Don't get me wrong, I'm not saying that they don't know how to do it, but the way they need to do things to avoid spammers make they email server a crap one.
In the mailing world there are 2 main kind of emails, the Newsletter/Campaign email and the Transactional email.
So to explain a little bit further on this subject we need to understand what categorizes the Newsletter email, it's pretty much the one that is active, or where the sender actually fire an action of sending to a list.
This sort of emails are a little bit different because they are set to be sent to the user when an event happens or if a condition is matched by the system.
We should take in consideration that Transactional emails shouldn't have a newsletter look and feel, or it could be considered a Newsletter.
So on my search through the web I've been able to find many email providers, some of them are better than the others, but in the end their goal is to delivery email faster.
In my search, I've been filtering out the ones that doesn't provide an HTTP API, because since I'm talking about WordPress shared hosting I want to avoid any SMTP connection.
I didn't want to include any services that didn't had a pricing table or a public documentation, so that rules out many of the current players of this area.
My last rule was that I needed something that was easy to configure for a mortal WordPress user and could be used from of the gecko.
All of these have a starter plan, where you can send quite a good amount of emails for free, and this will help you deal with the beginning of your website, and you can test for yourself which one suites you best.
About WordPress email
Sending a an Email with WordPress is an easy task, you will only need the code below for it to work:
It's not because it's simple that it's not good, you can make more of it; Sending to multiple recipients using a single function call:
Changing the headers on the email, in the example we change the
Reply-To email, which is by default the
We can even change the Content Type of the email, then allowing us to use HTML on the email:
When we are using the
wp_mail function we allow plugins to hook in to our mailing procedure and therefore allowing them to use other methods to send the email.
Send emails via HTTP API in WordPress
First you need to register to one of the Email providers that I've talked above.
To ensure that your users will receive the emails from your WordPress site, you should take care of the DNS rules that they will ask you before start using their services.
The plugins below are the ones I've tested and they seemed to be working for a simple email sending flow, if you need a better control over your sending rate you might need to code something.
- MailGun for WordPress - Official
- SendGrid - Official
- wpMandrill - Official
- MailJet for WordPress - Official
The only one I didn't test is the Postmark, because it's too old, but if you are already using their service you can test and give me the feedback in the comments below.
I'm using on this website the MailGun plugin because I really like their documentation, but I've been using this methods for some of my clients and It's working very very good, because even if they pass the free mark it's too cheap to worry, at least if you want to do a professional job.