WhatEver Mail
A local SMTP email capture tool built for developers. Ever wished you could test your app's email flow without signing up for a service, worrying about rate limits, or sending real emails? WhatEver Mail runs on your machine — capturing every email locally, the moment it's sent.
Your local inbox. Ever ready.
Point any SMTP-capable app at localhost:1025 and
watch your emails appear instantly. No accounts. No cloud. No rate limits.
Ever-present, ever-reliable, 100% offline.
Test email flows
Send password resets, notifications, or receipts — catch them all without leaving your machine.
Debug templates
Inspect HTML rendering, check headers, and view raw source side by side.
Ship with confidence
Verify every email looks right before it reaches a real inbox.
Installation
Download the build for your platform and run it. No installer configuration required — WhatEver Mail is ever-ready out of the box.
macOS note: On first launch, right-click → Open if Gatekeeper blocks it (unsigned build).
Linux note: chmod +x WhatEverMail.AppImage then run it.
Quick Start
From download to catching your first email in under two minutes. Three steps — that's everything you need.
Launch WhatEver Mail
Open the app. The SMTP server starts automatically on localhost:1025.
You'll see the green SMTP :1025 listening indicator in the title bar and status bar.
Point your app at localhost:1025
Point any SMTP client at localhost:1025 — no authentication, no TLS.
Test with a quick curl or wire up your app's mailer. Works with every SMTP client.
# Send a test email in one line curl --url 'smtp://localhost:1025' \ --mail-from 'app@yourproject.dev' \ --mail-rcpt 'user@example.com' \ -T - <<EOF From: app@yourproject.dev To: user@example.com Subject: Welcome! Ever glad you joined. Content-Type: text/plain Hello from WhatEver Mail! EOF
const transporter = nodemailer.createTransport({ host: 'localhost', port: 1025, secure: false, ignoreTLS: true, }); // Send as normal — WhatEver Mail catches it await transporter.sendMail({ from: 'app@yourproject.dev', to: 'user@example.com', subject: 'Welcome! Ever glad you joined.', html: welcomeHtml, });
Send a test email — watch it appear
Trigger any action in your app that sends email. The message appears in WhatEver Mail within milliseconds. Click it to open the preview — HTML rendered, headers parsed, source available. Every detail, instantly.
Features
HTML Email Preview
WhatEver Mail renders HTML emails in a sandboxed iframe — exactly how a real email client would show them. Every style, every image reference, every layout element.
- DOMPurify sanitisation removes malicious scripts before rendering
- All external network requests are blocked — no tracking pixels load
- Renders in full isolation so nothing escapes into the browser page
- Automatically falls back to Text tab if no HTML part is present
Whatever you imagine —
you can build it. You can send it.
Ever notice how the best ideas start with a single message? Just pure, ever-present possibility.
Four views for every email
Switch between four tabs with a single click — each gives you a different perspective on the same message.
- HTML — Rendered preview in sandboxed iframe
- Text — Plain text in IBM Plex Mono, with line wrapping
- Source — Raw MIME source, complete and unmodified
- Headers — Parsed key/value table, keys highlighted in accent colour
Instant search
Search your inbox in real time. Every keystroke filters across sender, recipient, and subject simultaneously.
- Searches From, To, and Subject fields
- Instant filtering — no delay, no button to press
- Clear button resets search with one click
- Works in both Inbox and Trash views
Delete & Trash
Emails move to Trash when deleted — they're not gone immediately. Trash is cleared automatically after 15 days, or you can empty it manually.
- Click the trash icon in the preview header to delete an email
Deletekey (or⌘+Backspaceon macOS) deletes the selected email- Multi-select with
⌘/Ctrl+ClickorShift+Click - Restore emails from Trash back to Inbox any time
- Trash view shows emails older than 15 days will auto-delete
5 accent themes
Switch the app's accent colour instantly from the Theme picker in the sidebar. Your preference is saved and persists across restarts.
- Affects: selected rows, tab underline, badges, SMTP pill border
- Surfaces (backgrounds) follow OS light/dark mode — themes only change the accent
- Click any dot in the sidebar to switch; takes effect instantly
SMTP status & settings
The SMTP server starts automatically when the app launches. Its status is always visible in the title bar and status bar.
- Green pill =
SMTP :1025— server is listening - Red pill = server stopped or port conflict
- Open Settings (⚙) to change the port number
- Click Restart to apply the new port without restarting the app
- Port setting persists across app restarts
FAQ
1025 (no root privileges needed, unlike port 25).
You can change it in Settings (⚙ → SMTP Port → Restart). The new port is saved and persists across restarts.
1026 or 2525,
then click Restart.
-
→
macOS:
~/Library/Application Support/what-ever-mail/emails.db -
→
Windows:
%APPDATA%\what-ever-mail\emails.db -
→
Linux:
~/.config/what-ever-mail/emails.db
⌘Q.
host at localhost and port at 1025,
with authentication and TLS disabled.