All features

A complete local email
testing environment

LocalMail.dev gives you everything you need to test transactional emails during local development. A built-in SMTP server, responsive previews, dark mode testing, raw header inspection, and a persistent inbox that works entirely on your machine.

Get LocalMail.dev for $24

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.

The SMTP server starts automatically when the app launches and stops when you quit. It supports authentication, TLS, and custom port configuration. Works with PHPMailer, Nodemailer, ActionMailer, Python smtplib, Go's net/smtp, and any other SMTP client.

Because the server runs locally, there are no rate limits, no monthly sending caps, and no shared inboxes. Your test emails stay on your machine.

# .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

Responsive email previews across every viewport

Email rendering varies widely across clients and screen sizes. LocalMail.dev lets you switch between desktop, tablet, and mobile views in a single click. Each view renders the email as a real email client would, so you see exactly what subscribers see on their device.

Combine viewport previews with dark mode to test all four combinations before a single email goes out to a real inbox. Desktop light, desktop dark, mobile light, mobile dark, all available locally in seconds.

  • Desktop, tablet, and mobile breakpoints
  • Light and dark mode per viewport
  • Plain-text view for checking fallback content
  • Raw MIME source view per email

Test email dark mode before it ships

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

Major email clients including Apple Mail, Gmail on iOS, and Outlook on macOS all apply dark mode transformations differently. Testing locally before sending means you catch those differences during development, not in a subscriber's inbox.

One-click dark mode toggle
Per-viewport dark rendering
Contrast issue detection
Background color override testing
Light mode preview
Dark mode preview

Raw email and header inspection

Go beyond the rendered preview. LocalMail.dev gives you full access to the raw MIME source, every header field, and the complete SMTP conversation for each captured email. Use this to debug encoding problems, verify Message-ID generation, trace Content-Transfer-Encoding issues, and inspect multipart boundaries.

The header inspector parses structured fields and highlights key values so you can quickly verify From, To, Reply-To, and authentication headers without reading raw text. The SMTP log records the entire conversation between your application and the local server.

MIME source viewer
Header parser
SMTP conversation log
Attachment extractor
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...

More features

Every feature in LocalMail.dev is designed to make local email testing faster and more thorough. No cloud accounts, no rate limits, no shared credentials.

Persistent Inbox History

Emails persist across restarts in a local database. Search by subject, sender, recipient, or body content. Compare output across multiple test runs.

Starred Emails

Star any email to save it to a dedicated Starred view. Quickly revisit important test cases across sessions without losing them in a busy inbox.

Collections

Organise captured emails into named collections. Group password resets, invoices, or welcome sequences together for easier comparison and review.

Tags and Notes

Add custom tags and freeform notes to any captured email. Label messages for quick filtering and record observations without leaving the app.

Copy for AI

Generate a structured markdown snapshot of any email, headers and all, ready to paste into ChatGPT, Claude, or Perplexity for instant debugging help.

Resend via SMTP

Forward any captured email to a real SMTP server with authentication support. Works with Gmail, SendGrid, Postmark, and any custom SMTP endpoint.

Replay to Local Inbox

Re-inject any captured email back through the local SMTP server. Re-trigger your application inbound pipeline without sending a new message.

Native OS Notifications

Get a native desktop notification the moment a new email arrives. Works on macOS, Windows, and Linux without any browser tab needing to be open.

Spam Score Badge

LocalMail.dev reads X-Spam-Score headers and displays a colour-coded badge on every email. Spot deliverability problems at a glance.

Link Extractor

View every URL from the email HTML in a clean list. Copy or open any link directly without clicking inside the rendered preview.

HTML vs Text Diff

Compare the HTML and plain text parts of any multipart email side by side. Verify your plain text fallback is accurate before sending.

Attachment Handling

View, download, and preview email attachments locally. Supports images, PDFs, and common document formats without sending files to any external service.

Custom Port Configuration

Run LocalMail.dev on any port to avoid conflicts with other local services. Fully configurable in the app settings without touching the command line.

Fully Offline Operation

No accounts, no internet, no telemetry, no data ever leaving your machine. LocalMail.dev works completely offline after the initial download.

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 the 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. This gives you an accurate representation of dark mode rendering across the majority of mobile and desktop clients.

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 in a database 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. Supported types include images, PDFs, and common document formats.

Can I run multiple SMTP ports at once?

Yes. LocalMail.dev supports multiple simultaneous SMTP listeners on different ports. This is useful when testing microservices or multi-tenant applications where different services send mail on different ports.

Does LocalMail.dev send desktop notifications?

Yes. LocalMail.dev fires a native OS notification when a new email arrives. Notifications appear through the operating system notification centre on macOS, Windows, and Linux, with no browser tab required.

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. You can move any email into a collection from the email viewer.

Start testing emails locally today.

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

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

Get LocalMail.dev for $24