Listmonk is a self-hosted newsletter + mailing list manager. Performance and features packed into a single binary. The backend is written in Go and the frontend is in React with Ant Design for UI
listmonk is a free and open-source self-hosted newsletter and mailing list manager. It is designed to be performant and feature-packed within a single binary.
Features:
Mailing List Management: It allows you to manage millions of subscribers across single and double opt-in one-way mailing lists. You can use custom JSON attributes for each subscriber and segment them using SQL expressions.
Bulk Importing: It offers a fast bulk importer capable of processing around 10,000 records per second.
Integration: You can integrate listmonk with external CRMs and subscriber databases using HTTP/JSON APIs or by interacting with its simple table schema.
Transactional Emails: It provides a simple API to send arbitrary transactional messages to subscribers using pre-defined templates. These messages can be sent via email, SMS, Whatsapp, or any other medium through Messenger interfaces.
Templating: You can create powerful and dynamic email templates using the Go templating language. This includes using template expressions, logic, and over 100 functions in subject lines and content. It supports WYSIWYG editing, Markdown, raw syntax-highlighted HTML, and plain text for writing emails.
Performance: listmonk is designed for high performance, demonstrated by sending campaigns of over 7 million emails with minimal CPU and RAM usage. It features multi-threaded, high-throughput, multi-SMTP email queues and offers rate limiting controls.
Analytics: It provides simple analytics and visualizations. You can also connect external visualization programs to its database due to its simple table structure.
Media Management: You can upload images for your email campaigns to the server's filesystem, Amazon S3, or any S3 compatible backend like Minio.
Extensibility: Beyond email campaigns, listmonk allows you to connect HTTP webhooks to send SMS, Whatsapp, FCM notifications, or any other type of message.
Privacy: It includes features to allow subscribers to permanently blocklist themselves, export all their data, and wipe all their data in a single click.
Self-Hosted: As a self-hosted application, you have complete control over your data. It can be installed by downloading a binary for various operating systems or using Docker. The only dependency is a Postgres (version 12 or later) database.
listmonk is licensed under AGPLv3 and its backend is written in Go, while the frontend uses Vue with Buefy for UI.