Show HN: Qmail a local mail client with CLI tools for your agent A developer released Qmail, a local mail client for Windows with new, untested macOS and Linux builds, that ships a `qmail` command-line tool letting AI agents and scripts read, search, send and file mail across all IMAP/SMTP, Microsoft 365/Outlook and Gmail mailboxes. Qmail stores everything on the user's PC with no server and no per-call API cost, and every command supports `--json` output, non-zero exit codes with `{"error": "..."}` and piped-in IDs, with search running on a local full-text index over the whole mailbox. The Windows installer is not code-signed and the macOS build is not signed with an Apple developer certificate, so users must bypass OS warnings and, on macOS, run `xattr -cr /Applications/Qmail.app` before opening it. A fast, Gmail-style mail client for Windows with new macOS and Linux builds , plus a command-line tool qmail that AI agents and scripts can use to read, search and send mail across all your mailboxes. - Works with any IMAP/SMTP mailbox, Microsoft 365 / Outlook, and Gmail. - All mailboxes in one inbox, with unread counts on the taskbar. - Everything is stored on your PC. Qmail has no server and sends nothing anywhere except to your own mail providers. Reading, searching, sending, filing, attachments, contacts and sorting rules are all available from the terminal. Installing Qmail puts qmail on your PATH; it works on the same local mail store as the app, across every mailbox at once, with no API keys and no cost per call. qmail list --unread --json what is new, in every mailbox qmail search "from:stripe has:attachment newer than:30d" --json qmail read 1234 --json text, html, attachments qmail send --from you@example.com --reply-to 1234 --body "Thanks " qmail senders -n 50 who fills the inbox qmail move 1234 1235 --to Money/Receipts --create also: archive, trash, mark qmail rules add --from stripe.com --move Money/Receipts --read qmail download 1234 -o ./invoices save attachments - Agent friendly : every command takes --json , errors exit non-zero with {"error": "..."} , ids can be piped in on standard input, and qmail --help documents everything. - Whole mailbox, not a sample : search runs on a local full-text index, so an agent can go through tens of thousands of messages in seconds. - Ready-made prompts : Things to ask an agent things-to-ask-an-agent has copy-able requests for sorting an inbox, setting up rules, a morning briefing, unsubscribing and more. The full reference is under Command line command-line-for-agents-and-scripts . | Reading pane beside the list | Search as you type | |---|---| The mail in these screenshots is made up. You can open the same demo yourself with npm run demo see Build from source build-from-source . I was frustrated with Outlook, and I never liked how Thunderbird looks. It felt clunky, and it had no good way to see all my mailboxes in one place. Neither one gave me a free, easy command-line tool either. That is the part I wanted most: now an AI agent can search my mail, clean it up, or do whatever else I ask across every mailbox, for free, on my own machine. So Qmail is two things that share one local mail store: an app that works the way Gmail does, and a CLI built for agents. Qmail is developed and tested on Windows. macOS and Linux builds are produced automatically and are new and untested ; please report problems. 1. Download Qmail-Setup-x.y.z.exe from the Releases page https://github.com/mattgauzza/quickMail/releases/latest or build it yourself, see below . 2. Run it. It installs for your Windows user only, with no administrator prompt, and adds Start menu and desktop shortcuts. 3. Windows may show a "Windows protected your PC" notice because the installer is not code-signed. Choose More info → Run anyway . The first time the app starts it also makes the qmail command available in any new terminal window the earlier name, quickmail , still works . Nothing else Node.js, etc. needs to be installed. 1. Download Qmail-x.y.z-mac-arm64.dmg from the Releases page, open it, and drag Qmail to Applications. 2. The app is not signed with an Apple developer certificate, so macOS refuses to open it at first. Run this once in Terminal, then open the app normally: xattr -cr /Applications/Qmail.app 3. Passwords are kept in the macOS Keychain. The qmail command is placed in ~/.local/bin the first time the app starts; add that folder to your PATH if it is not there already. Automatic updates do not work on macOS Apple only allows them for signed apps ; download the new .dmg to update. Intel Macs are not built yet. - Debian / Ubuntu : download Qmail-x.y.z-linux-amd64.deb and install it with sudo apt install ./Qmail- .deb . The qmail command is placed in ~/.local/bin on first start. - Any distribution : download Qmail-x.y.z-linux-x86 64.AppImage , make it executable chmod +x , and run it. The AppImage updates itself; it does not provide the qmail command. Passwords are kept in the desktop keyring GNOME Keyring, KWallet or another Secret Service provider , which must be running. On Windows and the Linux AppImage, updates are automatic. Qmail checks this project's GitHub releases when it starts and every half hour, downloads a new version in the background, and shows a small green download icon in the top bar. Click it to restart into the new version, or just close the app and it updates then. Version 0.1.0 predates this; install 0.2.0 or later once by hand. To remove Qmail, use Settings → Apps → Installed apps . Your mail store is left in place; delete the .quickmail folder in your user folder to remove that too. On first start, Qmail offers to bring over your Thunderbird accounts and contacts. You can also copy the passwords Thunderbird has saved they go into Windows Credential Manager . Thunderbird itself is not changed. 1. Click + next to Mailboxes in the sidebar. 2. Enter your email address, your name, and your password. 3. Check the two server fields. Qmail guesses them from your address; your mail provider's help pages list the right values "IMAP server" and "SMTP server" . Ports 993 and 465 are assumed; add a different one after a colon, for example smtp.example.com:587 . 4. Click Add mailbox . The mailbox is only kept if the sign-in works. Some providers Yahoo, iCloud, and Gmail if you do not use Google sign-in do not accept your normal password in mail apps. Create an "app password" in that provider's account security settings and use that instead. Click + , enter the address, tick Microsoft 365 / Outlook account , and click Add mailbox . A Microsoft sign-in window opens; no password is typed into Qmail. Note: Qmail does not yet have its own Microsoft app registration. By default it signs in using the public client ID that Mozilla Thunderbird publishes for the same purpose, so Microsoft's consent screen names Thunderbird. To use your own registration instead, create one in the Azure portal public client, redirect URI https://localhost , delegated permissions IMAP.AccessAsUser.All , SMTP.Send , offline access and set the QUICKMAIL MS CLIENT ID environment variable to its application ID. Google requires every mail app to identify itself, and does not offer a shared identity for open-source apps. So you create your own free one, once. It takes about five minutes and can be reused for any number of Gmail accounts. 1. Go to https://console.cloud.google.com/ https://console.cloud.google.com/ and sign in with a Google account. 2. Create a project top bar → project picker → New project . Any name works, for example Qmail . 3. Turn on the Gmail API: open https://console.cloud.google.com/apis/library/gmail.googleapis.com https://console.cloud.google.com/apis/library/gmail.googleapis.com , make sure your project is selected, and click Enable . 4. Set up the sign-in screen: open https://console.cloud.google.com/auth/overview https://console.cloud.google.com/auth/overview and click Get started . - App name : Qmail - User support email : pick your address from the dropdown - Audience : External - Contact information : your email address 5. Under Audience , click Publish app . If you leave it in "Testing", Google signs you out every 7 days. 6. Open Clients https://console.cloud.google.com/auth/clients https://console.cloud.google.com/auth/clients → Create client → application type Desktop app → Create . Copy the Client ID and Client secret . 7. Open a terminal and save them in Qmail: qmail accounts google-client