finds.dev← search

// the find

mailhog/MailHog

★ 16,172 · Go · MIT · updated Feb 2024

Web and API based SMTP testing

MailHog is a disposable SMTP server with a web UI for catching outgoing email during development, so you can verify what your app sends without hitting a real mail server. It's aimed at developers who need to eyeball or API-fetch test emails locally rather than configure a real SMTP relay in dev.

Single static Go binary with zero runtime dependencies, so it drops into a dev VM or CI container trivially. Implements real SMTP (RFC5321, AUTH, PIPELINING) rather than a stub, so it behaves like an actual mail server your app is talking to. The release/forward feature lets you pass a caught message on to a real SMTP server, useful for manually checking final deliverability. Jim (the chaos monkey) lets you simulate SMTP failures and slow connections, which is genuinely useful for testing retry logic.

Last push is Feb 2024 and the project has effectively been in maintenance-only mode for years — the vendor directory still carries old-style GOPATH vendoring, a strong signal the build tooling hasn't been modernized. In-memory storage is the default, so a restart silently drops all caught mail with no warning. MongoDB support is the only persistence option and MongoDB is an odd, heavy dependency to pull in just to keep test emails around. No built-in multi-user or namespace isolation, so running it as a shared team instance means everyone's test emails land in the same inbox.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →