Send Email in ExpressionEngine reliably utilising SendGrid

The Problem

This is a follow up to the craft Video sending Email with Mandrill. MAilChimp the creators and owners of Mandrill decided to remove their free plan, and introduce a pricing structure.

You want to utilise these third party services because they are designed to get email delivered reliably. Send emailing out through PHPMail and SMTP is ok, but these services can help prevent troubles like your email getting caught up in Spam or even red flagged.


It’s very similar to what Mandrill was but it’s free. Mandrill accounts start at $20 per month and go up from there. It’s not a huge amount in the scheme of things but SendGrid does all this for free. They have clients such as Uber, Yelp and Spotify, so you are in good company. With the free serve you get 12,000 emails per month which should cover most websites. If you are seined more than that you will have to go on a paid plan.


It’s not possible to send via SendGrid in ExpressionEngine natively but there’s an add on for that. It’s called Escort and only costs $12, an absolute bargain. This allows you not only to send through SendGrid but Mandrill (Paid service), PostMark, MailGun and others.

Local testing

One other great thing about Escort is that it allows you to test these emails locally. It simply connects through the web to SendGrid and then from there the SendGrid services send the email. It’s always good to test these things locally first, and then testing on staging, and finally production.

Simple Process of getting Escort and SendGrid to work

  1. Sign up at SendGrid
  2. Get your API from SendGrid options
  3. Purchase and install Escort
  4. Insert the API key into the settings in Escort
  5. Test- use the Communicate option in EE
  6. Bingo! I told you it was simple!

Bonus not mentioned in video

With SendGrid you can look up every email that has been sent and find it it has been delivered. You have complete accountability for all emails. This is much easier than troubleshooting the native services. There is also an iOS app which i try and log into weekly to, to check if everything is running smoothly.