Skip to content
SPECIFICTION
Get listed

MailHog

github.com

Free plan WebmacOSLinuxAPISelf-hosted
Visit github.com
Spec score 8.0 #12 of 28 in Email Testing Software

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

MailHog Free Open-source email testing tool · MIT license Read 4 Oct 2026 · github.com

Every MailHog plan and price →

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

Alternatives to MailHogAll alternatives →