Email that gets out of your way
A native macOS client built for power users with multiple accounts, large archives, and a need for correctness under load. Inspired by MailMate and Thunderbird. No AI, no telemetry, no cloud.
macOS 15 Sequoia or later · Free & open source
Features
Built for real workflows
Multi-account support, full-text search across 50k+ messages, real-time IDLE push, and a customizable layout — all without phoning home.
Gmail via OAuth2 + PKCE and generic IMAP/SMTP with password. Unified Inbox aggregates all account inboxes in one view.
FTS5-powered instant search across all accounts and folders.
Supports from:, to:, subject:,
is:unread, has:attachment.
Real-time delivery on INBOX via IMAP IDLE (RFC 2177). STATUS polling on other folders. No polling delay on the mailboxes that matter.
Full read, compose, and search while offline. Actions are queued locally and replayed automatically on reconnect.
Wide and Classic layouts. NSToolbar bridge with right-click customization. Per-column width and visibility in the message list.
WKWebView with JavaScript fully disabled and strict CSP. Remote images blocked by default. No tracking pixels.
Design principles
Correct, not clever
Every architectural decision is driven by reliability at scale, not feature count.
-
No UI flicker, no layout jumps Fixed row heights, reserved scrollbar slot, saved scroll position per folder.
-
Optimistic UI with UNDO Local state updates instantly. Every destructive action supports undo to a depth of 20 operations.
-
Bulk operations via UIDSet batching Archive or delete thousands of messages in a single IMAP round-trip, not a for-loop.
-
Concurrent refresh safety Per-account OAuth semaphore prevents Google token rotation from being broken by parallel refresh calls.
-
Swift 6 strict concurrency Actor-isolated services, Sendable records, zero data races by construction.
-
Search < 200 ms on 50k messages SQLite FTS5 with synchronised virtual table. All indexed locally, nothing sent to a server.
Technology
Built on proven foundations
Stable, auditable open-source libraries. No proprietary cloud dependencies.
| Layer | Technology |
|---|---|
| UI | SwiftUI + @Observable, NSToolbar bridge |
| Persistence | GRDB.swift (SQLite, WAL, ValueObservation) |
| Full-text search | FTS5 via GRDB, system SQLite (macOS 15+) |
| IMAP / SMTP | SwiftMail (Cocoanetics) + NWConnection |
| MIME parsing | SwiftEmailParser |
| HTML rendering | WKWebView, JS disabled, strict CSP |
| OAuth2 | ASWebAuthenticationSession + PKCE (RFC 8252) |
| Credentials | macOS Keychain, kSecAttrAccessibleAfterFirstUnlock |
Your data stays on your Mac
MyEmail has no servers, no analytics, and no telemetry. Your email, credentials, and OAuth tokens never leave your device. All communication happens directly between the app and your mail provider over TLS.