New · HTML compatibility checks for 12 email clients

Catch every email.
Inspect every header.

A real SMTP server that captures emails from your dev and staging environments. Real-time inbox, spam scoring, HTML compatibility checks — built for engineering teams that ship email-driven apps.

mailhog.site/inbox/production
Inboxes
Production247
Staging89
QA1342
Local Dev18
Live
Production
Vercel4m
Your deployment is ready
G
GitHub23m
[security] New sign-in
S
Stripe47m
Receipt — $29.00
🔥
🔥 SUPER1h
LIMITED TIME 50% OFF!!!
Spam 8.7
Spam analysis
8.7
/ 5.0 threshold
Spam · reject
Triggered rules
URIBL_BLOCKED+2.5
DMARC_REJECT+2.0
ALL_CAPS_SUBJ+1.2
SUSP_TLD_TK+1.0
Works with everything that speaks SMTP
Node.js
Python
Ruby
PHP
Go
Java
Rails
Django
Laravel
Next.js
Symfony
Spring
Express
Node.js
Python
Ruby
PHP
Go
Java
Rails
Django
Laravel
Next.js
Symfony
Spring
Express
How it works

From signup to first captured email
in under sixty seconds.

01

Create an inbox

Sign up and we generate unique SMTP credentials. No DNS setup, no domain verification, no waiting.

02

Point your app at us

Drop our host, port, and credentials into your environment file. Works with every SMTP-capable framework.

03

Inspect in real time

Send a test email. It lands in your dashboard within a second — fully parsed, scored for spam, and checked for HTML issues.

Features

Everything you need
to debug email confidently.

Real-time inbox

WebSocket-powered updates. New emails appear in under a second — no polling, no refresh.

Spam scoring

Industry-standard rspamd analysis with full rules breakdown. Catch reputation issues before sending.

HTML compatibility

Flags issues across Gmail, Outlook, Apple Mail, Yahoo. Catches Outlook-broken layouts before launch.

Sandboxed preview

Captured HTML renders in a sandboxed iframe. Untrusted content never touches your dashboard.

Multiple inboxes

Separate staging from production from QA. Each gets unique SMTP creds you can rotate any time.

Test automation API

REST endpoints for assertions. Pipe captured emails into your CI to verify flows end-to-end.

Headers inspector

Browse every header — DKIM, SPF, DMARC, Message-ID — formatted for human reading.

90-day retention

Captured emails persist long enough to debug. Auto-cleanup on tier limits keeps storage tidy.

Five-minute integration

Drop in your credentials.
Keep shipping.

import nodemailer from 'nodemailer';

const transporter = nodemailer.createTransport({
  host: 'smtp.mailhog.site',
  port: 2525,
  auth: {
    user: process.env.ENVOY_USER,
    pass: process.env.ENVOY_PASS,
  },
});

await transporter.sendMail({
  from: 'app@yourdomain.com',
  to: 'user@example.com',
  subject: 'Welcome!',
  html: '<h1>Hello there</h1>',
});
Who is this for?

Built for teams that
treat email as production code.

Backend developers

Test welcome emails, password resets, magic links — without spamming real inboxes.

QA engineers

Assert email content in your test suite. Validate links, subjects, and rendering at scale.

DevOps teams

Spin up fresh inboxes per branch or staging environment. Catch regressions before merge.

Frontend developers

Preview email HTML across clients without setting up Litmus. See exactly what Outlook breaks.

Loved by engineers

What teams say after switching.

We caught a Gmail rendering bug in our welcome email five minutes before launch. MailHog paid for itself on day one.

PS
Priya Sharma
Staff Engineer, Lattice

The spam analysis breakdown is the killer feature. We finally understand why our SaaS receipts were going to promotions.

ML
Marcus Lee
Founder, OrderHub

Replaced our homegrown MailHog setup. Real-time updates and per-environment inboxes were what we'd been missing.

EW
Emma Watanabe
DevOps Lead, Stripe-ish

Our QA suite asserts on captured emails now. We caught three broken magic links before they hit prod last quarter.

DO
David Okonkwo
QA Engineer, Acme Corp
Pricing

Simple pricing.
No surprises.

FAQ

Frequently asked questions.

No — that's the entire point. MailHog is a sandbox SMTP server. Whatever address you send to, the email is captured in your inbox and never delivered. This makes it safe to point your dev and staging environments at us.

Stop wondering if your
emails work.

See exactly what your app sends. Catch spam issues before recipients do. Free forever for the first 100 emails a month.