Skip to content
AgentThread
Open Source#email-newsletter#mailing-list#self-hosted#marketing#email-marketing#mailchimp-alternative

Listmonk: Send Email Newsletters to Thousands of Subscribers Without a Mailchimp Bill

A self-hosted newsletter and mailing list manager with a fast bulk-send engine, subscriber import, and a campaign editor, all running on your own server.

AgentThread9 min read
Share

Mailchimp charges $13 per month once your list grows past 500 contacts, $20 per month past 2,500, and the price keeps climbing with every subscriber you add. The list is yours. The contacts came from your work. But the platform treats subscriber count as the pricing dial. Listmonk inverts that model entirely.

Listmonk is an open-source newsletter manager that stores your subscribers in a database you control and routes actual email delivery through a separate sending service you choose. Once it is running, your monthly cost is the price of an SMTP relay (a third-party service that handles the technical work of delivering your emails to recipients' inboxes) and nothing else. Amazon SES, one of the most popular relay options, charges $0.10 per 1,000 emails sent. The project lives at github.com/knadh/listmonk and has 22,551 stars on GitHub.

FactValue
What it isSelf-hosted newsletter and mailing list manager
Built byKailash Nadh and contributors (open-source)
LicenseAGPL-3.0 (free to use)
PlatformsLinux, Docker, any VPS
RequiresA server and an SMTP relay service for delivery
Install methodSingle binary download or Docker
VerdictInstall if you send newsletters and want to pay only for delivery, not per-subscriber storage

What Listmonk actually is

Listmonk is a single Go binary (a compiled program packaged as one file, with no separate runtime to install) that runs a web application and connects to two external systems: a PostgreSQL database (an open-source database used to store all subscriber and campaign records) for storing data, and an SMTP relay for sending. SMTP stands for Simple Mail Transfer Protocol, the standard protocol that governs how email moves across the internet. An SMTP relay is a service that accepts your outgoing messages and handles the work of delivering them to recipients' inboxes, navigating spam filters, and managing delivery across different email providers.

This separation is the core design decision. Listmonk is a list manager and campaign scheduler, not a mail server. It does not send email itself. It composes the message, substitutes each subscriber's name and details into the template, and hands the resulting emails off to your relay. The relay sends them. That architecture means you are never paying Listmonk's vendor for a seat, a subscriber tier, or a send limit. You are paying the relay for the bytes they move.

The relay you choose determines your delivery cost. Amazon SES is $0.10 per 1,000 emails and is the most common option. Postmark, Mailgun, and SendGrid offer similar pricing and are also widely used. For a list of 10,000 subscribers, a monthly newsletter costs $1 in SES charges. For 100,000 subscribers, $10. That cost structure does not exist on Mailchimp or ConvertKit because those platforms own both the list management and the sending infrastructure and bundle them together in the price.

What you get after installing it

The web interface is a browser-based dashboard that covers the full newsletter workflow.

Subscriber management is where you maintain your list. You can import subscribers from a CSV file (a plain text spreadsheet format), manage multiple lists simultaneously, and segment subscribers into targeted groups based on attributes you define. Each subscriber record can carry custom attributes, which lets you personalize campaigns with data beyond just a name. Lists can be configured as public or private, single opt-in or double opt-in.

Double opt-in means that when someone fills out your signup form, Listmonk sends them a confirmation email with a link. They must click that link before they are added to the list. This two-step process reduces spam signups, keeps your list clean, and is required by law in some jurisdictions including the European Union under GDPR (the General Data Protection Regulation, an EU law that governs how personal data like email addresses must be collected and stored). Listmonk handles the confirmation email and the link validation automatically.

Campaign editor lets you write campaigns in HTML (the markup language used to structure web pages, which email clients render the same way a browser renders a website) or plain text. Listmonk ships with a basic template system, so you can define a consistent wrapper (header, footer, unsubscribe link) once and reuse it across every campaign. The unsubscribe link is managed automatically: Listmonk generates it per-subscriber and handles the opt-out when someone clicks it.

Bounce management monitors delivery failures. A bounce occurs when an email cannot be delivered because the address does not exist, the inbox is full, or the server is rejecting messages. Hard bounces (permanent failures like invalid addresses) and soft bounces (temporary failures like a full inbox) are tracked separately. Listmonk can automatically unsubscribe addresses that produce repeat hard bounces, which keeps your list clean and protects your sending reputation with the relay.

Analytics tracks opens, clicks, and bounces per campaign. The data lives in your PostgreSQL database, not on a vendor's servers.

Transactional emails are single-point sends triggered by events rather than sent to a full list. A welcome email triggered by a new signup, a receipt, a password reset notification. Listmonk handles these through the same SMTP relay connection, which means you can use one relay account for both broadcast newsletters and transactional messages.

REST API (application programming interface, a way for software to communicate with other software over the web) gives programmatic access to all of Listmonk's functions. An AI agent running in Cowork, Claude Code, or ChatGPT Work can call the API to add subscribers, create a campaign, and trigger a send without any human involvement. For operators using AI agents to automate content pipelines, this is the integration point. The agent generates the newsletter content, makes an API call to Listmonk to create the campaign, and schedules the send. The whole workflow runs without opening a browser.

The install experience

The fastest path is Docker (a system that packages applications as isolated containers so they run identically on any server). Docker Compose is a tool that reads a configuration file and starts multiple containers together; the official Listmonk Compose file starts Listmonk and a PostgreSQL instance with one command. You need a server running Linux, a VPS (virtual private server, a rented slice of a remote computer you access over the internet) or equivalent host, Docker installed, and about ten minutes.

For operators who prefer a direct install, Listmonk ships as a single binary for Linux. Download the binary, run it once to generate a config file, edit the config file with your PostgreSQL connection details and SMTP relay credentials, and start it. No package manager, no dependency list, no build step.

The configuration that takes the most attention is the SMTP relay connection. You need an account with a relay service (Amazon SES, Postmark, Mailgun, SendGrid, or similar), your SMTP hostname, port, username, and password. Paste those into Listmonk's settings panel, send a test email, and you know whether delivery is working before importing any subscribers.

One honest note on Amazon SES specifically: new SES accounts start in a sandbox mode that only allows sending to verified email addresses. You need to submit a request to AWS to move out of sandbox mode before you can send to your full list. This is an AWS requirement, not a Listmonk limitation, but it catches people who set everything up and then hit the sandbox restriction. The request is a short form and AWS typically approves it within 24 hours.

After setup, importing subscribers is a CSV upload. Name and email are the required columns; any additional columns you include become custom attributes Listmonk stores per-subscriber. A list of 50,000 subscribers imports in a few seconds.

Where it fits and what to compare it to

Mailchimp (mailchimp.com) is the default for most people starting a newsletter. The free tier covers up to 500 subscribers; after that, $13 per month for up to 1,500 contacts, $20 for up to 2,500, with the price increasing at each tier. The interface is polished, the deliverability reputation is strong, and no server knowledge is required. Mailchimp is the right choice if the idea of running a server is not appealing. Listmonk becomes relevant when the per-subscriber pricing starts to visibly affect your margin or when you want the list data in a database you own.

ConvertKit (now rebranded as Kit) starts at $9 per month for up to 300 subscribers and $25 per month for up to 1,000. It has strong automation features and is popular with content creators. The pricing model is the same problem as Mailchimp: the bill scales with your list.

Mautic is a heavier open-source marketing automation platform with broader CRM-style features (CRM stands for customer relationship management, software that tracks contacts, deals, and interactions across a sales or marketing team) including lead scoring, landing pages, and multi-channel campaigns. If you need a full marketing automation suite, Mautic covers more ground. If you need to send newsletters and manage a subscriber list, Mautic is significantly more complex to install and maintain than Listmonk. We have covered Mautic separately at agenthread.co.

The decision is direct. Listmonk is the right tool when you want to stop paying per subscriber, when you want your list data in a database your organization controls, or when you want to automate newsletter sends through an API. It is not the right tool if you want a hosted service, have no tolerance for server administration, or need the visual drag-and-drop editors that platforms like Mailchimp have built over years of product investment.

Verdict

Install it if you send newsletters and have any tolerance for running a server. The combination of no per-subscriber pricing, a clean campaign editor, double opt-in support, bounce management, and a full REST API is a complete newsletter platform. The AGPL-3.0 license (a copyleft open-source license that lets you run the software for free, with the requirement that any modifications you distribute must also be open-sourced) means the software costs nothing. Your entire monthly expense is the relay cost, which at Amazon SES rates is under $2 for a list of 10,000 subscribers.

The realistic friction points: you need a Linux server or a Docker host, and you need an SMTP relay account. Both are straightforward to set up but they are real steps. Operators who have never deployed a web service will spend an hour or two on initial setup. Once it is running, the ongoing maintenance is minimal.

The API is the detail that makes Listmonk particularly useful for AI agent operators. If your content workflow involves an agent that generates or curates newsletter content, Listmonk gives that agent a direct path to schedule and send the campaign programmatically. No manual step in a vendor's web interface, no export-import cycle. The agent writes the content, calls the API, and the newsletter goes out.

For a list of any meaningful size, the math eventually favors self-hosting. At 10,000 subscribers, Mailchimp charges $100 per month or more. Listmonk on a $5 server with Amazon SES costs less than $3 per month total. The gap only widens from there.

Related posts