Stacks / Email

Easy

Mailpit

SMTP you catch. Mailpit is MIT — Mailtrap without the hosted inbox seat.

The problem

Mailtrap is a hosted fake SMTP inbox for staging mail. You wanted to catch messages on a box you run. Mailpit is MIT (axllent/mailpit; last push 22 Oct 2026) — an SMTP server plus a web UI and an API. This is not Mailtrap's every QA, email-API, or deliverability SKU. Production send stays on /replace/postmark (Plunk / Resend). A mailbox you live in stays on /replace/gmail. MailHog is unmaintained — not the published path.

Replaces

Mailtrap

Replace Mailtrap

Estimated SaaS saved

$1,200

per year, small team, before lock-in

Start on Railway

Plunk if this is production send, not a catch inbox

Sponsor this stack Tip jar

Placeholder: Mailpit (official image) plus a volume if you persist messages. Bind HTTP to 0.0.0.0:$PORT. SMTP on the documented port. No one-click template in this repo yet — Start on Railway. Production send stays on /stacks/plunk-newsletter.

The stack

Cost table

You stop payingTypical / yearSelf-host instead
Mailtrap / hosted test inbox (small team)$1,200Mailpit

Agent setup prompt

Replace Mailtrap with Mailpit (https://mailpit.axllent.org).

- Official image. Point the app's SMTP at Mailpit. Open the UI and confirm one message. Do not claim Mailtrap QA suites or production deliverability.
- MailHog is unmaintained — do not publish it as the path. Production send stays on /stacks/plunk-newsletter.
- Write AGENT_PROMPT.md.

Also as markdown: /stacks/mailpit-smtp.md

FAQ

Is this Postmark?
No. Production transactional send stays on /replace/postmark. This page is a staging catch inbox.
Why not MailHog?
MailHog is unmaintained. Mailpit is the MIT catcher that still gets commits.
Are these free?
Mailpit is MIT. You pay hosting. Template users never pay c17.