For transactional emails, notifications, reminders, etc, I want to make it so writers/designers can set up the emails and maintain them, and then dynamically insert fields, that I then replace when actually sending the mail from code.
I think the ability to use a basic layout template across individual email templates would make things a lot easier (think header, footer, standard typography, etc).
What is best for this? Why would you prefer Mailgun, SendGrid, Mandrill or something else?
At this stage, all of the tools you mentioned do email delivery pretty well. They all support email templates as well. Here are some considerations:
- Twilio owns SendGrid. If you're an existing Twilio customer, in my opinion that's a good reason to use SendGrid over the other solutions. The APIs are solid, and Twilio has excellent developer tools that allow you to create interesting automations (which is important for scaling).
- Mandrill was created by MailChimp, who have massive experience with email delivery and specifically with emailing beautiful email templates.
- Mailgun is a tool on its own. Like the other two, it supports mail templates and is built to be controlled almost exclusively via APIs.
SendGrid and Mandrill have pretty nice WYSIWIG template editors as part of their platform. Not so sure about Mailgun.
So for me the considerations would be: 1. How easy is it for you to integrate with their API? How complete is their API in terms of your own specific needs? 2. Prices: Which one works best for my budget? 3. Am I OK with editing the templates elsewhere (or even by hand), and then pasting the code into Mailgun? Or do I want the comfort of Mandrill or Sendgrid with their WYSIWYG editors?
Personally I'd go with Twilio, simply because it's such a massive ecosystem they are less likely to go bankrupt, and their APIs are rock solid.
If you need your emails to be sent in a time-sensitive manner, I'd recommend SendGrid. We were using Mailgun and the lag because they aren't "transactional" in nature caused issues for us. SendGrid also has the ability to do dynamic templates and bulk send from their API. I don't know that they have the shared layout ability you mentioned, though.