MyEmail icon macOS Email Client

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

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.

Multi-Account

Gmail via OAuth2 + PKCE and generic IMAP/SMTP with password. Unified Inbox aggregates all account inboxes in one view.

🔍
Full-Text Search

FTS5-powered instant search across all accounts and folders. Supports from:, to:, subject:, is:unread, has:attachment.

📶
IDLE Push

Real-time delivery on INBOX via IMAP IDLE (RFC 2177). STATUS polling on other folders. No polling delay on the mailboxes that matter.

🔌
Offline-Capable

Full read, compose, and search while offline. Actions are queued locally and replayed automatically on reconnect.

Customizable Layout

Wide and Classic layouts. NSToolbar bridge with right-click customization. Per-column width and visibility in the message list.

🔒
Secure HTML Rendering

WKWebView with JavaScript fully disabled and strict CSP. Remote images blocked by default. No tracking pixels.

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.

Built on proven foundations

Stable, auditable open-source libraries. No proprietary cloud dependencies.

Layer Technology
UISwiftUI + @Observable, NSToolbar bridge
PersistenceGRDB.swift (SQLite, WAL, ValueObservation)
Full-text searchFTS5 via GRDB, system SQLite (macOS 15+)
IMAP / SMTPSwiftMail (Cocoanetics) + NWConnection
MIME parsingSwiftEmailParser
HTML renderingWKWebView, JS disabled, strict CSP
OAuth2ASWebAuthenticationSession + PKCE (RFC 8252)
CredentialsmacOS 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.