Terminal email clients for every system
Read and send email from a terminal on Linux, macOS, Windows, BSD and Android. 19 maintained clients and 7 mail tools, each with install commands for every system and a config that works with Forward Email or any other provider.
The screenshots show Forward Email's terminal app, made by the team behind this site. It is the only client here with its own calendar, contact list and task list, alongside mail.
forwardemail
FeaturedThe forwardemail command runs the same application as Forward Email's webmail inside a terminal, drawn as text. Mail, calendar, contacts, tasks and settings all work, with keyboard shortcuts, mouse clicks and scrolling, and plain-text reading and writing by default. It installs as one standalone executable on Linux, macOS and Windows, or from npm anywhere Node.js 22 runs. It signs in to Forward Email accounts, including self-hosted servers.
- Calendar, contacts and tasks in the same terminal app as mail
- Mouse clicks, scrolling and text selection work, and the bottom row always shows the keys for the current screen
- One self-updating executable with no setup files to write
- Works with self-hosted Forward Email through --api
A Forward Email account with a mailbox (paid plans start at $3 a month). forwardemail --demo opens a demo account with no sign-in.
Install
Linux
curl -fsSL https://github.com/forwardemail/mail.forwardemail.net/releases/latest/download/install.sh | shnpm install -g forwardemailStandalone builds for x64 and arm64 need glibc. On musl systems such as Alpine Linux, install with npm.
macOS
curl -fsSL https://github.com/forwardemail/mail.forwardemail.net/releases/latest/download/install.sh | shnpm install -g forwardemailStandalone builds for Apple Silicon and Intel.
Windows
irm https://github.com/forwardemail/mail.forwardemail.net/releases/latest/download/install.ps1 | iexnpm install -g forwardemailSigned standalone builds for x64 and arm64. Windows Terminal is recommended over the legacy console.
BSD
npm install -g forwardemailThrough npm, which runs anywhere Node.js 22 or later does.
Android
pkg install nodejs && npm install -g forwardemailThrough npm in Termux, which packages Node.js 24 and later. Not tested by the project.
Clients
Programs you read and write mail in. Pick a system to see what runs there, or filter by name, language or protocol.
Mail tools
Programs that sync, send, fetch or index mail for the clients above. A Maildir client such as alot or mu4e needs a sync tool like isync, and many clients send through msmtp.
By system
By feature
Questions
What is a terminal email client?
A program that reads and sends email inside a terminal window, with text instead of graphics. Full-screen ones (TUIs) such as NeoMutt, aerc and Forward Email work like an app inside the terminal. Command-line ones such as Himalaya and s-nail are commands you run and script.
Which terminal email clients run natively on Windows?
Forward Email, Alpine, Gnus, Himalaya and Matcha run directly on Windows. 12 other clients run in Windows Subsystem for Linux (WSL). meli and nmail are not available for Windows. See terminal email on Windows.
Can I use Gmail or Outlook?
Yes, over IMAP and SMTP. Google and Microsoft require OAuth2 sign-in for most accounts: aerc, Alpine, Matcha and nmail handle it themselves, and Gnus, Himalaya, meli, mu4e, Mutt, NeoMutt, Notmuch Emacs interface, S-nail and Wanderlust need extra setup, such as a token helper script or an Emacs package.
Can terminal clients show HTML email?
Most show the plain-text part of a message and pass HTML to a text browser such as w3m or lynx, which turns it into readable text with numbered links. Images are not shown in the terminal; most clients can open a message in a graphical browser when needed.
Which clients support JMAP?
Which clients work with a mouse?
Are they open source?
How do I use a terminal client with Forward Email?
Point the client at imap.forwardemail.net (port 993) and smtp.forwardemail.net (port 465), with your alias address as the username and a generated password. Every client page has a ready-made config, and the setup page collects them all. Forward Email's own terminal app needs no config: run forwardemail and sign in.