Forward Email vs nmh
Forward Email: Forward Email's webmail in the terminal: mail, calendar, contacts and settings, with mouse support and a key hint bar.
nmh: The MH message handling system: separate shell commands to read, file, search and send mail stored one file per message.
Differences
- Forward Email is a full-screen terminal client; nmh is a command-line program.
- Forward Email connects to Forward Email accounts through its API; nmh works with any provider, including Forward Email.
- On Windows, Forward Email runs natively and nmh runs through WSL.
- Forward Email has mouse support; nmh does not.
- Forward Email has OpenPGP; nmh does not.
- Forward Email has threaded views; nmh does not.
- Forward Email is written in TypeScript; nmh in C.
- Configuration: Forward Email uses settings screens, keyboard shortcut editor and an optional user.css, and nmh uses ~/.mh_profile and mts.conf text files.
- Forward Email is source-available (Business Source License 1.1); nmh is open source (BSD 3-Clause).
Side by side
| Forward Email | nmh | |
|---|---|---|
| Interface | Full-screen terminal interface | Command-line tools and prompts |
| Language | TypeScript | C |
| License | Business Source License 1.1 | BSD 3-Clause |
| Latest version | 0.14.16 | 1.8 |
| Linux | Native | Native |
| macOS | Native | Native |
| Windows | Native | Through WSL |
| BSD | Native | Native |
| Android | Through Termux | Through Termux |
| IMAP | Forward Email API | Through a separate tool |
| POP3 | Forward Email API | Yes |
| SMTP | Forward Email API | Yes |
| JMAP | Forward Email API | No |
| Maildir | Forward Email API | Yes |
| mbox | Forward Email API | Yes |
| notmuch | Forward Email API | No |
| OpenPGP | Yes | No |
| S/MIME | No | No |
| OAuth2 sign-in | No | No |
| Threads | Yes | No |
| Search | built-in, across messages, contacts and events | pick command matches header fields and message text |
| HTML mail | shown as formatted text with links; plain text by default | via mhshow with an external converter such as w3m |
| Mouse | Yes | No |
| Multiple accounts | Yes | via per-command switches or separate profiles |
| Offline use | drafts and changes made offline are sent when the connection returns | full; messages are stored as local files |
| Calendar | Yes | replies to invitations with mhical |
| Contacts | Yes | aliases via MailAliases and the ali command |
| Vim-style keys | No | No |
| Configuration | settings screens, keyboard shortcut editor and an optional user.css | ~/.mh_profile and mts.conf text files |
Which to choose
Choose Forward Email for
- Calendar, contacts and tasks in the same terminal app as mail
- Mouse clicks, scrolling and text selection work, and the bottom row always shows the keys for the current screen
- One self-updating executable with no setup files to write
Watch out for
- Only works with Forward Email accounts
- Images and video are not drawn; HTML mail is shown as text with links
- Passkey sign-in needs a browser or the desktop app
Choose nmh for
- Every action is a shell command, so mail handling is easy to script.
- One file per message lets grep, find and other Unix tools work on mail.
- Built-in POP3 and SMTP with TLS and SASL; reads mbox and Maildir drops.
Watch out for
- No IMAP; IMAP mail must be synced to a Maildir first and then incorporated.
- No built-in OpenPGP or S/MIME, and no thread view.
- SMTP authentication needs nmh built with Cyrus SASL and its PLAIN or LOGIN plugin.
Questions
What is the difference between Forward Email and nmh?
Forward Email is a full-screen terminal client; nmh is a command-line program. Forward Email connects to Forward Email accounts through its API; nmh works with any provider, including Forward Email. On Windows, Forward Email runs natively and nmh runs through WSL.
Which runs on Windows, Forward Email or nmh?
On Windows, Forward Email runs natively. On Windows, nmh runs through WSL.
See also: Forward Email alternatives, nmh alternatives.