Email marketing for small lists: a drag-and-drop campaign editor, signup forms and landing pages, simple automations, and a free tier generous enough that many senders never pay.
Build me email marketing that replaces MailerLite — and be honest about the verdict. Two things make this ALMOST. **The free tier is generous enough that many senders never pay**, so there may be no money to save at all — check yours first. And **an editor whose output survives Outlook** is a genuinely hard rendering problem that consumes more time than the rest of the application. If you write in Markdown and use one template, this is a fortnight. If colleagues need to drag blocks around, it is not. STACK - Node 20+ with Fastify, server-rendered HTML - SQLite through better-sqlite3, WAL mode - MJML for the rendering, which exists precisely because hand-writing email HTML is miserable - A sending provider through its API - Caddy in front THE EDITOR PROBLEM - Outlook for Windows renders with the Word engine: no flexbox, no grid, no background image, unreliable padding, and its own idea of spacing. It is the constraint that decides every design - MJML compiles a sane block syntax into the table soup that works everywhere. Use it rather than fighting the problem yourself - A block editor is then a tree of MJML components with a preview. That is buildable — but the preview must be honest, which means rendering in real clients, not in a browser - Test sends to real addresses across the main providers before every template is finished, and keep a checklist: images blocked, dark mode, Outlook, phone width, plain text - If nobody else edits your emails, skip all of this and write one good template. That decision halves the project THE DATA MODEL - subscribers: id, email, fields_json, status, confirmed_at, unsubscribed_at, bounced_at, complained_at, source, consent_text, consent_at, ip_hash - groups and segments, the second as saved rules evaluated at send time - campaigns: id, subject, preheader, mjml_source, body_html, body_text, status, scheduled_for, sent_at, recipient_count - deliveries: id, campaign_id, subscriber_id, status, sent_at, opened_at, bounced_at, bounce_kind, complained_at — one row per person per campaign, written before sending, which makes a resume exact and a duplicate impossible - automations and automation_sends, so nobody gets a step twice - forms and landing_pages, which are just pages with a signup on them - suppression: email_hash, reason, at — global and permanent SENDING - The worker claims a batch with a lease and resumes exactly after a crash - Rate limited to what the provider accepts, with backoff on throttling - A test send required before any campaign, and a confirmation showing the recipient count and the segment DELIVERABILITY - SPF, DKIM and DMARC on your own sending subdomain, written out in the README - Warm slowly: hundreds, doubling over weeks. A new domain sending ten thousand on day one stays in spam - Hard bounces suppressed immediately, complaints permanently and never mailed again - Watch the complaint rate daily; above a fraction of a percent the provider suspends you - Suppress anyone who has not opened anything in a very long time — a list of dead addresses is what destroys reputation THE LIST - Double opt-in, embeddable forms, honeypot, rate limit per address hash - The consent sentence stored with its timestamp exactly as shown - Import with a dry run and a declaration of where the addresses came from - One-click unsubscribe with no login, plus the List-Unsubscribe headers REPORTS - Sent, delivered, opened, clicked, bounced, unsubscribed, per campaign and over time, computed at query time - Open rate labelled as unreliable; clicks are the number that means something OPERATIONS - .env: DATABASE_PATH, BASE_URL, PROVIDER credentials, FROM_ADDRESS, SESSION_SECRET, HASH_SALT - Migrations on boot, each once; nightly backup off the machine — the list is the asset - Health endpoint reporting bounce and complaint rates WHAT MATTERS MOST Deciding whether you need the drag-and-drop editor. If you do not, this is small and pleasant. If you do, budget most of the project for making its output survive Outlook.
What you lose
- Deliverability at a price that is hard to beat by renting a relay yourself
- A drag-and-drop editor whose output survives Outlook, which is a genuinely hard rendering problem
- Automation builder, landing pages and pop-ups without a deploy
- Subscriber management for people who will never open a terminal
- Bounce and complaint handling that keeps the sending domain clean without supervision
If you would rather not build
- Brevo — paid, similar bracket, includes SMS
- Buttondown — paid, minimal, aimed at writers
What it costs
read from their page 15 Aug 2026
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $10/mo | — | 15 Aug 2026 |
Their pricing page is where these came from. Seeing a different price? Tell us.
The escape hatch
open source · no votes, no paid placement
listmonk
$0Newsletter and mailing list manager with subscriber import and bounce processing.
knadh/listmonkfree · open source
Mautic
$0Marketing automation with campaigns, segments and lead scoring.
mautic/mauticfree · open source
Why this verdict
our own opinion · changed only by a person
44/100
Verdict kinda at 44: at a small list size SES plus this layer costs a couple of dollars a month, and the build is a weekend. What stays hard is template rendering across mail clients, and the free tier means many people would be rebuilding something they were not paying for.
History
tracked since 9 Aug 2026 · nothing is ever overwritten
Questions about MailerLite
answered from the record above
Is MailerLite free?
No — the plan we track is $10 a month. Growing Business from about $10/month at 500 subscribers; a free tier covers 1,000 subscribers and 12,000 monthly emails.
Can you replace MailerLite by building your own?
ALMOST. A weekend of work, and real gaps remain. Replacement score 44 out of 100, build time a weekend. Read what you lose before you decide.
How much does MailerLite cost?
$10 a month on Growing Business — $120 a year. Recorded 9 Aug 2026.
What do you lose by replacing MailerLite?
Deliverability at a price that is hard to beat by renting a relay yourself; A drag-and-drop editor whose output survives Outlook, which is a genuinely hard rendering problem; Automation builder, landing pages and pop-ups without a deploy; Subscriber management for people who will never open a terminal; Bounce and complaint handling that keeps the sending domain clean without supervision. If any of those carry weight for you, keep paying.
Is there an open-source alternative to MailerLite?
Yes: listmonk, Mautic. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

