Listmonk

indie hackersmall businessdeveloper tools

Self-hosted newsletter and mailing list manager. Single Go binary, PostgreSQL, no per-subscriber fees, SMTP-agnostic, with a transactional email API for app-triggered messages

#newsletter#email-marketing#mailing-list#self-hosted#transactional-email#smtp#go

Quick Start

docker compose up -d

Overview

Listmonk is a self-hosted newsletter and mailing list manager that ships as a single Go binary with PostgreSQL as its only dependency. You configure an SMTP provider, point it at your database, and you have a full campaign sending platform with no per-subscriber fees and no third party holding your list.

The resource footprint is low enough to run alongside other services on a $6 VPS. Production instances handling seven million emails exist on hardware that costs a few dollars a month. The multi-threaded SMTP queue handles rate limiting automatically, and because Listmonk works with any SMTP provider, you can use Amazon SES, Postmark, Mailgun, SendGrid, or whatever you trust. Switching providers does not touch your subscriber data.

Beyond newsletters, Listmonk has a transactional email API. If you run a SaaS or web app, you can send password resets, receipts, and triggered notifications through the same infrastructure using a simple POST request. Your marketing campaigns and your app emails share one setup and one bill.

The gaps are real. There are no automation workflows. No drip sequences, no behaviour-based triggers, no “send this email three days after signup” without wiring something external. Bounce processing also has a notable rough edge: bounce type classification (soft vs hard) currently has no effect on how subscribers are actually treated. You get the data but must act on it manually.

If you send newsletters and want to stop paying per subscriber, this is where to start. If you need a visual workflow builder or hands-off list hygiene, a hosted platform is still easier.

Listmonk: Pros & Cons

Pros (The Wins)Cons (The Friction)
Cost:
Free with no per-subscriber fees;
your only costs are hosting and SMTP.
No automation:
No drip sequences or behaviour-based
triggers; campaigns and API only.
Performance:
Go binary with multi-threaded queues;
handles millions of emails on minimal hardware.
Bounce handling:
Bounce type classification exists but
has no effect on subscriber treatment.
SMTP flexibility:
Works with any provider; swap SES
for Postmark without touching your list.
Setup required:
PostgreSQL, SMTP config, reverse proxy;
not a signup-and-send experience.
Transactional API:
Send app emails (receipts, resets)
through the same infrastructure.
Templates:
Go template syntax is powerful but
steeper to learn than drag-and-drop builders.

Use Cases

Specific ways to use Listmonk for your workflow.

01
Send newsletters to a large subscriber list without per-subscriber fees
02
Replace Mailchimp for a technical team that wants full data ownership
03
Send transactional emails (receipts, password resets) from a SaaS app via API
04
Manage multiple mailing lists with SQL-based segmentation

Deployment Strategy

Recommended ways to host Listmonk in your own environment.

docker
self-hosted
binary