[00] FEATURES

A complete local email
testing environment.

Everything you need to test transactional emails during local development. SMTP, previews, dark mode, raw headers works entirely on your machine.

Get LocalMail.dev $14.95

[01] SMTP SERVER

Built-in local SMTP server

LocalMail.dev runs a real SMTP server on localhost:1025. Point any framework or mail library at that address and every outgoing email is intercepted instantly. No relay, no internet, no configuration beyond a hostname and port.

Works with PHPMailer, Nodemailer, ActionMailer, Python smtplib, Go's net/smtp, and any other SMTP client. No rate limits. No monthly caps. No shared inboxes.

# .env (Laravel)
MAIL_MAILER=smtp
MAIL_HOST=localhost
MAIL_PORT=1025
MAIL_ENCRYPTION=null
SMTP server running
localhost:1025 · accepting connections
SMTP LOG
Connection from 127.0.0.1
220 LocalMail SMTP
EHLO myapp.test
250 OK
250 OK
Message received (4.2 KB)
DESKTOP · 600PX
MOBILE
DESKTOP · DARK MODEACTIVE

[02] PREVIEWS

Responsive previews across every viewport

Switch between desktop, tablet, and mobile views in a single click. Combine with dark mode to test all four combinations before a single email goes out.

Desktop, tablet, and mobile breakpoints
Light and dark mode per viewport
Plain-text fallback view
Raw MIME source view

[03] DARK MODE

Test email dark mode before it ships

Dark mode support in email clients is inconsistent. LocalMail.dev includes a one-click toggle so you can check contrast ratios, verify background overrides, and catch broken styles before any email leaves your machine.

Apple Mail, Gmail on iOS, Outlook on macOS all apply dark mode differently. Catch those differences during development, not in a subscriber's inbox.

One-click toggle
Per-viewport rendering
Contrast detection
Background override testing
LIGHT MODE PREVIEW
DARK MODE PREVIEW

[04] INSPECTION

Raw email and header inspection

Full access to the raw MIME source, every header field, and the complete SMTP conversation for each captured email. Debug encoding problems, verify Message-ID generation, trace Content-Transfer-Encoding issues.

MIME source viewer
Header parser
SMTP conversation log
Attachment extractor
Headers MIME SMTP Log Attachments
MIME-Version: 1.0
Date: Tue, 28 Apr 2026 10:14:22 +0000
From: [email protected]
To: [email protected]
Subject: Welcome to MyApp!
Content-Type: multipart/alternative;
    boundary="--_NmP-4f3b812c"

----_NmP-4f3b812c
Content-Type: text/plain; charset=utf-8

Hi Alex, thanks for joining...

[05] ALL FEATURES

More features

No cloud accounts, no rate limits, no shared credentials.

Persistent Inbox History

Emails persist across restarts. Search by subject, sender, recipient, or body content.

Starred Emails

Star emails to save them to a dedicated view. Revisit important test cases across sessions.

Collections

Organise captured emails into named collections. Group by feature, date, or email type.

Tags and Notes

Add custom tags and freeform notes to any captured email for quick filtering.

Copy for AI

Generate a markdown snapshot of any email, ready for ChatGPT, Claude, or Perplexity.

Resend via SMTP

Forward any captured email to a real SMTP server. Works with Gmail, SendGrid, Postmark.

Replay to Local Inbox

Re-inject any captured email back through the local SMTP server without sending a new one.

Native OS Notifications

Get a native desktop notification the moment a new email arrives on macOS, Windows, or Linux.

Spam Score Badge

Reads X-Spam-Score headers and displays a colour-coded badge on every email.

Link Extractor

View every URL from the email HTML in a clean list. Copy or open any link directly.

HTML vs Text Diff

Compare HTML and plain text parts side by side. Verify your fallback is accurate.

Attachment Handling

View, download, and preview email attachments locally. No files sent to external services.

Custom Port Configuration

Run LocalMail.dev on any port to avoid conflicts with other local services.

Fully Offline Operation

No accounts, no internet, no telemetry. Works completely offline after the initial download.

[06] FAQ

Questions about LocalMail.dev features

Does the local SMTP server require any configuration?
No. LocalMail.dev starts the SMTP server automatically on port 1025 when the application launches. Set your framework's mail host to localhost and port to 1025. No authentication is required by default. Custom ports can be set in app preferences.
Which email clients does dark mode testing simulate?
LocalMail.dev renders emails in a browser-based renderer that respects prefers-color-scheme media queries, which is how Apple Mail, Gmail on iOS, and other modern clients apply dark mode.
Can I search or filter captured emails?
Yes. The persistent inbox allows you to search by subject line, sender address, recipient address, or body content. Emails are stored locally and remain available across application restarts until you clear them.
Does LocalMail.dev support email attachments?
Yes. LocalMail.dev captures and displays email attachments. You can view, preview, and download attachments directly from the local inbox.
Can I run multiple SMTP ports at once?
Yes. LocalMail.dev supports multiple simultaneous SMTP listeners on different ports, useful when testing microservices or multi-tenant applications.
Does LocalMail.dev send desktop notifications?
Yes. A native OS notification fires when a new email arrives. Notifications appear through the OS notification centre on macOS, Windows, and Linux.
What are collections and how do I use them?
Collections are named groups you can assign captured emails to. They appear as filter tabs in the inbox, letting you organise test runs by feature, date, or email type.

Start testing emails locally today.

One-time $14.95 purchase. No subscriptions. Works completely offline.

macOS, Windows, and Linux. Up to 3 machines. 14-day refund policy.

Get LocalMail.dev $14.95