Every website needs to send emails. Emails like notifications of successful registrations or password reset emails or any such emails.
Normally website use the hosting server to send such emails but then sending bulk emails from your own server means you overload your server for sending emails and that may mean that for the time it sends those emails, your server may become slow in response to users.
Webmasters tend to cron the email sending process when the traffic on the server is minimum but that also means that you have to take care of email bounces and complains.
So to avoid such bounce and complain loops, there are third party email providers where you can just use uniform API for such bounce and spam reports. I have used three services aka SendGrid, Amazon SES, and Mandrill and I will share the pros and cons of each of them so you can decide which one works best for your needs.
Make a note that to be able to send emails using third party, you should have bounce rate of less than 5% and spam reports under 0.1% to be on the good side of reputations with all the three Email Service Provider.
Pricing Structure
SendGrid pricing structure for transactional email is too complex. For sending higher number of emails and opting for better package, the price per email just skyrockets. Not sure why but it is weird.
So for sending first 40,000 Emails, the pricing is $9.95 but for 100,000 where it should have been under $25 but the pricing is $79.95.
Quota
For Mandrill there is a limit to the number of emails you can send every hour and as you send more emails that have low bounce rate and low spam complains, your limit increases exponentially.
For Amazon, if you hit the 10,000 emails every 24 hours, your quota increases automatically.
For SendGrid, I don’t think there is any quota and I sent almost 60,000 emails after couple of days of my signup. My account was set for review after 13,000 emails were dispatched but then I could get the review thing sorted with the support and once the senior support staff reviewed the account and I could get the email queue delivered.
Notifications
We have more than 50,000 registered users in Go4Expert.com and over a period of time some of the users email addresses becomes invalid and so having an API handler for email bounces and spam complains is a must.
Amazon’s Simple Notification Service or SNS can be tied to Amazon’s Simple Email Service or SES for notification of email Bounces and Spam complains.
Mandrill provides Webhooks for notification of Bounce and Spam complains. Mandrill also provides notification about email sent as well as opened though open notification works only for HTML emails as expected.
SendGrid does not offer such Notifications on free, lite and bronze packages and only provides for Silver package and above which was a big headache of doing things manually. SendGrid provides list of email in CSV format that bounced or reported as spam and so I had to create a script to read the list and do the email cleanup. Though I created the list, I had to get the CSV file exported and import into my list to get the email Cleanup. Too much manual process whereas I like to keep things as automated as possible.
SMTP and Account Security
SMTP username and password for your SendGrid account is same as your Sendgrid.com account login details which is kind of not acceptable to me because I add my SMTP details on my website and that information is visible to the developers and so they can login to my SendGrid account and look at the email reports and other such details.
Mandrill and Amazon SES have Key based login details which you can safely use on your website for sending emails and revoke the access to sending emails using SMTP whenever you want or generate a new Access key. For SendGrid you have to change your account password.
Mandrill also provides reports on keys as password used for sending emails. Similar functionality can be achieved in Amazon SES by creating different IAM logins.
Update: I just found that SendGrid also supports Multiple Login Credentials but I am not sure about reports for each of those account as yet.
Deliverability
I found the deliverability of SendGrid to be not at par.
I sent 59,464 emails using SendGrid and on 10th May 2014, I sent all of those emails but the user response was not as expected. I just sent out 30,000 emails from Mandrill today i.e. May 25th 2014 and I see very good response to the emails sent. Though there is no concrete statistics to prove the deliverability but the 30,000 emails sent through Mandrill are actually subset of emails sent through SendGrid on May 10th and I saw that lot of those emails had spam auto-response activated and I did not get any such auto-response when sent through SendGrid.
So it could be that emails from SendGrid either were not delivered or they may have ended in spam or junk folder. I think it is more of a later than of former because SendGrid does not support SPF and option for Domain keys is not very helpful either. They don’t provide any keys that I need to add into my domains DNS to white label SendGrid for sending emails for my domain like Amazon SES and Mandrill does.
Support
Amazon and Mandrill’s support is not as quick as SendGrid. To contact link in Mandrill, I had to go to twitter and tweet about it
@shabbirbhimani Glad to help! Can reach out via email – help at mandrill dot com with any questions you may have.
— Mandrill (@mandrillapp) May 19, 2014
But SendGrid support is available 24×7 for chat.
Dashboard Interface
I would rate Mandrill ‘s Dashboard as best among the three and then may be SendGrid and last Amazon. As you send emails, Mandrill dashboard can show you hourly reports of how many emails are being sent each hour from your account.
API Documentation
I would say Amazon has the best documentation but then Amazon’s documentation at times becomes too much of information to get simple things done.
Mandrill also has quite a vast documentation but as I did not had the option to develop API for SendGrid; I don’t think it would be fair to rate SendGrid’s API documentation by me.
Cost Structure
The pricing for Amazon SES is a flat fee of $0.10 per thousand and for Mandrill it is $0.20 per thousand after the free quota of 12,000 emails per month. The pricing structure for SendGrid, Amazon SES and Mandrill is as follows:
Emails Per Month | 40,000 | 100,000 | 250,000 |
Amazon SES * | $4 | $10 | $25 |
SendGrid | $9.95 | $79.95 | $199.95 |
Mandrill | $5.60 | $17.60 | $47.6 |
* Price Assuming SNS is in the free quota of 1 million notifications per month.
Final Verdict
I’d say Amazon SES is a very cost effective option but if you are ready to pay slightly more Mandrill is the right way forward. SendGrid may be a good choice for those who may be want to opt for Marketing emails but that would make more sense to be comparing SendGrid to MailChimp, AWeber or GetResponse.