Terminal Email

alot vs Himalaya

alot: Terminal mail reader written in Python that works on a local notmuch database, with tag-based search and threads.
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

alotHimalaya
InterfaceFull-screen terminal interfaceCommand-line tools and prompts
LanguagePythonRust
LicenseGPL 3.0 or laterMIT or Apache 2.0
Latest version0.122.1.0
LinuxNativeNative
macOSNativeNative
WindowsThrough WSLNative
BSDNativeBuild from source
AndroidNoNo
IMAPThrough a separate toolYes
POP3Through a separate toolNo
SMTPThrough a separate toolYes
JMAPNoYes
MaildirYesYes
mboxNoNo
notmuchYesNo
OpenPGPYesNo
S/MIMENoNo
OAuth2 sign-inNovia script
ThreadsYesthrough the IMAP, JMAP and Gmail subcommands
Searchnotmuch queriesbuilt-in query syntax across backends; server-side for IMAP and JMAP
HTML mailvia mailcap, e.g. w3m -dumpNo
MouseYesNo
Multiple accountsYesYes
Offline usealways; reads a local notmuch databasewith the Maildir backend and a sync tool such as mbsync
CalendarNoNo
Contactsvia an external lookup command such as abook, khard or notmuch addressNo
Vim-style keysYesNo
ConfigurationINI-style config file plus optional Python hooksTOML file; interactive setup wizard

Which to choose

Choose alot for

  • Tag-based searches through notmuch instead of folders
  • Full PGP/MIME signing and encryption
  • Python hooks for custom behavior and formatting

Watch out for

  • Needs separate tools to fetch mail (mbsync) and send it (msmtp)
  • No direct IMAP, POP3 or SMTP support
  • No S/MIME support

Install alot

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 alot and Himalaya?

alot is a full-screen terminal client; Himalaya is a command-line program. Only alot has built-in notmuch. Only Himalaya has built-in IMAP, SMTP and JMAP.

Which runs on Windows, alot or Himalaya?

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

See also: alot alternatives, Himalaya alternatives.