From MailChimp to Sendy: how I saved 600$ a year

Mattias Geniar, Tuesday, October 18, 2016

I recently moved away from MailChimp for the cron.weekly newsletter and chose a self-hosted newsletter app called Sendy in combination with Amazon SES. In doing so, I saved over 600$ a year.

cron.what?

Quick recap; I launched cron.weekly 50 weeks ago, it's a weekly newsletter about Linux and open source and everything that relates to it. And last week, I sent the 50th issue in a row!

It's grown from a handful of subscribers to over 2.500 now -- some are even angry when the mail doesn't arrive on time. I'm extremely happy with the growth and feedback I've received!

If it sounds interesting to you, go to cronweekly.com or scroll to the bottom of this post to sign up.

Convenience is costly

I first signed up for MailChimp to start the cron.weekly newsletter because it was the easiest option. For the newsletter, I wanted an online archive, so the best method to me seemed to be a website to host the archive, and a mailing tool that could read the RSS feed from that and automatically mail the content to everyone who signed up.

I set that up in less than 2 hours, with a couple of clicks;

Every time I posted something in WordPress, Mailchimp would pick it up over RSS (thanks, Aaron!) and send it to everyone who subscribed, using the simple WordPress plugin.

Convenience for lazy folks hackers.

It's all about the money

Convenience comes at a cost though, and it isn't immediately clear with MailChimp. You can have up to 2.000 subscribers in your mailing list and still send mails for free. Awesome, right?!

Well, things get expensive pretty quickly though.

mailchimp_pricing

Signups for cron.weekly are actually going pretty strong, which landed me in the 50$/month plan. That's 600$ per year.

For a hobby that isn't making any money (yet), I'm not going to spend 600$ a year.

In fact, with the current growing rate, I would soon be landing in a 75$/month plan, for almost 900$ per year.

mailchimp_pricing_10000

The sysadmin hacker in me disagrees with those pricing. I can do that for less, right?

Enter Sendy and Amazon

There are a couple of alternatives for self-hosting a newsletter, the most popular seem to be Sendy (PHP) and Mailtrain (NodeJS). I chose Sendy as it's the easiest to get running, as all it requires is a webserver and PHP. And I had that already for this blog and the variety of other sites I run.

It isn't free though, but at a one-time fee of 59$ it's good enough.

Once you have the application installed, there are 2 ways to send your newsletter;

There's this old saying that friends don't let friends run mailservers, so instead of sending mails locally, I decided to use Amazon SES.

After all, I send a little over 12.000 mails per month, nothing a local server can't handle -- but e-mail delivery gets tricky at volume (DKIM, MARC, IP reputation, SPF records, handling bounces, ...). None of those things I wanted to manage.

But the biggest motivation to me was saving money, so here's my Amazon SES bill (forecasted for October):

amazon_ses_pricing

From 50$ per month to 1.38$ per month. Score!

But, there's a catch.

Responsive mobile e-mail layouts

There's a big plus about MailChimp: for the monthly fee, you get well designed, tested, responsive e-mail layouts.

And as it turns out, creating decent e-mail layouts is like designing for IE6: it's effing frustrating.

There are a couple of high quality, free (and open source) newsletter designs: Zurb & Cerberus seem to be very popular.

