How live email capture works
When your application sends an email through MailHog's SMTP server, the message is instantly parsed, stored, and pushed to your dashboard via Server-Sent Events (SSE). There's no polling interval — the email appears the moment it hits our server.
This is critical for development workflows where you need to verify email content in real time. Whether you're testing a password reset flow, a magic link, or a transactional receipt, you see the result immediately without switching tabs to check a separate inbox.
What you see for every captured email
Full HTML preview
Rendered in a sandboxed iframe — see exactly what your users will see.
Plain text version
Side-by-side with HTML to verify multipart fallback.
Header inspector
Every header: From, To, Subject, DKIM, SPF, DMARC, Message-ID.
Attachments
Download and inspect every attached file.
Spam score
Instant rspamd-compatible analysis with triggered rules.
HTML compatibility
Client-by-client rendering warnings for 12+ email clients.
Built for developer workflows
The real-time inbox is designed for the way developers actually work. You keep the MailHog dashboard open in one tab while iterating on email templates in another. Every time you trigger an email from your app — whether it's a local dev server, a staging deployment, or a CI pipeline — the result appears instantly.
Unlike traditional email testing where you forward to a Gmail address and wait, MailHog's live capture means you're testing at development speed, not email-delivery speed.
Technical details
- Server-Sent Events (SSE) for real-time push — no WebSocket complexity
- Full MIME parsing with
mailparser— handles multipart, attachments, inline images - Messages persisted to PostgreSQL with full-text search capability
- Inbox-level access control — each inbox has unique SMTP credentials
- Email list supports search, filtering by subject/sender, and bulk operations
Try the real-time inbox
Sign up free and send your first test email in under 60 seconds.