Main features
- Single and double opt-in lists with subscriber statuses
- Subscriber segmentation with SQL expressions
- Drag-and-drop, WYSIWYG, Markdown, raw HTML or plain-text campaign editors
- Go templating in subject lines and content
- Sending across several SMTP servers with rate and sliding-window limits
- Views, clicks, bounces and top links per campaign
- Bounce processing by POP3 mailbox or provider webhooks
- Transactional message API with stored templates
- Public archive of past campaigns
- CSV and ZIP subscriber import through the interface or API
- OIDC single sign-on, user roles and scoped API tokens
What listmonk does
listmonk manages one-way mailing lists: newsletters, announcements and product updates sent from you to subscribers. Lists can be single or double opt-in, and each subscriber carries a status (unconfirmed, confirmed or unsubscribed) plus arbitrary JSON attributes. Campaigns are written in a drag-and-drop builder, a WYSIWYG editor, Markdown, raw HTML or plain text, and both subjects and bodies accept Go template expressions for personalization.
Its most distinctive feature is segmentation. Instead of a point-and-click filter builder, you query subscribers with SQL expressions against their attributes and history. That gives precise targeting to anyone comfortable with SQL and is less approachable for everyone else.
listmonk also exposes an API for transactional messages based on stored templates, and “messengers” that pass campaigns to HTTP webhooks, which can be used to deliver them as SMS, WhatsApp or push messages. Past campaigns can be published in a public archive.
Privacy and tracking
Open and click tracking can be switched off completely in the privacy settings, or kept but recorded anonymously so that views and clicks are not tied to individual subscribers. Administrators can let subscribers export their own data, wipe their record, update preferences or blocklist themselves. A one-click List-Unsubscribe header can be added to outgoing mail, and recording the IP address at opt-in is optional. The documentation itself points out that tracking pixels and click tracking have privacy implications under laws such as the GDPR.
Self-hosting listmonk
listmonk ships as a single binary for Linux, macOS, Windows and the BSDs, and its only dependency is PostgreSQL 12 or newer. You can run the binary directly, generating a configuration file and running an install step to create the tables, or use the official Docker Compose file, which runs the install and upgrade steps on start. Upgrades are done with an --upgrade flag that is safe to run repeatedly.
listmonk does not deliver mail itself. You connect one or more SMTP servers or sending providers, and it spreads the queue across them with configurable concurrency and rate limits. Bounces are processed either from a POP3 mailbox or from webhooks sent by Amazon SES, SendGrid, Postmark, Forward Email and Azure Communication Services. The project’s website cites a production instance sending a campaign of more than 7 million emails with modest memory use, which shows how light the application is.
Hosted version
There is no official hosted service. The website lists third-party hosting providers and states that the project has no affiliation with them.
Limitations
listmonk is a list and campaign manager, not a marketing automation suite: there is no visual workflow builder or drip sequence editor in the documentation, and no landing pages. It handles one-way lists only, so it does not replace a discussion list. It has no paid subscription or publishing features of the kind Ghost offers. SQL segmentation is precise but assumes technical skills, and because there is no hosted edition you are responsible for the server, backups and deliverability setup with your sending provider.
Who it suits
listmonk fits developers, small companies and organizations that want to send newsletters to large lists cheaply from their own server and already have, or are willing to set up, an SMTP provider such as Amazon SES. It is a strong replacement for the campaign and list side of Mailchimp. Teams that need automated customer journeys should look at Mautic instead, and writers who want a website and paid subscriptions at Ghost.
Technical details
Self-hosting needs
- PostgreSQL
- SMTP server or sending provider
Built with
- Go
- Vue
GitHub topics
- campaign
- campaign-management
- email-marketing
- email-subscription
- listmonk
- mailing-list
- newsletter
- newsletter-management
- newsletter-software
- self-hosted
- sms-gateway
- smtp
- transactional-emails
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.