Terminal Email

Gnus vs Himalaya

Gnus: Mail and news reader built into GNU Emacs, with back ends for IMAP, POP3, local mail folders and NNTP.
Himalaya: Command-line email client written in Rust that lists, reads, sends and moves mail through shell commands with JSON output.

Differences

Side by side

GnusHimalaya
InterfaceRuns inside EmacsCommand-line tools and prompts
LanguageEmacs LispRust
LicenseGPL 3.0 or laterMIT or Apache 2.0
Latest version5.13 (bundled with Emacs 31.1)2.1.0
LinuxNativeNative
macOSNativeNative
WindowsNativeNative
BSDNativeBuild from source
AndroidThrough TermuxNo
IMAPYesYes
POP3YesNo
SMTPYesYes
JMAPNoYes
MaildirYesYes
mboxYesNo
notmuchThrough a separate toolNo
OpenPGPYesNo
S/MIMEYesNo
OAuth2 sign-invia pluginvia script
ThreadsYesthrough the IMAP, JMAP and Gmail subcommands
Searchgnus-search: IMAP SEARCH, or notmuch, mu, mairix and other local indexersbuilt-in query syntax across backends; server-side for IMAP and JMAP
HTML mailbuilt-in, rendered with the Emacs shr libraryNo
MouseYesNo
Multiple accountsYesYes
Offline usevia the Gnus agent or local Maildir back endswith the Maildir backend and a sync tool such as mbsync
Calendarreplies to invitations with gnus-icalendarNo
Contactsvia BBDB or EUDCNo
Vim-style keysNoNo
ConfigurationEmacs Lisp in init.el or ~/.gnus.elTOML file; interactive setup wizard

Which to choose

Choose Gnus for

  • Included with every GNU Emacs install, including native Windows builds.
  • Reads IMAP directly, plus local Maildir, MH and mbox stores and NNTP newsgroups.
  • Scoring, splitting and the Gnus agent allow detailed filtering and offline reading.

Watch out for

  • The group, summary and article model takes time to learn.
  • IMAP access runs inside Emacs, so large mailboxes can make Emacs wait.
  • Configuration is Emacs Lisp spread across many variables.

Install Gnus

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

Questions

What is the difference between Gnus and Himalaya?

Gnus is a mail client that runs inside Emacs; Himalaya is a command-line program. Only Gnus has built-in POP3 and mbox. Only Himalaya has built-in JMAP.

Which runs on Windows, Gnus or Himalaya?

On Windows, Gnus runs natively. On Windows, Himalaya runs natively.

See also: Gnus alternatives, Himalaya alternatives.