Features and advantages over mutt, neomutt, alpine and aerc
termmail is not trying to be the most configurable mail client in the terminal. It is the one you can hand to someone who has never used a terminal mail client, without writing an rc file first.
The interface most terminal mail clients make you build yourself
mutt, neomutt and aerc are powerful, and their users are loyal for good reasons. That power is expressed as configuration: key bindings, macros, colours and hooks in a file that grows over years. alpine is friendlier, with menus and a setup screen, but its visual language is still that of the 1990s.
termmail makes the common actions visible. Folders, messages and the reading pane are on one screen. The toolbar lists Inbox, Compose, Reply, Forward, Delete, Attach, Account, Folders, Search, Refresh and Quit. The status line tells you which pane has focus and which keys apply. Nothing essential is hidden behind a command you have to remember.
Three panes, one screen
The folder list sits on the left, the message list beside it and the selected message below. Tab cycles between the panes, the arrow keys move, Enter opens. On a narrow terminal the panes share the width; on a wide one the reading pane gets the space it needs.
Mouse support where the terminal provides it
Click a folder, click a message twice to open it, click a toolbar button, the compose buttons or the yes/no buttons in dialogs. Inside tmux, over SSH and in modern terminal emulators this works without extra setup; on a plain Linux console it depends on gpm.
First-run setup with automatic server detection
Enter your address and termmail tries known provider presets, then SRV records, then autoconfig, then MX records, then a host guess. The dialog title says which method produced the result, and every field remains editable. That is a different experience from starting with an empty .muttrc.
How termmail compares
This table compares the interface and the first-run experience, not the depth of the mail handling. mutt, neomutt and aerc do things termmail does not, and the last section is explicit about that.
| Feature | termmail | mutt | neomutt | alpine | aerc |
|---|---|---|---|---|---|
| Three-pane layout on one screen | Yes | No | Not by default | Yes | Tabs |
| Visible toolbar with buttons | Yes | No | No | Menus | Commands |
| Mouse support | Where available | Optional | Optional | Yes | Limited |
| Setup wizard and server detection | Yes | No | No | Yes | No |
| Configuration needed to start | None | rc file | rc file | Mostly none | ini file |
| HTML mail as text | lynx | External | External | Built in | External |
| Attachments save and send | Yes | Yes | Yes | Yes | Yes |
| PGP / S/MIME | No | Yes | Yes | Yes | External |
| OAuth sign-in | App passwords | External | External | App passwords | Yes |
| Readable source, one language | Python, one file | C | C | C | Go |
Advantages in daily use
Against mutt and neomutt: nothing to configure before the first message
mutt and neomutt reward the effort you put into them, and neomutt in particular can be shaped into almost anything. That is the right choice if you enjoy shaping it. termmail goes the other way: install it, answer four questions, read mail. The settings live in one JSON file that you can read and edit, and there is no scripting language to learn.
Against alpine: the same friendliness, a smaller footprint
alpine is the closest comparison, and it is a good program with a real three-pane layout. termmail is not a fork or a replacement; it is a much smaller implementation that keeps the friendly part and drops the menu tree. If you want alpine’s address book, filters and PGP support, alpine is the better tool.
Against aerc: a mouse and a reading pane
aerc is modern, fast and pleasant for people who live in the terminal. Its model is tab-based and command-driven, and its configuration is a file. termmail shows the three panes at once and lets you click them. The trade is real: aerc does more, termmail asks less.
Against all of them: you can read the whole program
termmail is one Python file under the MIT license. You can read it in a sitting, check what it does with your password, change the toolbar or vendor it into your own tools. There is no build system, no bundled runtime and no update service.
Where termmail is the wrong tool
Be clear about the limits. termmail has no PGP or S/MIME, no OAuth, no calendar, no rules engine and no threaded conversation view. It opens one mailbox per account at a time and shows HTML as text without images. It is not a replacement for Thunderbird on a desktop, and it is not an enterprise mail client. It is for reading, answering and sending mail on a machine where a terminal is all you have or all you want.