Terminal Email

Himalaya vs Notmuch Emacs interface

Himalaya: Command-line email client written in Rust that lists, reads, sends and moves mail through shell commands with JSON output.
Notmuch Emacs interface: Emacs front end for notmuch that reads, searches, tags and composes mail from a local Maildir.

Differences

Side by side

HimalayaNotmuch Emacs interface
InterfaceCommand-line tools and promptsRuns inside Emacs
LanguageRustEmacs Lisp
LicenseMIT or Apache 2.0GPL 3.0 or later
Latest version2.1.00.40
LinuxNativeNative
macOSNativeNative
WindowsNativeThrough WSL
BSDBuild from sourceNative
AndroidNoThrough Termux
IMAPYesThrough a separate tool
POP3NoThrough a separate tool
SMTPYesYes
JMAPYesNo
MaildirYesYes
mboxNoNo
notmuchNoYes
OpenPGPNoYes
S/MIMENoYes
OAuth2 sign-invia scriptvia script
Threadsthrough the IMAP, JMAP and Gmail subcommandsYes
Searchbuilt-in query syntax across backends; server-side for IMAP and JMAPnotmuch Xapian full-text search with tags
HTML mailNobuilt-in, rendered with the Emacs shr library
MouseNoYes
Multiple accountsYesYes
Offline usewith the Maildir backend and a sync tool such as mbsyncfull; reads a local Maildir synced by mbsync or OfflineIMAP
CalendarNoshows text/calendar parts; no invitation replies
ContactsNoaddress completion from the notmuch index
Vim-style keysNoNo
ConfigurationTOML file; interactive setup wizardEmacs Lisp in init.el plus the notmuch config file

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 Notmuch Emacs interface for

  • Tag-based organization with fast full-text search over all local mail.
  • Shows a whole thread in a single buffer.
  • Handles PGP/MIME and S/MIME signatures and decryption through notmuch.

Watch out for

  • No built-in IMAP; needs mbsync or a similar sync tool.
  • Custom tags stay in the local index; only standard flags such as unread and replied reach the IMAP server.
  • Requires Emacs and some Emacs Lisp to configure.

Install Notmuch Emacs interface

Questions

What is the difference between Himalaya and Notmuch Emacs interface?

Himalaya is a command-line program; Notmuch Emacs interface is a mail client that runs inside Emacs. Only Himalaya has built-in IMAP and JMAP. Only Notmuch Emacs interface has built-in notmuch.

Which runs on Windows, Himalaya or Notmuch Emacs interface?

On Windows, Himalaya runs natively. On Windows, Notmuch Emacs interface runs through WSL.

See also: Himalaya alternatives, Notmuch Emacs interface alternatives.