Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Apple Mail extensibility (MailKit)

SithBit ships integrations for the hosts that let a third party extend them — the Thunderbird extension, the Outlook add-in, and the Chrome extension. Apple Mail is the most-used mail client by a wide margin, so it is worth recording exactly what its extension surface allows, and why there is no Apple Mail client here today.

The supported path: MailKit

Since macOS 12 (Monterey), the only sanctioned way to extend Apple Mail is a MailKit app extension — a bundle shipped inside an ordinary macOS app that Mail loads out of process over XPC, so it cannot crash Mail or read its internals. The surface is exactly four extension points, and nothing more:

Extension pointWhat it can do
MEComposeSessionHandlerInspect and annotate an outgoing message; add headers; block the send
MEMessageActionHandlerAct on an incoming message — move, flag, set a colour
MEContentBlockerBlock remote content (scripts, styles, images) in the message view
MEMessageSecurityHandlerSign, encrypt, and decrypt message bodies — the S/MIME-style crypto hook

The old mail bundles — undocumented plug-ins that loaded straight into Mail’s own process and could do essentially anything — were removed entirely in macOS 14 (Sonoma). MailKit is now the only path, on macOS.

Why there is no Apple Mail client (yet)

The interesting hook for SithBit is MEMessageSecurityHandler: it is the defined place to plug in a custom decryption scheme, so a MailKit extension could in principle unseal a SithBit sealed body inline as Mail renders it. Two constraints keep it off the near-term roadmap:

  • macOS only. There is no MailKit on iOS or iPadOS — the Apple client that dominates the mobile open statistics is not extensible at all. The iPhone story stays the standalone webmail app, not a Mail extension.
  • No arbitrary UI. A MailKit extension gets the four points above, not the free rein the old bundles had. SithBit’s other clients share one rich account-management pane (webclients/shared/); Apple Mail cannot host that pane, so it would be a separate, much thinner integration — decrypt-on-display and little else.

In short. A read-only “unseal my SithBit mail in Apple Mail on the Mac” extension is technically possible via MEMessageSecurityHandler; a full-featured Apple Mail client, or anything on iPhone/iPad, is not.

See Apple’s MailKit documentation for the framework reference and Build Mail app extensions for the extension-point walkthrough.