SMF·AIRMAIL
Can a prompt replace Airmail?
Email — email clients and hosted mail
Exhibit tracking slip
Verdict
Airmail's identity is configurability: custom actions, custom gestures, and sending a message on to whatever app you use next. Rebuilding that as a scriptable action bar — pipe a message to a shell command or a webhook — is a small and genuinely powerful design. The IMAP client underneath it is not small. Resumable sync, correct threading, flags that survive a reconnect and HTML rendering that cannot phone home add up to a fortnight before the interesting part starts.
Exhibit A — The prompt
Received on31.07.2026Build a desktop email client whose defining feature is that every action is user-scriptable.
Account: one IMAP and SMTP account, credentials in the OS keychain, both password and OAuth authentication supported.
Sync: incremental IMAP with UIDVALIDITY and UIDNEXT tracking, resumable after a dropped connection, headers and bodies indexed in SQLite with full-text search. A visible sync status per folder.
Reading: standards-based threading via References and In-Reply-To, folders and labels, archive, drafts saved server-side, attachments. HTML rendered in a sandbox with remote images and remote CSS blocked by default and an explicit per-sender allow.
The action system, which is the point of this build. Actions live in a directory as small executable scripts plus a manifest describing the name, the key binding, and whether the action applies to a message, a thread or a selection. When invoked, the runner passes the message to the script as JSON on stdin: sender, recipients, subject, date, plain-text body, HTML body, attachment filenames and their temporary paths, folder, flags, and the message ID. The script's exit status decides what happens next, with a small documented set: success and do nothing, success and archive, success and mark read, failure and show this error.
Ship five example actions, each in a different language or shape so the pattern is obvious: append the message to a Markdown file; POST it to a webhook; create a task in a local to-do file; save all attachments to a dated folder; open the sender's address in a search of an existing local archive.
Safety around actions: scripts run with a timeout, their stderr is captured and shown, and a first run of any new or modified action requires explicit confirmation showing the script's path and a hash. An email client that silently executes changed scripts is a security problem, not a feature.
Also build: a keyboard binding editor, per-folder default actions, and an export of the whole mailbox as mbox.
Out of scope: mobile apps and push, running a mail server, team or shared inboxes, and bundled service integrations. The point is that the user writes the integration in ten lines, not that the client ships fifty.
Opening prefills the prompt — press enter to run it.
Exhibit B — What you lose
- B.1 the macOS and iOS apps and their push notifications
- B.2 the maintained integrations with third-party services
- B.3 years of compatibility work against providers that bend the IMAP spec
- B.4 sync of read state and flags across devices
Prior art
Exhibit C — Why people still pay: mail infrastructure, integrations, and client polish
Because providers implement IMAP differently and badly, and a client that works against all of them is the accumulated result of thousands of bug reports you would otherwise file yourself.
Questions
Can I bring my Airmail configuration across?
Mail is on the server, so nothing moves there. Custom actions and gestures are stored in Airmail's own preferences and do not export, but they are usually short enough to re-describe as scripts in a few minutes each.
Is a scripting hook actually safer than bundled integrations?
It is more honest about what is happening. A bundled integration holds a token for a third-party service inside a mail client; a script runs on your machine with your own credentials and you can read it. The prompt requires confirmation on any changed script precisely because that power cuts both ways.
What does it cost to run?
Nothing beyond the mail account you already have. Everything runs locally, and the only ongoing cost is disk for the local index of your mailbox.
What is the one thing that does not survive the rebuild?
Provider quirks handled for you. Every large mail provider implements IMAP with its own deviations, and Airmail has absorbed those over a decade. Your client will work perfectly with one provider and produce duplicate threads on another, and finding out why is your problem now.
Related tools
Receipt