I created a newsletter for blog posts on my website so you can sign up for email notifications when I post new ones, so I have more than just an RSS feed.
See the “Signing Up” section for instructions on how to sign up for the newsletter.
For my newsletter manager, I chose listmonk. As I was searching for self-hosted newsletter managers, it caught my eye because of how modern and beautiful its interface looks. In fact, it was the only self-hosted newsletter/mailing list manager I looked at that doesn’t have an overall old and ugly interface. Additionally, it has a live demo, so I was able to test it out and see if it would be able to meet my (relatively low) requirements.
I also tried out GNU Mailman 3 about a year ago. However, I could not get it to integrate cleanly with my email server1. listmonk can operate over SMTP, just like any other program that sends mail. That makes the setup much less complicated, and I was also able to set up the official Docker image using Docker Compose setup just like the other programs I use.
If you’re interested, the Docker Compose configuration files I ended up writing are available at configs/listmonk on my Gitea instance.
I ended up writing my own template for listmonk from scratch, based on the CSS used in bobatheme, the theme that my website uses. Here’s a screenshot of how it currently looks:
You can sign up to get emails about new posts on the newsletter signup form
here. Make sure the box next to
the list labeled
bbaovanc.com Blog Posts is checked. You’ll need to provide an
email address, and optionally a nickname (or your real name if you want).
Right now there’s only one list with public signup enabled, but that may change if you’re reading this in the future. In that case, you can sign up for as many or as few lists as you want.
Mailman requires access to the mail server over LMTP. However, giving it access to my mail server over LMTP is not very easy because of the setup that Mailcow (my email server) uses. There is an existing project called dockerized-mailcow-mailman, but it uses the Apache web server to serve the frontend. I’m not familiar with Apache, and also I don’t really want to complicate my Mailcow setup switching to an almost completely different setup just for one little program. ↩︎