MailHog
github.com
What it is
MailHog is a free email testing tool for developers. Applications send mail to it over SMTP, after which users can inspect messages in a web interface or retrieve them through a JSON API. The interface displays plain text, HTML or source, supports encoded headers and updates in real time. The API can list, retrieve and delete messages, and download complete messages or individual MIME parts. Messages may also be released to real SMTP servers. MailHog supports ESMTP RFC5321, SMTP AUTH and PIPELINING, and includes a Chaos Monkey feature for failure testing. Storage defaults to memory, with MongoDB and Maildir also available. It can run from the command line, as a daemon, in Docker or on AWS Elastic Beanstalk. Its default SMTP and HTTP ports are 1025 and 8025. In-memory storage limits Elastic Beanstalk deployments to one instance; load-balanced deployments require MongoDB-backed storage. MailHog is released under the MIT license.
Spec sheet
- Purpose
- MailHog is an email testing tool for developers that accepts application mail over SMTP and lets users view messages in a web UI or retrieve them through a JSON API.Read 4 Oct 2026 · github.com
- Deployment
- MailHog can be run from the command line, as a daemon, in Docker, or on AWS Elastic Beanstalk; the deployment guide also documents a SaltStack formula.Read 4 Oct 2026 · github.com
- Integrations
- The project lists Node.js API v2 and PHP API v1/v2 client libraries and provides mhsendmail as a sendmail replacement.Read 4 Oct 2026 · github.com
- License
- MailHog is released under the MIT license.Read 4 Oct 2026 · github.com
- Authentication
- HTTP basic authentication can protect all HTTP requests, including static content and API endpoints, using a password file with bcrypt-hashed passwords.Read 4 Oct 2026 · github.com
- Default ports
- By default, the SMTP server listens on port 1025 and the HTTP server listens on port 8025.Read 4 Oct 2026 · github.com
- Failure testing
- MailHog includes a Chaos Monkey feature for failure testing.Read 4 Oct 2026 · github.com
- HTTP API
- The HTTP API can list, retrieve, and delete messages, and supports downloading complete messages and individual MIME parts.Read 4 Oct 2026 · github.com
- Message release
- Messages can optionally be released to real SMTP servers for delivery.Read 4 Oct 2026 · github.com
- Notable limit
- With in-memory storage, an Elastic Beanstalk deployment can use only a single MailHog instance; load-balanced deployments require MongoDB-backed storage.Read 4 Oct 2026 · github.com
- Platform support
- The README provides installation instructions for macOS, Debian/Ubuntu, FreeBSD, and Docker, and says MailHog runs without installation on multiple platforms.Read 4 Oct 2026 · github.com
- SMTP
- MailHog implements ESMTP RFC5321 and supports SMTP AUTH RFC4954 and PIPELINING RFC2920.Read 4 Oct 2026 · github.com
- Storage
- Message storage can use memory, MongoDB, or Maildir; the default is in-memory storage.Read 4 Oct 2026 · github.com
- Web interface
- The web interface displays messages as plain text, HTML, or source and supports RFC2047 encoded headers and real-time updates using EventSource.Read 4 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Web interface and JSON API for messages
- Supports SMTP AUTH and PIPELINING
- Memory, MongoDB and Maildir storage options
- Free under the MIT license
Limits
- In-memory Elastic Beanstalk deployment permits one instance
- Load-balanced deployment requires MongoDB-backed storage
Who it suits
MailHog suits developers who need to inspect application email during testing or retrieve messages through an API. Teams deploying behind a load balancer need MongoDB-backed storage.
Verdict
MailHog provides message inspection, API access and optional delivery to real SMTP servers at no cost. Its storage choice affects whether an Elastic Beanstalk deployment can use multiple instances.
Where Specifiction places it
- Email Testing Software#12 of 288.0