send.Better() - Giving Email a REST
Your application sends emails; they might be alerts, confirmations, reports, surveys, newsletters, support-related, or invoices. The process of setting up, maintaining, and troubleshooting these emails generally alternates between boring and frustrating; developers are happy to move on to richer, more modern portions of their applications. It really doesn't have to be like this. AWS SES might be the best known of the transactional email services, but that doesn't mean it's the best. Mailgun, Sendgrid, Postmark, and Sparkpost all provide compelling email-as-a-service offerings, built around developer-focused REST APIs. The offerings and features varying slightly from one provider to the next; which is the best for you? As usual, the answer is that it depends, but I'll help you find out. We're going to cover: * The benefits provided by using a transactional email service * A pragmatic, use-driven comparison of the major players in the space * Pitfalls, considerations, and tips when configuring your DNS records and integrating a transactional email service with your application * Interacting with the actual APIs, and showing how easy they are to use, even with CFML We'll be approaching this from a CFML perspective, but the examination of the services and their APIs will be applicable to any language. So let's dive in and see easy it is to send better emails, get detailed reporting, access logging that doesn't make you want to pull your hair out, and take advantage of advanced features, such as webhooks, transactional templates, and inbound email rules.
About Matthew Clemente
I'm a Founding Partner with Season 4, LLC, a team of designers, programmers, and writers working in the legal industry. After studying English, I took the road less traveled and one day realized, much to my surprise, that I had become a developer. I've been building with ColdFusion since MX 7, and the community has been amazing from the start.
I'm a husband, father, and always trying to be better. You can find me on Twitter (@mjclemente84), Github (@mjclemente) and I blog, time permitting, at the cleverly named blog.mattclemente.com.
Follow Matthew Clemente on Twitter