Feb 2, 2011

MailChimp Launches Simple Transactional Service on Top of Amazon SES

Update: This post was written in February 2011. While still entertaining (imho) and useful as a case study on being nimble, it is nevertheless outdated. We’ve since deprecated our Amazon SES integration and launched our own, fully-featured transactional app called Mandrill


Last week, Amazon SES (Simple Email Service) launched, which is a very simple, very scalable, very affordable, API-based email delivery service. People in the dev and email communities were geeking out over it, because this is potentially a very disruptive force in the email industry.

Some people pointed out that SES appears to be (mostly) a transactional email service. In case you don’t know, transactional messages are usually one-to-one "system" notifications (examples include account setup emails, password reminder emails, purchase receipts, shipping notifications, etc). There’s a good techie discussion over at Hacker News about all this.

Other people wondered out loud how this might affect ESPs like MailChimp, who specialize in sending one-to-many messages. Did Amazon just make it extremely easy for programmers to develop a competing email delivery service?

"What does MailChimp think of all this?"

Honestly, our first thought was something like, "Aaaaaah sh*t." But immediately after that, our second thought was, "Oh sh*t! This is awesome. Amazon just saved us a boat load of work!"

(We kinda have a habit of quickly embracing change here at MailChimp)

So we got to work creating an integration between Amazon SES and the MailChimp API. We quietly launched it 2 days ago, along with all our other redesign and pricing changes.

We’re calling it MailChimp STS (Simple Transactional Service)

What does MailChimp STS do?

Think of Email Service Providers (ESPs) as cars. Some of us are peppy and sporty and economical, while others are big stretched-limousine SUVs with chrome wheels and chauffeurs named Jeeves.

And Amazon SES is basically like an engine. For now, you can only use it via their API, and you still have to build everything around that engine: the chassis, suspension, steering, brakes, roof, airbags, cupholder and iPod dock.

Our integration lets you use Amazon’s delivery engine for transactional messages, but overlays some MailChimpy features to make things more convenient.

Features that we add on top of using Amazon SES:
  1. Slightly simpler API
  2. Opens and click tracking
  3. Visual reports (all pretty and stuff) dashboard to see stats
  4. We keep more than 2 weeks of history, showing hourly stats for at least 6 months.
  5. You can tag your transactional messages with custom labels (up to 100), and see your stats filtered by tag (say, one for receipts and one for confirmation messages)
  6. We’ll automate some of the SES limitations – if you exceed your daily or hourly quota by a small amount, we’ll queue the message for you and try to send it later.  If you send from an address you haven’t verified, we’ll again queue the message and automatically send the verification request.

How much does it cost?

Our integration is free. You just pay Amazon’s fees for delivery.

Can anybody use this?

Because this is so new, and because we really want to prevent abuse, this is only going to be available to our paying customers for the foreseeable future. Amazon has their own built-in measures to prevent abuse (and protect their deliverability), but we want to limit access to customers who’ve been through our approval process, and have been through the Omnivore wringer. We already have one customer switching over now (they previously used some workarounds with our API), and we hope to post a case study of that soon.

How do I get started?

Just to set expectations, this stuff is for nerds. You’ll need to be comfy programming stuff with our API.