Web Software Architecture and Engineering – Life on the Bleeding Edge

Our ColdFusion-based SaaS application sends out roughly 8,000 – 10,000 emails per day, and even more on the weekends.

I wrote the code in 2007, and since then worked hard on improving memory usage. We optimized queries, re-worked string concatenation to use JAVA’s StringBuffer and StringBuilder classes, and so much more. But to tell you the truth, we always wanted to work with some other software to do the hard work for us. We have templates, to which we pass in variables and shoot that off to a slice of our clients.

Originally, we worked with WhatCounts back in 2008 to get this done. Unfortunately, their API wasn’t as mature as we thought, and batch processing was a pain. I spoke with the CEO on the phone back them, and we decided after working together for months to part ways.

I have to say our current solution is a work of art, but I’d like more. It would be nice to get email analytics – information on opens, clicks, etc. We could do that internally, but its not our core competency. So for a long time, I kept my eyes open for any new companies I could work with.

Originally, I thought that maybe I could make due with the ConstantContact and VerticalResponse’s of the world. But they are not built for this type of work, and are geared more for marketing campaigns.

Fortunately, there are some new players in the field. I narrowed the field down to half a dozen players, and did proofs of concept with the top 3: SendGrid, PostmarkApp, and PostageApp. They all feature APIs and could meet some of my needs. What wasn’t clear, was how mature the feature set was. But the great thing about them was they allowed for no-cost trials, so I went ahead and tried them.

My primary use case was the following. Remember when you first learned Microsoft Word, and that one of the neat features was doing merging… you could create a template or form, and passing an address book for example, and it would create a ton of letters? Well, that is the sort of use case I had with email. I wanted the 3rd-party system to house my templates, and for me to pass in via API – users who would receive the emails and variables with the content they would receive. Simple I thought – I mean I could write something like that in ColdFusion if I had to. The great plusses were the deliverability improvements, anti-SPAM measures, and of course the analytics and logging.

I’ll be featuring a few posts on my experience working with the 3. There was a clear winner, and some astonishing things that became quite apparent with a few – especially those written in Rails.

Does something like this interest you?


Comments on: "My Notes on Finding a SaaS Email Company" (14)

  1. This sounds interesting. One of my freelance clients needs to add mass mailing to their ecommerce solution, and I’ve been on the fence between building the functionality myself or using a 3rd party service. And like you said, I’d need something that I could integrate via an API from ColdFusion. I’m really looking forward to see what you found. Thanks for posting this!

  2. I’d be interested in what you learned as well.

  3. Lola LB said:

    I’d certainly be interested!

  4. Definitely interested in the follow up as I switched from an in-house solution to PostmarkApp a couple months ago. We’ve also been using their other service – Newsberry a little bit for larger newsletter type e-mails.

  5. Fernando Lopez said:

    +1, I don’t have a need now but I used to work for a company where every single day we had issues handling massive amounts of email. All was done on a ancient CF6 box with code nobody wanted to touch.

  6. Rick Mason said:

    Have you taken a look at MailGun? It’s a YCombinator company that looks to have far more features than anyone else.

    • Rick,

      No – none of my months of searching turned up MailGun. I’ll take a look.

      • Rick,

        MailGun looks interesting, but the cost is higher than most if not all of the solutions I have seen. At the Pro version cost of $0.50 / 1k emails – that would equate to roughly $5 per day, $150/month. Add on storage costs, and you are getting up there. It looks like a good solution, however I can’t even touch it at that cost. Undoubtedly, that cost shouldn’t be an issue for something as important as email, and maybe its something we can grow into over time, but at our first attempt to outsource a key business process, we want to experiment with something that has a lower monthly recurring cost.

  7. Sami – beware of actual deliverability. I’m sure this strikes many of these vendors (and it changes over time), but doing similar research I encountered a number of people saying SendGrid didn’t have great deliverability. It might depend on which IP you wind up on and who you share with, but it’s more complex than just picking the one with the best API. I look forward to the follow-up posts.

  8. […] for example, and it would create a ton of letters. Well, that is the sort of use case I had with Email. MailGun looks interesting, but the cost is higher than most if not all of the solutions I have […]

  9. Hi Sami,

    We send about 1.5 million emails a day with CF and although we don’t have all the analytics (we do track open rates) it works pretty well. Our main bugbears are throughput in a time-limited capacity so we are switching to the big daddy of email services – ExactTarget.

    I think CF handles mail fine, the scaling is the hard part and really can only be done with hardware.

  10. Thilo Hermann said:

    Just found your blog post while evaluating cloud based email services. I am also going to take a closer look at Sendgrid, PostageApp and Mailgun, so I am really interested in what you found out 🙂

  11. Steve Reich said:

    Don’t leave us hanging! I’m researching those as well. What did you find? Who was the clear winner?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: