Terminal Email

Himalaya vs nmh

Himalaya: Command-line email client written in Rust that lists, reads, sends and moves mail through shell commands with JSON output.
nmh: The MH message handling system: separate shell commands to read, file, search and send mail stored one file per message.

Differences

Side by side

Himalayanmh
InterfaceCommand-line tools and promptsCommand-line tools and prompts
LanguageRustC
LicenseMIT or Apache 2.0BSD 3-Clause
Latest version2.1.01.8
LinuxNativeNative
macOSNativeNative
WindowsNativeThrough WSL
BSDBuild from sourceNative
AndroidNoThrough Termux
IMAPYesThrough a separate tool
POP3NoYes
SMTPYesYes
JMAPYesNo
MaildirYesYes
mboxNoYes
notmuchNoNo
OpenPGPNoNo
S/MIMENoNo
OAuth2 sign-invia scriptNo
Threadsthrough the IMAP, JMAP and Gmail subcommandsNo
Searchbuilt-in query syntax across backends; server-side for IMAP and JMAPpick command matches header fields and message text
HTML mailNovia mhshow with an external converter such as w3m
MouseNoNo
Multiple accountsYesvia per-command switches or separate profiles
Offline usewith the Maildir backend and a sync tool such as mbsyncfull; messages are stored as local files
CalendarNoreplies to invitations with mhical
ContactsNoaliases via MailAliases and the ali command
Vim-style keysNoNo
ConfigurationTOML file; interactive setup wizard~/.mh_profile and mts.conf text files

Which to choose

Choose Himalaya for

  • Every action is a shell command with optional JSON output, suited to scripts
  • Native Windows binary through Scoop and GitHub releases
  • Also supports JMAP, the Gmail API and Microsoft Graph

Watch out for

  • No interactive interface; himalaya-tui is still pre-release
  • Composing rich MIME or PGP messages needs the separate mml tool
  • Version 2 dropped the notmuch and sendmail backends

Install Himalaya

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.

Install nmh

Questions

What is the difference between Himalaya and nmh?

Only Himalaya has built-in IMAP and JMAP. Only nmh has built-in POP3 and mbox. On Windows, Himalaya runs natively and nmh runs through WSL.

Which runs on Windows, Himalaya or nmh?

On Windows, Himalaya runs natively. On Windows, nmh runs through WSL.

See also: Himalaya alternatives, nmh alternatives.