Inspectors
Mail catcher
Capture and inspect mail sent from local apps.
How it works
Stratos runs an SMTP server on 127.0.0.1:1025 (configurable in Settings → Ports). Point your app at it and every message is captured to the inbox instead of being sent. No external service, no credentials, no queue to inspect.
Configuring your app
Laravel
In .env:
MAIL_MAILER=smtp
MAIL_HOST=127.0.0.1
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Symfony
In .env:
MAILER_DSN=smtp://127.0.0.1:1025
WordPress
Install the WP Mail SMTP plugin and set the SMTP host to 127.0.0.1 with port 1025. No auth.
The inbox
Open the Mail tab in the main window. Every captured message is shown with:
- From, To, Subject, Date
- HTML preview (rendered in a sandboxed
WKWebView) - Text body, if the message is multipart
- Full headers
- Raw source, for debugging encoding issues
Search
The search bar matches against subject, from, to, and every header value — including Cc, Bcc, Message-ID, and Reply-To. The body and HTML body are also searched. Results update as you type.
Retention
The on-disk JSON store is capped at 500 entries. When the cap is exceeded, the oldest entries are pruned. The cap is enforced on every load, so a stale mail.db from a previous version with more than 500 entries will be trimmed on the next launch.
Clearing the inbox
Right-click in the inbox for Mark all read, Delete, and Delete all. The unread count in the sidebar updates immediately.