I played around with both, but Cerberus seemed to fit my use case best. So I wrote a little e-mail parser to generate the HTML and TXT versions for the newsletter (which is up on GitHub, if you're interested). This probably took most of the time to finetune, test and process reader feedback.

Doing things like this makes you value MailChimps' pricing, but in hindsight I still made a good decision going self-hosted + Amazon SES.

MailChimp is expensive, Sendy is intensive

You spend more time setting up Sendy & Amazon SES (their 'getting started' guide is perfect by the way), but it'll save quite a bit of money in the long run.

My Sendy setup: 59$ one time fee + roughly 2$ a month = around 80$ for the first year and 20$ recurring costs per year.

With MailChimp, I was already at 600$ a year and things were only going to increase.

If you're on MailChimp now: spend some time checking out Sendy (or alternatives) and use SES to send out e-mails. Your wallet will thank me later.



Hi! My name is Mattias Geniar. I'm a Support Manager at Nucleus Hosting in Belgium, a general web geek, public speaker and podcaster. Currently working on DNS Spy. Follow me on Twitter as @mattiasgeniar.

I respect your privacy and you won't get spam. Ever.
Just a weekly newsletter about Linux and open source.

SysCast podcast

In the SysCast podcast I talk about Linux & open source projects, interview sysadmins or developers and discuss web-related technologies. A show by and for geeks!

cron.weekly newsletter

A weekly newsletter - delivered every Sunday - for Linux sysadmins and open source users. It helps keeps you informed about open source projects, Linux guides & tutorials and the latest news.

Share this post

Did you like this post? Will you help me share it on social media? Thanks!

Comments

Bjørn Johansen Tuesday, October 18, 2016 at 21:35

Thank you for everything you publish, Mattias! From your series on HTTP/2 to the weekly newsletter – I really appreciate it!

I hate to tell you this, but since you already use WordPress, you could have just installed MailPoet (http://www.mailpoet.com/) which comes with nice templates. I use it with my local Postfix which relies to SendGrid. I believe you could have used Amazon SES as well (it has an SMTP interface, right?).

Good to see you got to hit that “Publish” button again :-)
Keep rocking the web!

Reply


Ben Wednesday, October 19, 2016 at 02:58

> Every time I posted something in WordPress, Mailchimp would pick it up over RSS (thanks, Aaron!) and send it to everyone who subscribed, using the simple WordPress plugin.

You can continue to use this functionality in Sendy by using Zapier, see → https://zapier.com/zapbook/zaps/13353/new-wordpress-posts-creates-new-sendy-draft-campaigns/

:)

Reply


Ankur Jain Wednesday, October 19, 2016 at 11:10

We manage a list of 25000+ subscribers on Aweber. While for a hobby site like yours, Sendy is perfectly fine, the problem arises when you start sending volumes.

One of the main things to see is not the fact that how many mails you can send but how many mails hit the inbox and don’t hit spam. SES has been a favorite of spammers. Your deliverability may suffer when you use self hosted newsletters.

Reply


Mattias Geniar Wednesday, October 19, 2016 at 11:36

I hate to tell you this, but since you already use WordPress, you could have just installed MailPoet (http://www.mailpoet.com/)

Haha, crap. :-)

That would indeed have been an option, as Amazon SES does support an SMTP gateway (with authentication). Thanks for the heads-up, if I ever start a new newsletter I’ll make sure to check that out! :D

RE: RSS functionality
You can continue to use this functionality in Sendy by using Zapier

Yes, there is an RSS workaround, but it doesn’t work as expected: MailChimp had a pretty good feature here where they can take your content from RSS and mix in their own CSS styles. You could set H1/H2 styles, MailChimp could resize images, … all without intervention.

For instance, the markup that WordPress generates doesn’t translate 1-to-1 to what fits in a newsletter. This is also what prompted to make my cron.weekly parser, as the simple RSS method fails at generating a plain text alternative. The generator takes care of that for me.

Since I mail to linux/devops/devs folks, many of them prefer a plain text alternative that I couldn’t ignore (which I did at first, but was promptly reminded of the need for text/plain content encoding).

SES has been a favorite of spammers. Your deliverability may suffer when you use self hosted newsletters.

It’s a concern I also had indeed, but so far I haven’t noticed any downsides. The latest 2 issues were sent via SES and had the same delivery/open/clickthrough rates as the ones sent via MailChimp.

But it’s something I’m going to have to keep an eye out, for sure!

Reply


Jesse Wednesday, October 19, 2016 at 17:10

Another vote for MailPoet, we have been using it for the past few years to run our newsletter via SendGrid SMTP with no issues at all, and its 100% free for both (unless you need/want to upgrade SendGrid plan). It would be nicer perhaps to run over SendGrid API rather than SMTP but hopefully coming soon in MailPoet :)

Reply


Jeroen Noten Friday, November 4, 2016 at 12:50

MailGun has also a very good pricing model IMO, first 10.000 emails per month are free, and $0.0005 per email for the next 500.000. Also has a nice API for mailing lists.

I don’t use WordPress though.

Reply


René de Kat Friday, November 4, 2016 at 17:32

As for email templates. Have you checked out https://mjml.io ?

Reply


Ines Pljakic Monday, December 19, 2016 at 17:27

Mattias,

I’m a big fan of MailChimp, but after reading this post, I might put Sandy on my 2017 resolutions :) It’s always tempting to save some money on the side!

Reply


Leave a Reply

Your email address will not be published. Required fields are marked *