Himalaya vs Wanderlust
Himalaya: Command-line email client written in Rust that lists, reads, sends and moves mail through shell commands with JSON output.
Wanderlust: Mail and news reader for Emacs, written in Emacs Lisp, with built-in IMAP, POP3, NNTP and SMTP support.
Differences
- Himalaya is a command-line program; Wanderlust is a mail client that runs inside Emacs.
- Only Himalaya has built-in JMAP.
- Only Wanderlust has built-in POP3.
- On Windows, Himalaya runs natively and Wanderlust runs through WSL.
- On BSD, Himalaya builds from source and Wanderlust runs natively.
- On Android, Himalaya is not available and Wanderlust runs through Termux.
- Wanderlust has mouse support; Himalaya does not.
- Wanderlust has OpenPGP; Himalaya does not.
- Himalaya is written in Rust; Wanderlust in Emacs Lisp.
- Configuration: Himalaya uses TOML file; interactive setup wizard, and Wanderlust uses Emacs Lisp in ~/.wl, folder list in ~/.folders.
Side by side
| Himalaya | Wanderlust | |
|---|---|---|
| Interface | Command-line tools and prompts | Runs inside Emacs |
| Language | Rust | Emacs Lisp |
| License | MIT or Apache 2.0 | GPL 2.0 or later |
| Latest version | 2.1.0 | 2.15.9 |
| Linux | Native | Native |
| macOS | Native | Native |
| Windows | Native | Through WSL |
| BSD | Build from source | Native |
| Android | No | Through Termux |
| IMAP | Yes | Yes |
| POP3 | No | Yes |
| SMTP | Yes | Yes |
| JMAP | Yes | No |
| Maildir | Yes | Yes |
| mbox | No | No |
| notmuch | No | Through a separate tool |
| OpenPGP | No | Yes |
| S/MIME | No | No |
| OAuth2 sign-in | via script | via oauth2.el |
| Threads | through the IMAP, JMAP and Gmail subcommands | Yes |
| Search | built-in query syntax across backends; server-side for IMAP and JMAP | IMAP server-side search; local search via mu, notmuch, grep or namazu |
| HTML mail | No | via mime-w3m (emacs-w3m) |
| Mouse | No | Yes |
| Multiple accounts | Yes | Yes |
| Offline use | with the Maildir backend and a sync tool such as mbsync | message cache and disconnected operation |
| Calendar | No | No |
| Contacts | No | built-in address book |
| Vim-style keys | No | No |
| Configuration | TOML file; interactive setup wizard | Emacs Lisp in ~/.wl, folder list in ~/.folders |
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
Choose Wanderlust for
- Built-in IMAP, POP3 and SMTP; no external sync or send tool needed
- Offline cache with disconnected operation
- Packaged in Debian, Ubuntu, Arch, FreeBSD and MELPA
Watch out for
- No formal release in many years; only 2.15.9 snapshots
- Folder syntax and the APEL/FLIM/SEMI dependency stack take time to learn
- Debian and Ubuntu ship an older snapshot than MELPA and Arch
Questions
What is the difference between Himalaya and Wanderlust?
Himalaya is a command-line program; Wanderlust is a mail client that runs inside Emacs. Only Himalaya has built-in JMAP. Only Wanderlust has built-in POP3.
Which runs on Windows, Himalaya or Wanderlust?
On Windows, Himalaya runs natively. On Windows, Wanderlust runs through WSL.
See also: Himalaya alternatives, Wanderlust alternatives.