You can now subscribe to this blog by email
You can either click this link to sign up1 or use the tiny box in the website footer.
I am running this service myself, your email is not stored with a third party. But it has all the normal shit you would hope to see, like one-click unsubscribe.
Details for nerds
What I wanted from this
- Publishing my RSS feed via email because I don’t want to write a newsletter on top of a blog how do people have time for this
- Privacy - one third party data handler at most. I already have no trackers on this site, it’d be a shame to introduce one just for email
- No extra infrastructure for me. Can’t be arsed.
- Pay as you go. I’m tight.
What I did
I went with listmonk2 to handle the mailing list, subscribe and unsubscribe pages.
I wrote a python script which parses my RSS feed, and creates a new ‘campaign’ (aka: newsletter) in listmonk via its API. That runs in a cron job.
Then I configured postfix on the same server to actually send the email. This is never super simple but once it’s done it’s done.
In terms of box ticking from above:
- It does RSS by email
- The data is only stored on my servers
- I already had the VPS
- It’s costing me zero extra pounds to run this. Yes I am paying a few quid a month for a VPS but it does loads of other stuff for me too
Was it a pain in the arse?
Not really. Listmonk is configured mainly via gui, so it’s docker compose up -d, sort out the DNS, sort out Caddy and off it goes. It does take a bit of nous to work with that stuff but things like docker and caddy have made life a lot easier than back in the day when you’d spend ages figuring out why it wasn’t working.
The python script was easy I nicked ideas from elsewhere and the listmonk API docs are great. There are others available online but they seem to do ‘digests’ or just send stuff like ‘hey we just published a new article to read it click HERE’ which is annoying, just send the fucking article.
Postfix is trickier because you have to do a dance with DNS stuff and tbh I just have a txt file somewhere with how to do it.
But you don’t need postfix, you can use a third party service like mailgun or resend, and they handle all the fiddly bits for you. They are quite reasonably priced too.
Other stuff I looked at
There are some really solid newsletter services out there. Buttondown stood out as a good option run by decent people.
However, they usually want money, especially for an RSS feature. I am not opposed to paying for services, but I think for something like email it should be pay as you go rather than pay monthly. When you are sending to a dozen people a few times a month, it seems crazy to pay $20. If you don’t use it you still pay.
I get it though, a lot of their trade is probably people who think they will get 10,000 subscribers, pay for that, and then get like 400.
You can’t self host an email server the messages won’t get delivered!
You can and they will, it just takes a bit of time. Use a VPS provider with IPs that aren’t blacklisted for starters.
Also, because everything I will be emailing will also be on my website, and available via RSS, I don’t really care if emails get caught in spam or not delivered. I am not sending critical stuff here just look at the post history, it’s reviews of chick flicks I probably didn’t need to watch. I am not trying make money, it’s just a little feature.
If it truly never works, listmonk makes it dead easy to hook up third party email sending services like mailgun and resend. No vendor lock in, pay as you go.
I’ll let you know how it all goes. It could well be that in two months I will be posting an article about this was all a shit idea.