aerc vs Himalaya
aerc: Terminal email client written in Go with IMAP, JMAP, Maildir and notmuch backends and an embedded terminal for editing.
Himalaya: Command-line email client written in Rust that lists, reads, sends and moves mail through shell commands with JSON output.
Differences
- aerc is a full-screen terminal client; Himalaya is a command-line program.
- Only aerc has built-in mbox and notmuch.
- On Windows, aerc runs through WSL and Himalaya runs natively.
- On BSD, aerc runs natively and Himalaya builds from source.
- On Android, aerc runs through Termux and Himalaya is not available.
- aerc has mouse support; Himalaya does not.
- aerc has calendar support; Himalaya does not.
- aerc has OpenPGP; Himalaya does not.
- aerc has Vim-style keys; Himalaya does not.
- aerc is written in Go; Himalaya in Rust.
- Configuration: aerc uses INI-style files: accounts.conf, aerc.conf, binds.conf, and Himalaya uses TOML file; interactive setup wizard.
Side by side
| aerc | Himalaya | |
|---|---|---|
| Interface | Full-screen terminal interface | Command-line tools and prompts |
| Language | Go | Rust |
| License | MIT | MIT or Apache 2.0 |
| Latest version | 0.22.0 | 2.1.0 |
| Linux | Native | Native |
| macOS | Native | Native |
| Windows | Through WSL | Native |
| BSD | Native | Build from source |
| Android | Through Termux | No |
| IMAP | Yes | Yes |
| POP3 | No | No |
| SMTP | Yes | Yes |
| JMAP | Yes | Yes |
| Maildir | Yes | Yes |
| mbox | Yes | No |
| notmuch | Yes | No |
| OpenPGP | Yes | No |
| S/MIME | No | No |
| OAuth2 sign-in | Yes | via script |
| Threads | Yes | through the IMAP, JMAP and Gmail subcommands |
| Search | built-in; server-side for IMAP and JMAP; notmuch queries | built-in query syntax across backends; server-side for IMAP and JMAP |
| HTML mail | via filters, w3m by default | No |
| Mouse | Yes | No |
| Multiple accounts | Yes | Yes |
| Offline use | with mbsync or OfflineIMAP through the Maildir backend; IMAP header cache | with the Maildir backend and a sync tool such as mbsync |
| Calendar | Yes | No |
| Contacts | via address-book-cmd, e.g. khard or the bundled carddav-query | No |
| Vim-style keys | Yes | No |
| Configuration | INI-style files: accounts.conf, aerc.conf, binds.conf | TOML file; interactive setup wizard |
Which to choose
Choose aerc for
- Embedded terminal runs the editor and other commands inside aerc
- Built-in commands for applying and reviewing git patch series
- Supports JMAP and notmuch as well as IMAP and Maildir
Watch out for
- No POP3 or S/MIME support
- mbox files open read-only
- No native Windows build
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
Questions
What is the difference between aerc and Himalaya?
aerc is a full-screen terminal client; Himalaya is a command-line program. Only aerc has built-in mbox and notmuch. On Windows, aerc runs through WSL and Himalaya runs natively.
Which runs on Windows, aerc or Himalaya?
On Windows, aerc runs through WSL. On Windows, Himalaya runs natively.
See also: aerc alternatives, Himalaya alternatives.