10.3k stars · MIT · v1.31.1 (2026-09-05)
Fake SMTP server with a web inbox, spam score and HTML-compatibility report — read the campaign before subscribers do.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A fake SMTP server with a web inbox attached. Point any application's mail settings at it and every message that application tries to send lands in a browser interface instead of a real inbox, where you can read the HTML version, the plain-text version and the raw source, run a spam score against SpamAssassin rules, and check the HTML against a compatibility table for real mail clients.
Why it matters
Listmonk has been on your list since Edition 2 and the honest reason a mailing list gets postponed is rarely the install — it is that pressing send on a real campaign is frightening when you cannot see what arrives. This removes the fear cheaply: point Listmonk at Mailpit, send the entire newsletter, and read it. The Cyrillic that broke, the button Outlook eats, the spam score that would have filed you under Promotions — all visible before anyone real is involved. The second, less obvious use is Grasppy's own transactional mail. Signup confirmations and password resets are the mail path you will never test by hand, and a broken one costs you signups silently, with no error anywhere. Half an hour with this catches both.
- One binary or one container, no configuration, MIT — the lowest-friction entry on this page
- The HTML-compatibility report and the spam score are the two things you genuinely cannot eyeball yourself
- It catches your application's transactional mail as well as newsletters, which is the path that fails quietly
- It is a testing tool and never delivers anything. It tells you about rendering, not deliverability — SPF, DKIM and DMARC with SES or Postmark are still entirely your problem
- The compatibility report is a static rule set, not a real copy of Outlook. Treat it as a strong hint, not a guarantee
- Left running on the public VPS without a password it would expose every message it has caught. Keep it on the Mac, or behind authentication
docker run -d --name mailpit -p 8025:8025 -p 1025:1025 axllent/mailpit # then set your app's SMTP host to localhost:1025 # and open the inbox at http://localhost:8025