# Terminal Email > Terminal email clients for Linux, macOS, Windows, BSD and Android, compared by the facts. 19 terminal email clients and 7 mail tools, each with verified install commands for Linux, macOS, Windows, BSD and Android, protocol and feature support, pros and cons, a working Forward Email config and links to the sources the facts came from. Made by Forward Email, whose terminal app (`forwardemail`) is featured and disclosed as such. Every page has a Markdown version at the same URL plus `index.md`. All data is at https://terminalemail.com/api/clients.json and in one text file at https://terminalemail.com/llms-full.txt. Content is CC BY-SA 4.0. ## Start here - [Best terminal email clients by need](https://terminalemail.com/best/index.md): One pick for each common need, with the facts behind it. - [Terminal email questions and answers](https://terminalemail.com/faq/index.md): Short answers about clients, syncing, sending, OAuth2, Windows and Android. - [Terminal email glossary](https://terminalemail.com/glossary/index.md): IMAP, POP3, SMTP, JMAP, Maildir, notmuch, OAuth2, OpenPGP and other terms. ## Featured - [Forward Email terminal app](https://terminalemail.com/clients/forward-email/index.md): Forward Email's webmail in the terminal: mail, calendar, contacts and settings, with mouse support and a key hint bar. ## Clients - [aerc](https://terminalemail.com/clients/aerc/index.md): Terminal email client written in Go with IMAP, JMAP, Maildir and notmuch backends and an embedded terminal for editing. - [alot](https://terminalemail.com/clients/alot/index.md): Terminal mail reader written in Python that works on a local notmuch database, with tag-based search and threads. - [Alpine](https://terminalemail.com/clients/alpine/index.md): Menu-driven terminal email client descended from Pine, with built-in help, setup screens and native Windows builds. - [Cone](https://terminalemail.com/clients/cone/index.md): Full-screen console mail client and newsreader from the Courier mail server project. - [Gnus](https://terminalemail.com/clients/gnus/index.md): Mail and news reader built into GNU Emacs, with back ends for IMAP, POP3, local mail folders and NNTP. - [Himalaya](https://terminalemail.com/clients/himalaya/index.md): Command-line email client written in Rust that lists, reads, sends and moves mail through shell commands with JSON output. - [Matcha](https://terminalemail.com/clients/matcha/index.md): Terminal email client written in Go with the Bubble Tea TUI library, with IMAP, JMAP and POP3 support. - [mblaze](https://terminalemail.com/clients/mblaze/index.md): Set of small Unix utilities for reading, searching, threading and composing mail stored in Maildir folders. - [meli](https://terminalemail.com/clients/meli/index.md): Terminal email client written in Rust with IMAP, JMAP, notmuch, Maildir, mbox and NNTP backends and TOML configuration. - [mu4e](https://terminalemail.com/clients/mu4e/index.md): Email client that runs inside GNU Emacs, built on the mu Maildir indexer and search tool. - [Mutt](https://terminalemail.com/clients/mutt/index.md): Long-running text-mode email client with IMAP, POP3 and SMTP support, configured through a muttrc file. - [NeoMutt](https://terminalemail.com/clients/neomutt/index.md): Full-screen terminal mail reader forked from Mutt, with notmuch, NNTP, Lua scripting and a sidebar built in. - [nmail](https://terminalemail.com/clients/nmail/index.md): Terminal email client for Linux and macOS with an Alpine-like interface and built-in IMAP and SMTP. - [nmh](https://terminalemail.com/clients/nmh/index.md): The MH message handling system: separate shell commands to read, file, search and send mail stored one file per message. - [Notmuch Emacs interface](https://terminalemail.com/clients/notmuch-emacs/index.md): Emacs front end for notmuch that reads, searches, tags and composes mail from a local Maildir. - [S-nail](https://terminalemail.com/clients/s-nail/index.md): Command-line mail program that implements POSIX mailx, with MIME, IMAP, POP3, SMTP, Maildir and S/MIME support. - [Sup](https://terminalemail.com/clients/sup/index.md): Curses email client in Ruby built around threads, labels and fast full-text search over local mail. - [Wanderlust](https://terminalemail.com/clients/wanderlust/index.md): Mail and news reader for Emacs, written in Emacs Lisp, with built-in IMAP, POP3, NNTP and SMTP support. ## Mail tools - [getmail6](https://terminalemail.com/tools/getmail6/index.md): Mail retriever that downloads messages over POP3 or IMAP into Maildir, mbox or an external delivery program. - [isync](https://terminalemail.com/tools/isync/index.md): Command line program (mbsync) that syncs IMAP mailboxes with local Maildir folders in both directions. - [msmtp](https://terminalemail.com/tools/msmtp/index.md): SMTP client with a sendmail-compatible interface that terminal mail clients use to send mail. - [mutt-wizard](https://terminalemail.com/tools/mutt-wizard/index.md): Shell script that sets up NeoMutt, isync and msmtp for an email account, with passwords stored in pass. - [notmuch](https://terminalemail.com/tools/notmuch/index.md): Command-line mail indexer that adds fast full-text search, threading and tags to a local Maildir. - [OfflineIMAP](https://terminalemail.com/tools/offlineimap/index.md): Python program that syncs IMAP mailboxes with local Maildir folders in both directions. - [Pop](https://terminalemail.com/tools/pop/index.md): Send-only email tool from Charm with a terminal form for composing and a command-line mode for scripts. ## By system - [Terminal email clients for Linux](https://terminalemail.com/linux/index.md) - [Terminal email clients for macOS](https://terminalemail.com/macos/index.md) - [Terminal email clients for Windows](https://terminalemail.com/windows/index.md) - [Terminal email clients for BSD](https://terminalemail.com/bsd/index.md) - [Terminal email clients for Android](https://terminalemail.com/android/index.md) ## By feature - [Terminal email clients with OpenPGP](https://terminalemail.com/features/pgp/index.md) - [Terminal email clients with built-in IMAP](https://terminalemail.com/features/imap/index.md) - [Terminal email clients with POP3](https://terminalemail.com/features/pop3/index.md) - [Terminal email clients with JMAP](https://terminalemail.com/features/jmap/index.md) - [Terminal email clients that read Maildir](https://terminalemail.com/features/maildir/index.md) - [Email clients for notmuch](https://terminalemail.com/features/notmuch/index.md) - [Terminal email clients with OAuth2 sign-in](https://terminalemail.com/features/oauth2/index.md) - [Terminal email clients you can use with a mouse](https://terminalemail.com/features/mouse/index.md) - [Terminal email clients with Vim-style keys](https://terminalemail.com/features/vim-keys/index.md) - [Terminal email clients with calendar support](https://terminalemail.com/features/calendar/index.md) - [Email clients for Emacs](https://terminalemail.com/features/emacs/index.md) - [Open-source terminal email clients](https://terminalemail.com/features/open-source/index.md) ## Other pages - [Forward Email settings and configs for every client](https://terminalemail.com/setup/index.md) - [All comparisons](https://terminalemail.com/compare/index.md) (171 pages such as [NeoMutt vs aerc](https://terminalemail.com/compare/aerc-vs-neomutt/index.md)) - [Alternatives](https://terminalemail.com/alternatives/index.md) - [About Terminal Email](https://terminalemail.com/about/index.md): What Terminal Email lists, how each fact is checked against its source, and how Forward Email, which makes the site, is featured. - [Privacy policy](https://terminalemail.com/privacy/index.md): Terminal Email sets no cookies and loads no trackers, ads or third-party scripts. What your browser stores, and what GitHub Pages logs. - [Terms of use and licenses](https://terminalemail.com/terms/index.md): How you may reuse Terminal Email's data and code, what the licenses allow, and the limits of the information on the site. ## Data - [All clients and tools (JSON)](https://terminalemail.com/api/clients.json) - One JSON file per entry at `/api/clients/.json` - [Sitemap](https://terminalemail.com/sitemap.xml) - Source repository: https://github.com/forwardemail/terminalemail.com --- # Best terminal email clients NeoMutt is the best all-round terminal email client for most people. The right choice depends on your system, your provider and how you like to work, so this page picks one client for each common need. ## Best all-round terminal email client: NeoMutt NeoMutt suits most people who want a keyboard-driven, full-screen client. It has IMAP, POP3, SMTP, Maildir, mbox and notmuch built in, so it works with a mail server directly or with local folders, and it reads most existing muttrc files. Why: - Built-in notmuch support for tag-based virtual mailboxes and full-text search - Reads Usenet over NNTP and supports Lua scripting - Reads most existing muttrc files with few or no changes Watch out for: - Configuration is a text file with hundreds of options and no setup wizard - HTML mail needs an external viewer set up in mailcap - OAuth2 needs an external token script such as mutt_oauth2.py Page: https://terminalemail.com/clients/neomutt/ Also consider: [Mutt](https://terminalemail.com/clients/mutt/), [meli](https://terminalemail.com/clients/meli/). ## Best for OAuth2, JMAP and mouse support: aerc aerc signs in with OAuth2 by itself, speaks JMAP as well as IMAP, reads notmuch and Maildir, and responds to the mouse. Its embedded terminal runs your editor inside the client. Why: - 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 Page: https://terminalemail.com/clients/aerc/ Also consider: [Alpine](https://terminalemail.com/clients/alpine/), [Matcha](https://terminalemail.com/clients/matcha/), [nmail](https://terminalemail.com/clients/nmail/). ## Best for beginners: Alpine Alpine is configured through setup screens instead of a hand-written file, and it shows the available commands at the bottom of every screen. It also runs natively on Windows. Why: - Command list on every screen and built-in help for each option - Official native Windows builds alongside Unix packages - Built-in XOAUTH2 for Gmail, Outlook and Yahoo, and built-in S/MIME Watch out for: - PGP needs external display and sending filters - No Maildir, notmuch or JMAP support - Last stable release is 2.26; newer work is in alpha builds Page: https://terminalemail.com/clients/alpine/ Also consider: [Matcha](https://terminalemail.com/clients/matcha/). ## Best terminal email clients for Windows Forward Email, Alpine, Gnus, Himalaya and Matcha run natively 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 for install commands. ## Best for scripts and the shell: Himalaya Himalaya turns each action, such as listing, reading or sending a message, into a shell command with optional JSON output, so it fits scripts and editor plugins. Why: - 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 Page: https://terminalemail.com/clients/himalaya/ Also consider: [mblaze](https://terminalemail.com/clients/mblaze/), [nmh](https://terminalemail.com/clients/nmh/), [S-nail](https://terminalemail.com/clients/s-nail/). ## Best for Emacs users: mu4e mu4e gives fast full-text search over a local Maildir, kept in sync by a tool such as isync. To read IMAP inside Emacs without a sync tool, Gnus and Wanderlust connect directly. Why: - Full-text search over all local mail through mu's Xapian index. - Works offline, since all mail lives in a local Maildir. - Uses Emacs message mode, so PGP/MIME, S/MIME and Org mode links are available. Watch out for: - No built-in IMAP; needs mbsync or a similar sync tool, so setup spans several config files. - Requires Emacs and some Emacs Lisp to configure. - No native Windows build, and Arch packages it only in the AUR. Page: https://terminalemail.com/clients/mu4e/ Also consider: [Gnus](https://terminalemail.com/clients/gnus/), [Notmuch Emacs interface](https://terminalemail.com/clients/notmuch-emacs/), [Wanderlust](https://terminalemail.com/clients/wanderlust/). ## Best for tags and full-text search aerc, alot, meli, NeoMutt and Notmuch Emacs interface work on a notmuch database, which adds tags, threads and fast full-text search to a local Maildir. Folders become saved searches. ## Best for Android 10 clients run on Android through Termux: Forward Email, aerc, Alpine, Gnus, mu4e, Mutt, NeoMutt, nmh, Notmuch Emacs interface and Wanderlust. See terminal email on Android. ## Best for mail, calendar and contacts in one app: Forward Email Forward Email, made by the team behind this site, is the only client here with its own calendar and contact list alongside mail. It works only with Forward Email accounts; every other pick on this page works with any provider. Why: - 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 Watch out for: - Only works with Forward Email accounts - Images and video are not drawn; HTML mail is shown as text with links - Passkey sign-in needs a browser or the desktop app Page: https://terminalemail.com/clients/forward-email/ ## How do I choose a terminal email client? 1. **Which system do you use?** All 19 clients run on Linux. On other systems the list is shorter: macOS has 18, Windows has 17, BSD has 18 and Android has 10. 2. **Full-screen, commands or Emacs?** Of the 19 clients on this site, 11 are full-screen (TUI), 4 are command-line and 4 run inside Emacs. Full-screen clients work like an app; command-line clients fit scripts; Emacs clients use Emacs buffers and keys. 3. **Does your provider need OAuth2?** Gmail and Microsoft 365 accounts often sign in with OAuth2. 13 clients support it, built in or through a helper script. 4. **Do you want mail offline?** Clients that read Maildir keep a full copy on disk. 5 clients read only local folders and need a sync tool such as isync. ## How the picks are made Each pick is the client whose listed facts match the need most closely, and the reason given is a fact from its page. Forward Email makes this site; its app is picked only for mail, calendar and contacts in one program, because no other client here has all three. --- # Terminal email questions and answers ## 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. ## What is the best terminal email client? For most people, NeoMutt: a full-screen client with IMAP, POP3, SMTP, Maildir and notmuch built in. aerc suits people who want OAuth2, JMAP and mouse support, and Alpine suits beginners. See the best client for each need. ## What is the difference between a TUI and a CLI email client? A TUI (text user interface) client fills the terminal with lists and menus and works like an app. A CLI (command-line interface) client is a set of commands you run and script. Of the 19 clients on this site, 11 are full-screen (TUI), 4 are command-line and 4 run inside Emacs. ## What is the difference between Mutt and NeoMutt? NeoMutt is a fork of Mutt. Mutt has no notmuch, NNTP or scripting support (NeoMutt has these). NeoMutt reads most existing muttrc files with few or no changes, and Mutt has conservative releases that rarely break existing muttrc files. See Mutt vs NeoMutt. ## 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 read email in a terminal on Android? Yes, through Termux, which runs a Linux-style terminal on Android without root. 10 clients run there: Forward Email, aerc, Alpine, Gnus, mu4e, Mutt, NeoMutt, nmh, Notmuch Emacs interface and Wanderlust. A hardware keyboard helps with the full-screen ones. ## 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. ## Do I need a sync tool such as isync? Only for clients without built-in IMAP. alot, mblaze, mu4e, Notmuch Emacs interface and Sup read local folders, so a sync tool such as isync or OfflineIMAP copies mail from the server into a Maildir and back. Clients with built-in IMAP can still use one to keep a full offline copy. ## How do I send mail from a client that has no SMTP support? Use a sendmail-compatible program such as msmtp: the client hands it each message, and msmtp sends it to your provider's SMTP server. alot, mblaze and Sup send this way. ## Where do I keep my email password? In a password manager, not in the config file. 16 of the 25 configs on this site read the password from a command, such as `pass show email/forwardemail`, each time the program connects. ## 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. Most do not draw images; Matcha can show inline images in terminals that support an image protocol. Most clients can open a message in a graphical browser when needed. ## Can I encrypt email with OpenPGP in a terminal? Yes. 15 clients sign and encrypt mail with OpenPGP, built in or through a plugin. ## Which clients support JMAP? aerc, Himalaya, Matcha and meli support JMAP, the JSON protocol some providers offer instead of IMAP. The other clients use IMAP, POP3 or local folders, and Forward Email's app uses Forward Email's own API. ## Which clients work with a mouse? Forward Email, aerc, alot, Alpine, Gnus, Matcha, meli, mu4e, Notmuch Emacs interface and Wanderlust respond to clicks and scrolling. The others are keyboard-only. ## Are they open source? All of them except Forward Email, whose code is public under the Business Source License 1.1, a source-available license. Each page links to the project's repository and license. ## 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. ## Who makes Terminal Email? Forward Email, whose terminal app is featured and marked as such. Every other client is listed with the same facts and works with any provider. See how the list is made. --- # Terminal email glossary ## Terminal email client A program that reads and sends email inside a terminal window, using text instead of graphics. This site lists 19 clients and 7 mail tools. ## TUI Text user interface: a full-screen program in a terminal, with lists, menus and keyboard shortcuts. NeoMutt, aerc and Alpine are TUI clients. ## CLI Command-line interface: each action is a separate command you type or put in a script. Himalaya, mblaze, nmh and S-nail are CLI clients. ## MUA Mail user agent: the program you read and write mail with. Every client on this site is an MUA. ## MTA Mail transfer agent: server software that receives mail and relays it to other servers over SMTP. ## IMAP Internet Message Access Protocol: reads mail that stays on the server, so folders and read status match on every device. The current version is IMAP4rev2, RFC 9051. Clients connect on port 993 with TLS. See clients with built-in IMAP (12). ## POP3 Post Office Protocol version 3: downloads mail from the server to one device, RFC 1939. Clients connect on port 995 with TLS. See clients with POP3 (9). ## SMTP Simple Mail Transfer Protocol: sends mail, RFC 5321. A client submits mail on port 465 with TLS or on port 587 with STARTTLS. ## JMAP JSON Meta Application Protocol: a newer way to read and send mail over HTTPS with JSON, defined in RFC 8620 and RFC 8621. Only some providers offer it. See clients with JMAP (4). ## Maildir A mail folder format that stores each message in its own file, in `tmp`, `new` and `cur` subfolders, so programs can add and read mail at the same time without locking (the Maildir specification). See clients that read Maildir (16). ## mbox A mail folder format that stores every message in one file, each starting with a line that begins with the word From and a space, described in RFC 4155. ## MH A mail folder format and set of commands from the MH message handling system: one numbered file per message. nmh is the maintained version. ## notmuch A mail indexer that adds tags, threads and fast full-text search to a local Maildir. Folders become saved searches. See notmuch. See clients for notmuch (5). ## Sync tool A program that copies mail between an IMAP server and local Maildir folders in both directions, such as isync (the `mbsync` command) and OfflineIMAP. Clients without built-in IMAP need one. ## sendmail interface A convention for sending mail: a program runs a `sendmail` command and passes the message on standard input. msmtp provides this interface and sends the message over SMTP. ## Password command A config setting that runs a program to get the password, such as `pass show email/forwardemail`, so the password is not stored in the config file. 16 of the 25 configs on this site use one. ## pass The standard Unix password manager: it keeps each password in a file encrypted with GnuPG (passwordstore.org). ## OAuth2 A sign-in method where the provider gives the client a token instead of the client storing your password, RFC 6749. Mail clients pass the token with the SASL mechanism OAUTHBEARER (RFC 7628) or the older XOAUTH2. Gmail and Microsoft 365 support it. See clients with OAuth2 (13). ## OpenPGP A standard for signing and encrypting mail with public keys, RFC 9580. GnuPG is a free implementation of it. See clients with OpenPGP (15). ## S/MIME A standard for signing and encrypting mail with X.509 certificates, RFC 8551. ## TLS Transport Layer Security: encrypts the connection between a client and a mail server. With implicit TLS the connection is encrypted from the start (ports 993, 995 and 465), which RFC 8314 recommends. ## STARTTLS A command that upgrades a plain connection to TLS on the same port. Mail clients use it on port 587 to send mail (RFC 3207). ## mailcap A file that maps types of content, such as HTML, to programs that can show them, RFC 1524. Mutt and NeoMutt use it to pass HTML mail to a text browser such as w3m or lynx. ## Threading Grouping messages into conversations using the Message-ID, In-Reply-To and References headers of each message (RFC 5322). ## NNTP Network News Transfer Protocol, used to read Usenet newsgroups, RFC 3977. NeoMutt, Alpine, Cone, meli, Gnus and Wanderlust read newsgroups as well as mail. ## WSL Windows Subsystem for Linux: runs a Linux system next to Windows, so Linux clients run on Windows (Microsoft's WSL documentation). See terminal email on Windows. ## Termux A terminal and Linux-style package system for Android that works without root (termux.dev). See terminal email on Android. ## Generated password A password a provider creates for one mail program, separate from the password you sign in with. In Forward Email it is the Generate Password option next to each alias. See Forward Email settings. --- # Forward Email settings for terminal email clients | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. Forward Email's own terminal app needs none of this: `npm install -g forwardemail`, then run `forwardemail` and sign in. ## aerc File: `~/.config/aerc/accounts.conf (macOS: ~/Library/Preferences/aerc/accounts.conf)` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) # The @ in the username is URL-encoded as %40 [Forward Email] source = imaps://you%40example.com@imap.forwardemail.net:993 source-cred-cmd = pass show email/forwardemail outgoing = smtps://you%40example.com@smtp.forwardemail.net:465 outgoing-cred-cmd = pass show email/forwardemail from = Your Name default = INBOX copy-to = Sent Mail postpone = Drafts ``` ## alot File: `~/.config/alot/config (plus ~/.mbsyncrc and ~/.config/msmtp/config)` ``` # alot reads a local notmuch database. Sync Forward Email over IMAP # into a Maildir with mbsync, index it with notmuch, and send with msmtp. # ~/.mbsyncrc (isync 1.5+; older versions use SSLType instead of TLSType) IMAPAccount forwardemail Host imap.forwardemail.net Port 993 TLSType IMAPS User you@example.com PassCmd "pass show email/forwardemail" IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX SubFolders Verbatim Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * Create Both SyncState * # Then run: mbsync forwardemail && notmuch setup && notmuch new # ~/.config/msmtp/config account forwardemail host smtp.forwardemail.net port 465 tls on tls_starttls off auth on user you@example.com passwordeval "pass show email/forwardemail" from you@example.com # ~/.config/alot/config [accounts] [[forwardemail]] realname = Your Name address = you@example.com sendmail_command = msmtp --account=forwardemail -t sent_box = maildir://~/Mail/forwardemail/Sent Mail draft_box = maildir://~/Mail/forwardemail/Drafts ``` ## Alpine File: `~/.pinerc` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) # Set these in Setup > Config, or edit ~/.pinerc while Alpine is closed. # Alpine has no password command; it prompts and can save passwords # in its encrypted password file. personal-name=Your Name user-domain=example.com customized-hdrs=From: Your Name inbox-path={imap.forwardemail.net:993/ssl/user=you@example.com}INBOX folder-collections=ForwardEmail {imap.forwardemail.net:993/ssl/user=you@example.com}[] default-fcc={imap.forwardemail.net:993/ssl/user=you@example.com}Sent Mail postponed-folder={imap.forwardemail.net:993/ssl/user=you@example.com}Drafts smtp-server=smtp.forwardemail.net:465/ssl/user=you@example.com ``` ## Cone File: `~/.cone (written by the setup screens)` ``` # Cone is configured from its menus; settings are saved under ~/.cone. # IMAP account: Main menu > N (New account) > I (IMAP account) # Server: imap.forwardemail.net (port 993 is the default with encryption on) # Login: you@example.com # [x] Use an encrypted connection # Enter the alias' generated password when prompted. # (POP3 instead: N > P (POP3 account), Server: pop3.forwardemail.net, encrypted connection on (port 995)) # # Outgoing mail: Main menu > S (Setup) # Outgoing SMTP Server: smtp.forwardemail.net # SMTP userid (optional): you@example.com # [ ] Send mail via main acct (if available) # [x] Use SMTP tunneled over SSL (uses port 465) # # Optional: Main menu > P (Master password) to encrypt the saved passwords. ``` ## getmail6 File: `~/.config/getmail/getmailrc` ``` # IMAP over SSL into a Maildir (create it first: mkdir -p ~/Mail/forwardemail/INBOX/{cur,new,tmp}) [retriever] type = SimpleIMAPSSLRetriever server = imap.forwardemail.net port = 993 username = you@example.com password_command = ("pass", "show", "forwardemail/you@example.com") [destination] type = Maildir path = ~/Mail/forwardemail/INBOX/ [options] read_all = false delete = false # For POP3 instead: type = SimplePOP3SSLRetriever, server = pop3.forwardemail.net, port = 995 ``` ## Gnus File: `~/.emacs.d/init.el` ``` ;; ~/.emacs.d/init.el (or ~/.gnus.el) (setq user-mail-address "you@example.com" user-full-name "Your Name" gnus-select-method '(nnimap "forwardemail" (nnimap-address "imap.forwardemail.net") (nnimap-server-port 993) (nnimap-stream tls) (nnimap-user "you@example.com")) gnus-message-archive-group "nnimap+forwardemail:Sent Mail" message-send-mail-function 'smtpmail-send-it smtpmail-smtp-server "smtp.forwardemail.net" smtpmail-smtp-service 465 smtpmail-stream-type 'ssl smtpmail-smtp-user "you@example.com") ;; Passwords in ~/.authinfo.gpg (read by Emacs auth-source): ;; machine imap.forwardemail.net login you@example.com port 993 password YOUR-GENERATED-PASSWORD ;; machine smtp.forwardemail.net login you@example.com port 465 password YOUR-GENERATED-PASSWORD ;; Start with M-x gnus ``` ## Himalaya File: `~/.config/himalaya/config.toml` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) [accounts.forwardemail] default = true email = "you@example.com" display-name = "Your Name" imap.server = "imaps://imap.forwardemail.net:993" imap.sasl.plain.username = "you@example.com" imap.sasl.plain.password.command = "pass show email/forwardemail" smtp.server = "smtps://smtp.forwardemail.net:465" smtp.sasl.plain.username = "you@example.com" smtp.sasl.plain.password.command = "pass show email/forwardemail" # IMAP reports only the inbox role, so map the other folders by name mailbox.alias.sent = "Sent Mail" mailbox.alias.drafts = "Drafts" mailbox.alias.trash = "Trash" ``` ## isync File: `~/.mbsyncrc` ``` # Sync a Forward Email mailbox to ~/Mail/forwardemail (run: mkdir -p ~/Mail/forwardemail) # TLSType needs isync 1.5 or newer; on 1.4 write "SSLType IMAPS" instead. IMAPAccount forwardemail Host imap.forwardemail.net Port 993 User you@example.com PassCmd "pass show forwardemail/you@example.com" TLSType IMAPS IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local SubFolders Verbatim Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * Create Both Expunge Both SyncState * # Then run: mbsync forwardemail ``` ## Matcha File: `~/.config/matcha/config.json` ``` { "accounts": [ { "id": "forwardemail", "name": "Your Name", "email": "you@example.com", "service_provider": "custom", "imap_server": "imap.forwardemail.net", "imap_port": 993, "smtp_server": "smtp.forwardemail.net", "smtp_port": 465, "pass_cmd": "pass show forwardemail/you@example.com" } ] } ``` ## mblaze File: `~/.mbsyncrc, ~/.config/msmtp/config and ~/.mblaze/profile` ``` # 1) ~/.mbsyncrc: sync to ~/Mail/forwardemail (isync 1.5+ syntax) IMAPAccount forwardemail Host imap.forwardemail.net Port 993 User you@example.com PassCmd "pass show email/forwardemail" TLSType IMAPS IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local SubFolders Verbatim Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * Create Both SyncState * # 2) ~/.config/msmtp/config (chmod 600) account forwardemail host smtp.forwardemail.net port 465 tls on tls_starttls off auth on user you@example.com passwordeval "pass show email/forwardemail" from you@example.com account default : forwardemail # 3) ~/.mblaze/profile Local-Mailbox: Your Name Maildir: ~/Mail/forwardemail Outbox: ~/Mail/forwardemail/Sent Mail Sendmail: msmtp # Usage: mbsync forwardemail; mlist ~/Mail/forwardemail/INBOX | mthread | mscan ``` ## meli File: `~/.config/meli/config.toml` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) [accounts."forwardemail"] format = "imap" root_mailbox = "INBOX" subscribed_mailboxes = ["*"] identity = "you@example.com" display_name = "Your Name" server_hostname = "imap.forwardemail.net" server_port = 993 use_tls = true server_username = "you@example.com" server_password_command = "pass show email/forwardemail" send_mail = { hostname = "smtp.forwardemail.net", port = 465, auth = { type = "auto", username = "you@example.com", password = { type = "command_eval", value = "pass show email/forwardemail" } }, security = { type = "TLS" } } ``` ## msmtp File: `~/.msmtprc` ``` defaults auth on tls on # Debian/Ubuntu path; omit this line to use the system default trust store tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile ~/.msmtp.log account forwardemail host smtp.forwardemail.net port 465 tls_starttls off from you@example.com user you@example.com passwordeval pass show forwardemail/you@example.com account default : forwardemail # Test: printf 'Subject: test\n\nhello\n' | msmtp you@example.com ``` ## mu4e File: `~/.mbsyncrc and ~/.emacs.d/init.el` ``` # 1) ~/.mbsyncrc: sync the mailbox to ~/Mail/forwardemail (isync 1.5+ syntax) IMAPAccount forwardemail Host imap.forwardemail.net Port 993 User you@example.com PassCmd "pass show email/forwardemail" TLSType IMAPS IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local SubFolders Verbatim Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * !Drafts Create Both Expunge Both SyncState * # 2) First sync and index: # mbsync forwardemail # mu init --maildir=~/Mail --personal-address=you@example.com && mu index # 3) ~/.emacs.d/init.el (require 'mu4e) (setq user-mail-address "you@example.com" user-full-name "Your Name" mu4e-get-mail-command "mbsync forwardemail" mu4e-change-filenames-when-moving t mu4e-sent-folder "/forwardemail/Sent Mail" mu4e-drafts-folder "/forwardemail/Drafts" mu4e-trash-folder "/forwardemail/Trash" message-send-mail-function 'smtpmail-send-it smtpmail-smtp-server "smtp.forwardemail.net" smtpmail-smtp-service 465 smtpmail-stream-type 'ssl smtpmail-smtp-user "you@example.com") # 4) SMTP password in ~/.authinfo.gpg (read by Emacs auth-source): # machine smtp.forwardemail.net login you@example.com port 465 password YOUR-GENERATED-PASSWORD ``` ## Mutt File: `~/.muttrc` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) set realname = "Your Name" set from = "you@example.com" set imap_user = "you@example.com" set imap_pass = "`pass show email/forwardemail`" set folder = "imaps://imap.forwardemail.net:993/" set spoolfile = "+INBOX" set record = "+Sent Mail" set postponed = "+Drafts" set trash = "+Trash" # The @ in the username is URL-encoded as %40 set smtp_url = "smtps://you%40example.com@smtp.forwardemail.net:465/" set smtp_pass = "`pass show email/forwardemail`" set ssl_force_tls = yes ``` ## mutt-wizard File: `Generated: ~/.config/mutt/, ~/.mbsyncrc and ~/.config/msmtp/config` ``` # IMAP (mbsync) + SMTP (msmtp); the password is prompted for and stored in pass mw -a you@example.com -n "Your Name" \ -i imap.forwardemail.net -I 993 \ -s smtp.forwardemail.net -S 465 # Or POP3 with mpop instead of IMAP: # mw -a you@example.com -n "Your Name" -p -i pop3.forwardemail.net -I 995 -s smtp.forwardemail.net -S 465 # Then: mailsync (download mail) # neomutt (read and send) ``` ## NeoMutt File: `~/.config/neomutt/neomuttrc` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) set real_name = "Your Name" set from = "you@example.com" set imap_user = "you@example.com" set imap_pass = "`pass show email/forwardemail`" set folder = "imaps://imap.forwardemail.net:993" set spool_file = "+INBOX" set record = "+Sent Mail" set postponed = "+Drafts" set trash = "+Trash" set smtp_url = "smtps://smtp.forwardemail.net:465" set smtp_user = "you@example.com" set smtp_pass = "`pass show email/forwardemail`" set ssl_force_tls = yes ``` ## nmail File: `~/.config/nmail/main.conf` ``` address=you@example.com name=Your Name user=you@example.com imap_host=imap.forwardemail.net imap_port=993 smtp_host=smtp.forwardemail.net smtp_port=465 # Folder names must match the folders on the server inbox=INBOX drafts=Drafts sent=Sent Mail trash=Trash spam=Spam # Prompt for the alias' generated password at start instead of storing it save_pass=0 ``` ## nmh File: `~/.mh_profile` ``` # ~/.mh_profile Path: Mail Local-Mailbox: Your Name send: -server smtp.forwardemail.net -port 465 -initialtls -sasl -saslmech PLAIN -user you@example.com inc: -host pop3.forwardemail.net -port 995 -initialtls -user you@example.com # Optional per-user mts.conf: export MHMTSUSERCONF=~/.mts.conf # mts: smtp # servers: smtp.forwardemail.net # Passwords: with no "credentials:" profile entry nmh reads ~/.netrc (chmod 600): # machine smtp.forwardemail.net login you@example.com password YOUR-GENERATED-PASSWORD # machine pop3.forwardemail.net login you@example.com password YOUR-GENERATED-PASSWORD # Usage: inc (fetch over POP3), scan, show, comp (write), send # For IMAP, sync with mbsync to ~/Maildir/INBOX and run: inc -file ~/Maildir/INBOX ``` ## notmuch File: `~/.mbsyncrc and ~/.notmuch-config` ``` # notmuch only indexes local mail. Sync Forward Email to ~/Mail first with mbsync (~/.mbsyncrc): IMAPAccount forwardemail Host imap.forwardemail.net Port 993 User you@example.com PassCmd "pass show email/forwardemail" TLSType IMAPS IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local SubFolders Verbatim Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * Create Both SyncState * # ~/.notmuch-config [database] path=/home/you/Mail [user] name=Your Name primary_email=you@example.com [new] tags=unread;inbox; # Then: mbsync forwardemail && notmuch new # Search: notmuch search tag:unread from:someone@example.org ``` ## Notmuch Emacs interface File: `~/.mbsyncrc, ~/.config/msmtp/config and ~/.emacs.d/init.el` ``` # 1) ~/.mbsyncrc: sync the mailbox to ~/Mail/forwardemail (isync 1.5+ syntax) IMAPAccount forwardemail Host imap.forwardemail.net Port 993 User you@example.com PassCmd "pass show email/forwardemail" TLSType IMAPS IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local SubFolders Verbatim Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * Create Both SyncState * # 2) Index: run "notmuch setup" (database path ~/Mail, address you@example.com), # then: mbsync forwardemail && notmuch new # 3) ~/.config/msmtp/config (chmod 600) account forwardemail host smtp.forwardemail.net port 465 tls on tls_starttls off auth on user you@example.com passwordeval "pass show email/forwardemail" from you@example.com account default : forwardemail # 4) ~/.emacs.d/init.el (require 'notmuch) (setq user-mail-address "you@example.com" user-full-name "Your Name" message-send-mail-function 'message-send-mail-with-sendmail sendmail-program "msmtp" message-sendmail-envelope-from 'header mail-specify-envelope-from t notmuch-fcc-dirs "\"forwardemail/Sent Mail\" +sent -inbox -unread") ``` ## OfflineIMAP File: `~/.offlineimaprc` ``` [general] accounts = forwardemail pythonfile = ~/.offlineimap.py [Account forwardemail] localrepository = forwardemail-local remoterepository = forwardemail-remote [Repository forwardemail-local] type = Maildir localfolders = ~/Mail/forwardemail [Repository forwardemail-remote] type = IMAP remotehost = imap.forwardemail.net remoteport = 993 ssl = yes sslcacertfile = OS-DEFAULT remoteuser = you@example.com remotepasseval = get_pass("forwardemail/you@example.com") # ~/.offlineimap.py # import subprocess # def get_pass(name): # return subprocess.check_output(["pass", "show", name]).decode().splitlines()[0] ``` ## Pop File: `~/.bashrc (or your shell profile)` ``` # ~/.bashrc or ~/.zshrc export POP_SMTP_HOST=smtp.forwardemail.net export POP_SMTP_PORT=465 export POP_SMTP_ENCRYPTION=ssl # or port 587 with: starttls export POP_SMTP_USERNAME=you@example.com export POP_SMTP_PASSWORD="$(pass show email/forwardemail)" export POP_FROM=you@example.com # Interactive: pop # Scripted: pop < message.md --to friend@example.org --subject "Hello" ``` ## S-nail File: `~/.mailrc` ``` # ~/.mailrc (start with: s-nail -A forwardemail) set v15-compat set tls-verify=strict # Read credentials from an encrypted netrc file set netrc-lookup netrc-pipe='gpg -qd ~/.netrc.gpg' account forwardemail { set from='Your Name ' set folder=imaps://you%40example.com@imap.forwardemail.net \ inbox=imaps://you%40example.com@imap.forwardemail.net/INBOX \ record="+Sent Mail" set mta=smtps://you%40example.com@smtp.forwardemail.net:465 } # Decrypted contents of ~/.netrc.gpg: # machine imap.forwardemail.net login you@example.com password YOUR-GENERATED-PASSWORD # machine smtp.forwardemail.net login you@example.com password YOUR-GENERATED-PASSWORD # For POP3 instead of IMAP: set inbox=pop3s://you%40example.com@pop3.forwardemail.net ``` ## Sup File: `~/.sup/config.yaml` ``` # Sup reads local mail. Sync it from imap.forwardemail.net with isync (see the isync entry) into ~/Mail/forwardemail, # send with msmtp (see the msmtp entry), then add the source once: # sup-add maildir:$HOME/Mail/forwardemail/INBOX --- :accounts: :default: :name: Your Name :email: you@example.com :alternates: [] :sendmail: msmtp -a forwardemail --read-envelope-from -t :gpgkey: "" ``` ## Wanderlust File: `~/.wl` ``` ;; ~/.wl (setq elmo-imap4-default-server "imap.forwardemail.net" elmo-imap4-default-port 993 elmo-imap4-default-stream-type 'ssl elmo-imap4-default-user "you@example.com" elmo-imap4-default-authenticate-type 'clear wl-default-folder "%inbox" wl-fcc "%\"Sent Mail\"" wl-from "Your Name " wl-local-domain "example.com" wl-smtp-posting-server "smtp.forwardemail.net" wl-smtp-posting-port 465 wl-smtp-connection-type 'ssl wl-smtp-posting-user "you@example.com" wl-smtp-authenticate-type "plain") ;; Wanderlust prompts for the alias' generated password on first connect. ``` --- # Forward Email > Forward Email's webmail in the terminal: mail, calendar, contacts and settings, with mouse support and a key hint bar. The 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. - Type: Email client - Interface: Full-screen terminal interface - Systems: Runs on Linux, macOS, Windows and BSD, on Android through Termux. - Language: TypeScript - License: Business Source License 1.1 (BUSL-1.1) - Latest version: 0.14.16 - Background: The webmail at mail.forwardemail.net, built for the terminal - Maintained: yes - Website: https://forwardemail.net/ - Source: https://github.com/forwardemail/mail.forwardemail.net - Documentation: https://github.com/forwardemail/mail.forwardemail.net/blob/main/cli/README.md ## Install ### Linux Native. Standalone builds for x64 and arm64 need glibc. On musl systems such as Alpine Linux, install with npm. - install script: `curl -fsSL https://github.com/forwardemail/mail.forwardemail.net/releases/latest/download/install.sh | sh` - npm: `npm install -g forwardemail` ### macOS Native. Standalone builds for Apple Silicon and Intel. - install script: `curl -fsSL https://github.com/forwardemail/mail.forwardemail.net/releases/latest/download/install.sh | sh` - npm: `npm install -g forwardemail` ### Windows Native. Signed standalone builds for x64 and arm64. Windows Terminal is recommended over the legacy console. - PowerShell: `irm https://github.com/forwardemail/mail.forwardemail.net/releases/latest/download/install.ps1 | iex` - npm: `npm install -g forwardemail` ### BSD Native. Through npm, which runs anywhere Node.js 22 or later does. - npm: `npm install -g forwardemail` ### Android Through Termux. Through npm in Termux, which packages Node.js 24 and later. Not tested by the project. - Termux: `pkg install nodejs && npm install -g forwardemail` ## Protocols Connects through: Forward Email API over HTTPS, with new mail over WebSocket Accounts: A Forward Email account with a mailbox (paid plans start at $3 a month). forwardemail --demo opens a demo account with no sign-in. ## Features - OpenPGP: Yes - S/MIME: No - OAuth2 sign-in: No - Threads: Yes - Search: built-in, across messages, contacts and events - HTML mail: shown as formatted text with links; plain text by default - Mouse: Yes - Multiple accounts: Yes - Offline use: drafts and changes made offline are sent when the connection returns - Calendar: Yes - Contacts: Yes - Vim-style keys: No - Configuration: settings screens, keyboard shortcut editor and an optional user.css ## Pros - 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 ## Cons - Only works with Forward Email accounts - Images and video are not drawn; HTML mail is shown as text with links - Passkey sign-in needs a browser or the desktop app ## Install and run ``` # macOS and Linux curl -fsSL https://github.com/forwardemail/mail.forwardemail.net/releases/latest/download/install.sh | sh # Windows (PowerShell) irm https://github.com/forwardemail/mail.forwardemail.net/releases/latest/download/install.ps1 | iex # Any system with Node.js 22 or later npm install -g forwardemail forwardemail # sign in and read your mail forwardemail --demo # try it with sample data, no account needed ``` ## Questions ### Does Forward Email work on Windows? Yes, it runs natively on Windows. Signed standalone builds for x64 and arm64. Windows Terminal is recommended over the legacy console. ### Does Forward Email support IMAP? No. It connects to Forward Email over its API. For IMAP, use another client on this site with Forward Email's IMAP settings. ### Is Forward Email open source? Its source code is public under the Business Source License 1.1, which is source-available rather than open source. ### Do I need a Forward Email account? Yes, to read your own mail. A Forward Email account with a mailbox (paid plans start at $3 a month). forwardemail --demo opens a demo account with no sign-in. ## Sources - https://github.com/forwardemail/mail.forwardemail.net/blob/main/cli/README.md - https://github.com/forwardemail/mail.forwardemail.net/blob/main/LICENSE.md - https://www.npmjs.com/package/forwardemail - https://forwardemail.net/en/pricing - https://github.com/termux/termux-packages/tree/master/packages/nodejs --- # aerc > Terminal email client written in Go with IMAP, JMAP, Maildir and notmuch backends and an embedded terminal for editing. aerc is a full-screen terminal email client with tabs, vim-style keybindings and an embedded terminal that runs the editor and other programs inside the interface. It reads IMAP, JMAP, Maildir and notmuch mailboxes, opens mbox files read-only, and sends over SMTP or a sendmail command. It suits developers who review patches by email, with built-in commands for applying and replying to patch series. - Type: Email client - Interface: Full-screen terminal interface - Systems: Runs on Linux, macOS and BSD, on Windows through WSL, on Android through Termux. - Language: Go - License: MIT (MIT) - Latest version: 0.22.0 - Background: Continuation of the original aerc by Drew DeVault - Maintained: yes - Website: https://aerc-mail.org/ - Source: https://git.sr.ht/~rjarry/aerc - Documentation: https://man.sr.ht/~rjarry/aerc/ ## Install ### Linux Native. - apt: `sudo apt install aerc` - dnf: `sudo dnf install aerc` - pacman: `sudo pacman -S aerc` ### macOS Native. - Homebrew: `brew install aerc` ### Windows Through WSL. No native Windows build; runs in WSL. - WSL: `sudo apt install aerc` ### BSD Native. - FreeBSD pkg: `pkg install aerc` - OpenBSD: `pkg_add aerc` ### Android Through Termux. - Termux: `pkg install aerc` ## Protocols - IMAP: Yes - POP3: No - SMTP: Yes - JMAP: Yes - Maildir: Yes - mbox: Yes - notmuch: Yes ## Features - OpenPGP: Yes - S/MIME: No - OAuth2 sign-in: Yes - Threads: Yes - Search: built-in; server-side for IMAP and JMAP; notmuch queries - HTML mail: via filters, w3m by default - Mouse: Yes - Multiple accounts: Yes - Offline use: with mbsync or OfflineIMAP through the Maildir backend; IMAP header cache - Calendar: Yes - Contacts: via address-book-cmd, e.g. khard or the bundled carddav-query - Vim-style keys: Yes - Configuration: INI-style files: accounts.conf, aerc.conf, binds.conf ## Pros - 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 ## Cons - No POP3 or S/MIME support - mbox files open read-only - No native Windows build ## Use aerc with Forward Email File: `~/.config/aerc/accounts.conf (macOS: ~/Library/Preferences/aerc/accounts.conf)` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) # The @ in the username is URL-encoded as %40 [Forward Email] source = imaps://you%40example.com@imap.forwardemail.net:993 source-cred-cmd = pass show email/forwardemail outgoing = smtps://you%40example.com@smtp.forwardemail.net:465 outgoing-cred-cmd = pass show email/forwardemail from = Your Name default = INBOX copy-to = Sent Mail postpone = Drafts ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does aerc work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native Windows build; runs in WSL. ### Does aerc support IMAP? Yes, aerc connects to IMAP servers directly. ### Is aerc open source? Yes, under the MIT. ### How do I use aerc with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.config/aerc/accounts.conf (macOS: ~/Library/Preferences/aerc/accounts.conf), and replace the address and password with your own. ## Sources - https://aerc-mail.org/ - https://git.sr.ht/~rjarry/aerc - https://git.sr.ht/~rjarry/aerc/tree/master/item/LICENSE - https://git.sr.ht/~rjarry/aerc/tree/master/item/README.md - https://git.sr.ht/~rjarry/aerc/tree/master/item/doc/aerc-accounts.5.scd - https://git.sr.ht/~rjarry/aerc/tree/master/item/doc/aerc-imap.5.scd - https://git.sr.ht/~rjarry/aerc/tree/master/item/doc/aerc-smtp.5.scd - https://git.sr.ht/~rjarry/aerc/tree/master/item/doc/aerc-mbox.5.scd - https://git.sr.ht/~rjarry/aerc/tree/master/item/doc/aerc-config.5.scd - https://git.sr.ht/~rjarry/aerc/tree/master/item/doc/aerc.1.scd - https://man.sr.ht/~rjarry/aerc/ - https://formulae.brew.sh/formula/aerc - https://sources.debian.org/src/aerc/ - https://packages.fedoraproject.org/pkgs/aerc/aerc/ - https://archlinux.org/packages/extra/x86_64/aerc/ - https://www.freshports.org/mail/aerc/ - https://github.com/openbsd/ports/tree/master/mail/aerc - https://github.com/termux/termux-packages/tree/master/packages/aerc - https://github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js --- # alot > Terminal mail reader written in Python that works on a local notmuch database, with tag-based search and threads. alot is a full-screen terminal front end for the notmuch mail indexer, offered as an alternative to the notmuch Emacs mode. It reads mail from a local notmuch database, so remote mail must first be synced into a Maildir with a tool such as mbsync or OfflineIMAP, and it sends through a sendmail-compatible command such as msmtp. It suits users who organize mail with tags and searches instead of folders, and it can be extended with Python hooks. - Type: Email client - Interface: Full-screen terminal interface - Systems: Runs on Linux, macOS and BSD, on Windows through WSL. Not available for Android. - Language: Python - License: GPL 3.0 or later (GPL-3.0-or-later) - Latest version: 0.12 - Maintained: yes - Website: https://alot.readthedocs.io/ - Source: https://github.com/pazz/alot - Documentation: https://alot.readthedocs.io/en/latest/ ## Install ### Linux Native. - apt: `sudo apt install alot` - dnf: `sudo dnf install alot` - pacman: `sudo pacman -S alot` ### macOS Native. - Homebrew: `brew install alot` ### Windows Through WSL. No native Windows build; runs in WSL. - WSL: `sudo apt install alot` ### BSD Native. The FreeBSD port is an older release (0.9). - FreeBSD pkg: `pkg install mail/py-alot` ### Android Not supported. ## Protocols - IMAP: Through a separate tool - POP3: Through a separate tool - SMTP: Through a separate tool - JMAP: No - Maildir: Yes - mbox: No - notmuch: Yes ## Features - OpenPGP: Yes - S/MIME: No - OAuth2 sign-in: No - Threads: Yes - Search: notmuch queries - HTML mail: via mailcap, e.g. w3m -dump - Mouse: Yes - Multiple accounts: Yes - Offline use: always; reads a local notmuch database - Calendar: No - Contacts: via an external lookup command such as abook, khard or notmuch address - Vim-style keys: Yes - Configuration: INI-style config file plus optional Python hooks ## Pros - Tag-based searches through notmuch instead of folders - Full PGP/MIME signing and encryption - Python hooks for custom behavior and formatting ## Cons - Needs separate tools to fetch mail (mbsync) and send it (msmtp) - No direct IMAP, POP3 or SMTP support - No S/MIME support ## Use alot with Forward Email File: `~/.config/alot/config (plus ~/.mbsyncrc and ~/.config/msmtp/config)` ``` # alot reads a local notmuch database. Sync Forward Email over IMAP # into a Maildir with mbsync, index it with notmuch, and send with msmtp. # ~/.mbsyncrc (isync 1.5+; older versions use SSLType instead of TLSType) IMAPAccount forwardemail Host imap.forwardemail.net Port 993 TLSType IMAPS User you@example.com PassCmd "pass show email/forwardemail" IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX SubFolders Verbatim Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * Create Both SyncState * # Then run: mbsync forwardemail && notmuch setup && notmuch new # ~/.config/msmtp/config account forwardemail host smtp.forwardemail.net port 465 tls on tls_starttls off auth on user you@example.com passwordeval "pass show email/forwardemail" from you@example.com # ~/.config/alot/config [accounts] [[forwardemail]] realname = Your Name address = you@example.com sendmail_command = msmtp --account=forwardemail -t sent_box = maildir://~/Mail/forwardemail/Sent Mail draft_box = maildir://~/Mail/forwardemail/Drafts ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does alot work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native Windows build; runs in WSL. ### Does alot support IMAP? Through a separate tool. alot reads local mail, so a sync program such as isync copies it from the IMAP server. ### Is alot open source? Yes, under the GPL 3.0 or later. ### How do I use alot with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.config/alot/config (plus ~/.mbsyncrc and ~/.config/msmtp/config), and replace the address and password with your own. ## Sources - https://github.com/pazz/alot - https://github.com/pazz/alot/blob/master/COPYING - https://github.com/pazz/alot/blob/master/pyproject.toml - https://github.com/pazz/alot/blob/master/README.md - https://alot.readthedocs.io/en/latest/ - https://alot.readthedocs.io/en/latest/installation.html - https://alot.readthedocs.io/en/latest/configuration/accounts.html - https://alot.readthedocs.io/en/latest/configuration/config_options.html - https://formulae.brew.sh/formula/alot - https://sources.debian.org/src/alot/ - https://packages.fedoraproject.org/pkgs/alot/alot/ - https://archlinux.org/packages/extra/any/alot/ - https://www.freshports.org/mail/py-alot/ - https://manpages.debian.org/trixie/isync/mbsync.1.en.html - https://github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js --- # Alpine > Menu-driven terminal email client descended from Pine, with built-in help, setup screens and native Windows builds. Alpine is a full-screen email and news client that shows available commands at the bottom of every screen and is configured through built-in setup menus instead of a hand-written file. It reads IMAP, POP3 and NNTP, keeps local mail in mbox-style folders, sends over SMTP, and includes the Pico editor, S/MIME and XOAUTH2 for Gmail, Outlook and Yahoo. It suits users who prefer menus and on-screen command hints over memorized keybindings. The maintained version is developed by Eduardo Chappa. - Type: Email client - Interface: Full-screen terminal interface - Systems: Runs on Linux, macOS, Windows and BSD, on Android through Termux. - Language: C - License: Apache 2.0 (Apache-2.0) - Latest version: 2.26 - Background: Successor of Pine, continued from the University of Washington Alpine - Maintained: yes - Website: https://alpineapp.email/ - Source: https://repo.or.cz/alpine.git - Documentation: https://alpineapp.email/alpine/alpine-info/ ## Install ### Linux Native. - apt: `sudo apt install alpine` - dnf: `sudo dnf install alpine` ### macOS Native. - Homebrew: `brew install alpine` ### Windows Native. Official 64-bit and 32-bit Windows builds (PC-Alpine) are published as ZIP files. - Official ZIP: `Download alpine-2.26.zip from https://alpineapp.email/alpine/release/` ### BSD Native. - FreeBSD pkg: `pkg install alpine` - OpenBSD: `pkg_add alpine` ### Android Through Termux. - Termux: `pkg install alpine` ## Protocols - IMAP: Yes - POP3: Yes - SMTP: Yes - JMAP: No - Maildir: No - mbox: Yes - notmuch: No ## Features - OpenPGP: via plugin - S/MIME: Yes - OAuth2 sign-in: Yes - Threads: Yes - Search: built-in search and message selection; server-side for IMAP - HTML mail: built-in HTML-to-text rendering - Mouse: Yes - Multiple accounts: Yes - Offline use: No - Calendar: Yes - Contacts: built-in address book; LDAP lookup - Vim-style keys: No - Configuration: built-in setup screens, stored in .pinerc ## Pros - Command list on every screen and built-in help for each option - Official native Windows builds alongside Unix packages - Built-in XOAUTH2 for Gmail, Outlook and Yahoo, and built-in S/MIME ## Cons - PGP needs external display and sending filters - No Maildir, notmuch or JMAP support - Last stable release is 2.26; newer work is in alpha builds ## Use Alpine with Forward Email File: `~/.pinerc` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) # Set these in Setup > Config, or edit ~/.pinerc while Alpine is closed. # Alpine has no password command; it prompts and can save passwords # in its encrypted password file. personal-name=Your Name user-domain=example.com customized-hdrs=From: Your Name inbox-path={imap.forwardemail.net:993/ssl/user=you@example.com}INBOX folder-collections=ForwardEmail {imap.forwardemail.net:993/ssl/user=you@example.com}[] default-fcc={imap.forwardemail.net:993/ssl/user=you@example.com}Sent Mail postponed-folder={imap.forwardemail.net:993/ssl/user=you@example.com}Drafts smtp-server=smtp.forwardemail.net:465/ssl/user=you@example.com ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does Alpine work on Windows? Yes, it runs natively on Windows. Official 64-bit and 32-bit Windows builds (PC-Alpine) are published as ZIP files. ### Does Alpine support IMAP? Yes, Alpine connects to IMAP servers directly. ### Is Alpine open source? Yes, under the Apache 2.0. ### How do I use Alpine with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.pinerc, and replace the address and password with your own. ## Sources - https://alpineapp.email/ - https://alpineapp.email/alpine/release/ - https://alpineapp.email/alpine/alpine-info/ - https://alpineapp.email/alpine/alpine-info/misc/xoauth2.html - https://repo.or.cz/alpine.git - https://repo.or.cz/alpine.git/blob/HEAD:/LICENSE - https://repo.or.cz/alpine.git/blob/HEAD:/pith/pine.hlp - https://formulae.brew.sh/formula/alpine - https://sources.debian.org/src/alpine/ - https://packages.fedoraproject.org/pkgs/alpine/alpine/ - https://www.freshports.org/mail/alpine/ - https://github.com/openbsd/ports/tree/master/mail/alpine - https://github.com/termux/termux-packages/tree/master/packages/alpine - https://github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js --- # Cone > Full-screen console mail client and newsreader from the Courier mail server project. Cone (COnsole Newsreader And Emailer) is a curses mail client for IMAP, POP3, local mbox and Maildir folders, and Usenet newsgroups. It has a built-in editor with spell checking, address books that can live in an IMAP folder or LDAP, and OpenPGP signing and encryption through GnuPG. It sends through an SMTP server with optional SSL and authentication, or through the local sendmail command. It shares code with the Courier mail server, and most Linux users build it from source with the RPM or DEB scripts upstream provides. - Type: Email client - Interface: Full-screen terminal interface - Systems: Runs on BSD, on Windows through WSL, builds from source on Linux. Not available for macOS or Android. - Language: C++ - License: GPL 3.0 (GPL-3.0-only) - Latest version: 2.5 - Background: Part of the Courier mail server project; built on the LibMAIL C++ library - Maintained: yes - Website: https://www.courier-mta.org/cone/ - Source: https://github.com/svarshavchik/courier - Documentation: https://www.courier-mta.org/cone/ ## Install ### Linux Build from source. No distribution packages in Debian, Fedora or Arch; upstream documents building RPM packages with rpmbuild and DEB packages with courier-debuild. - rpmbuild: `rpmbuild -ta cone-2.5.tar.bz2` - courier-debuild: `./courier-debuild -us -uc` ### macOS Not supported. No Homebrew formula and no documented macOS build. ### Windows Through WSL. No native build; build it from source inside WSL. ### BSD Native. - FreeBSD pkg: `pkg install cone` ### Android Not supported. No Termux package. ## Protocols - IMAP: Yes - POP3: Yes - SMTP: Yes - JMAP: No - Maildir: Yes - mbox: Yes - notmuch: No ## Features - OpenPGP: Yes - S/MIME: No - OAuth2 sign-in: No - Threads: Yes - Search: built-in folder search; server-side on IMAP - HTML mail: built-in HTML renderer - Mouse: No - Multiple accounts: Yes - Offline use: No - Calendar: No - Contacts: built-in address books, stored locally, in an IMAP folder, or on LDAP - Vim-style keys: No - Configuration: interactive setup screens; settings saved under ~/.cone ## Pros - Handles IMAP, POP3, local mbox and Maildir folders, and newsgroups in one folder tree. - Built-in OpenPGP signing and encryption with per-account keys. - Optional master password encrypts saved server passwords. ## Cons - Not packaged by Debian, Fedora, Arch or Homebrew; usually built from source. - No offline mode for IMAP accounts and no OAuth2. - No S/MIME support. ## Use Cone with Forward Email File: `~/.cone (written by the setup screens)` ``` # Cone is configured from its menus; settings are saved under ~/.cone. # IMAP account: Main menu > N (New account) > I (IMAP account) # Server: imap.forwardemail.net (port 993 is the default with encryption on) # Login: you@example.com # [x] Use an encrypted connection # Enter the alias' generated password when prompted. # (POP3 instead: N > P (POP3 account), Server: pop3.forwardemail.net, encrypted connection on (port 995)) # # Outgoing mail: Main menu > S (Setup) # Outgoing SMTP Server: smtp.forwardemail.net # SMTP userid (optional): you@example.com # [ ] Send mail via main acct (if available) # [x] Use SMTP tunneled over SSL (uses port 465) # # Optional: Main menu > P (Master password) to encrypt the saved passwords. ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does Cone work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native build; build it from source inside WSL. ### Does Cone support IMAP? Yes, Cone connects to IMAP servers directly. ### Is Cone open source? Yes, under the GPL 3.0. ### How do I use Cone with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.cone (written by the setup screens), and replace the address and password with your own. ## Sources - https://www.courier-mta.org/cone/ - https://www.courier-mta.org/cone/INSTALL.html - https://github.com/svarshavchik/courier/tree/master/cone - https://github.com/svarshavchik/courier/blob/master/cone/ChangeLog - https://github.com/svarshavchik/courier/blob/master/cone/cone.spec.in - https://github.com/svarshavchik/courier/blob/master/cone/cone/configscreen.C - https://github.com/svarshavchik/courier/blob/master/cone/cone/mainmenu.C - https://github.com/svarshavchik/courier/blob/master/cone/cone/cone.C - https://github.com/svarshavchik/courier/blob/master/cone/cone/sgml/mail-open.sgml - https://github.com/svarshavchik/courier-libs/blob/master/common/COPYING - https://sourceforge.net/projects/courier/files/cone/2.5/ - https://github.com/freebsd/freebsd-ports/blob/main/mail/cone/Makefile - https://packages.debian.org/sid/cone - https://aur.archlinux.org/packages/cone - https://formulae.brew.sh/api/formula.json --- # getmail6 > Mail retriever that downloads messages over POP3 or IMAP into Maildir, mbox or an external delivery program. getmail6 is the Python 3 continuation of getmail. It fetches mail one way from POP3 or IMAP servers and delivers it to a Maildir, an mboxrd file or a program such as procmail or maildrop, with optional filtering. Each account has its own rc file. It suits users who want a simple download into local storage rather than a two-way IMAP sync. - Type: Mail tool - Interface: Command-line tools and prompts - Systems: Runs on Linux, macOS and BSD, on Windows through WSL. Not available for Android. - Language: Python - License: GPL 2.0 (GPL-2.0-only) - Latest version: 6.20.01 - Background: Python 3 fork of getmail 5 by Charles Cazabon - Maintained: yes - Website: https://getmail6.org/ - Source: https://github.com/getmail6/getmail6 - Documentation: https://getmail6.org/configuration.html ## Install ### Linux Native. - apt: `sudo apt install getmail6` - dnf: `sudo dnf install getmail6` - pip: `pip install getmail6` ### macOS Native. - Homebrew: `brew install getmail6` - MacPorts: `sudo port install getmail6` ### Windows Through WSL. No native Windows package; use WSL. - WSL: `sudo apt install getmail6` ### BSD Native. - FreeBSD pkg: `pkg install py312-getmail6` ### Android Not supported. ## Protocols - IMAP: Yes - POP3: Yes - SMTP: No - JMAP: No - Maildir: Yes - mbox: Yes - notmuch: No ## Features - OpenPGP: No - S/MIME: No - OAuth2 sign-in: Yes - Threads: No - Search: No - HTML mail: No - Mouse: No - Multiple accounts: Yes - Offline use: downloads mail to a local Maildir or mbox - Calendar: No - Contacts: No - Vim-style keys: No - Configuration: one getmailrc INI file per account in ~/.config/getmail/ ## Pros - Supports both POP3 and IMAP, including SSL variants - Delivers to Maildir, mboxrd or an external MDA with filters - password_command reads the password from an external program ## Cons - One-way download only; changes are not synced back to the server - Needs one rc file per account - No sending; pair it with an SMTP tool such as msmtp ## Use getmail6 with Forward Email File: `~/.config/getmail/getmailrc` ``` # IMAP over SSL into a Maildir (create it first: mkdir -p ~/Mail/forwardemail/INBOX/{cur,new,tmp}) [retriever] type = SimpleIMAPSSLRetriever server = imap.forwardemail.net port = 993 username = you@example.com password_command = ("pass", "show", "forwardemail/you@example.com") [destination] type = Maildir path = ~/Mail/forwardemail/INBOX/ [options] read_all = false delete = false # For POP3 instead: type = SimplePOP3SSLRetriever, server = pop3.forwardemail.net, port = 995 ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does getmail6 work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native Windows package; use WSL. ### Does getmail6 support IMAP? Yes, getmail6 connects to IMAP servers directly. ### Is getmail6 open source? Yes, under the GPL 2.0. ### How do I use getmail6 with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.config/getmail/getmailrc, and replace the address and password with your own. ## Sources - https://getmail6.org/ - https://getmail6.org/configuration.html - https://github.com/getmail6/getmail6 - https://github.com/getmail6/getmail6/blob/master/README - https://github.com/getmail6/getmail6/blob/master/docs/configuration.txt - https://github.com/getmail6/getmail6/blob/master/docs/getmailrc-examples - https://packages.debian.org/search?keywords=getmail6&searchon=names&exact=1 - https://packages.ubuntu.com/getmail6 - https://mdapi.fedoraproject.org/rawhide/pkg/getmail6 - https://formulae.brew.sh/formula/getmail6 - https://ports.macports.org/port/getmail6/ - https://www.freshports.org/mail/getmail6/ --- # Gnus > Mail and news reader built into GNU Emacs, with back ends for IMAP, POP3, local mail folders and NNTP. Gnus ships with GNU Emacs, so it needs no separate install once Emacs is present. It treats mail folders, IMAP mailboxes and Usenet newsgroups alike as groups, and can talk to IMAP directly or work on local Maildir, MH and mbox stores. Sending goes through Emacs message mode and smtpmail. It suits Emacs users who want one program for mail, newsgroups and feeds and are willing to learn its group and summary model. - Type: Email client - Interface: Runs inside Emacs - Systems: Runs on Linux, macOS, Windows and BSD, on Android through Termux. - Language: Emacs Lisp - License: GPL 3.0 or later (GPL-3.0-or-later) - Latest version: 5.13 (bundled with Emacs 31.1) - Background: Rewrite of GNUS, the earlier Emacs newsreader; part of GNU Emacs - Maintained: yes - Website: https://www.gnus.org/ - Source: https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/gnus - Documentation: https://www.gnu.org/software/emacs/manual/gnus.html ## Install ### Linux Native. - apt: `sudo apt install emacs` - dnf: `sudo dnf install emacs` - pacman: `sudo pacman -S emacs` ### macOS Native. - Homebrew: `brew install emacs` - Homebrew Cask: `brew install --cask emacs-app` ### Windows Native. Gnus runs in native Windows builds of GNU Emacs. - winget: `winget install GNU.Emacs` - Scoop: `scoop bucket add extras && scoop install extras/emacs` ### BSD Native. - FreeBSD pkg: `pkg install emacs` - OpenBSD: `pkg_add emacs` ### Android Through Termux. - Termux: `pkg install emacs` ## Protocols - IMAP: Yes - POP3: Yes - SMTP: Yes - JMAP: No - Maildir: Yes - mbox: Yes - notmuch: Through a separate tool ## Features - OpenPGP: Yes - S/MIME: Yes - OAuth2 sign-in: via plugin - Threads: Yes - Search: gnus-search: IMAP SEARCH, or notmuch, mu, mairix and other local indexers - HTML mail: built-in, rendered with the Emacs shr library - Mouse: Yes - Multiple accounts: Yes - Offline use: via the Gnus agent or local Maildir back ends - Calendar: replies to invitations with gnus-icalendar - Contacts: via BBDB or EUDC - Vim-style keys: No - Configuration: Emacs Lisp in init.el or ~/.gnus.el ## Pros - 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. ## Cons - 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. ## Use Gnus with Forward Email File: `~/.emacs.d/init.el` ``` ;; ~/.emacs.d/init.el (or ~/.gnus.el) (setq user-mail-address "you@example.com" user-full-name "Your Name" gnus-select-method '(nnimap "forwardemail" (nnimap-address "imap.forwardemail.net") (nnimap-server-port 993) (nnimap-stream tls) (nnimap-user "you@example.com")) gnus-message-archive-group "nnimap+forwardemail:Sent Mail" message-send-mail-function 'smtpmail-send-it smtpmail-smtp-server "smtp.forwardemail.net" smtpmail-smtp-service 465 smtpmail-stream-type 'ssl smtpmail-smtp-user "you@example.com") ;; Passwords in ~/.authinfo.gpg (read by Emacs auth-source): ;; machine imap.forwardemail.net login you@example.com port 993 password YOUR-GENERATED-PASSWORD ;; machine smtp.forwardemail.net login you@example.com port 465 password YOUR-GENERATED-PASSWORD ;; Start with M-x gnus ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does Gnus work on Windows? Yes, it runs natively on Windows. Gnus runs in native Windows builds of GNU Emacs. ### Does Gnus support IMAP? Yes, Gnus connects to IMAP servers directly. ### Is Gnus open source? Yes, under the GPL 3.0 or later. ### How do I use Gnus with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.emacs.d/init.el, and replace the address and password with your own. ## Sources - https://www.gnus.org/ - https://gnus.org/manual.html - https://gnus.org/history.html - https://www.gnu.org/software/emacs/manual/gnus.html - https://github.com/emacs-mirror/emacs/blob/emacs-31/lisp/gnus/gnus.el - https://github.com/emacs-mirror/emacs/blob/emacs-31/lisp/gnus/nnimap.el - https://github.com/emacs-mirror/emacs/blob/emacs-31/lisp/gnus/gnus-search.el - https://github.com/emacs-mirror/emacs/blob/emacs-31/lisp/gnus/gnus-icalendar.el - https://github.com/emacs-mirror/emacs/blob/emacs-31/lisp/gnus/nnmaildir.el - https://github.com/emacs-mirror/emacs/blob/emacs-31/lisp/gnus/mml-smime.el - https://github.com/emacs-mirror/emacs/blob/emacs-31/lisp/mail/smtpmail.el - https://ftp.gnu.org/gnu/emacs/ - https://packages.debian.org/trixie/emacs - https://mdapi.fedoraproject.org/rawhide/pkg/emacs - https://archlinux.org/packages/extra/x86_64/emacs/ - https://formulae.brew.sh/formula/emacs - https://formulae.brew.sh/cask/emacs-app - https://github.com/microsoft/winget-pkgs/tree/master/manifests/g/GNU/Emacs - https://github.com/ScoopInstaller/Extras/blob/master/bucket/emacs.json - https://github.com/freebsd/freebsd-ports/blob/main/editors/emacs/Makefile - https://github.com/openbsd/ports/blob/master/editors/emacs/Makefile - https://github.com/termux/termux-packages/blob/master/packages/emacs/build.sh - https://github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js --- # Himalaya > Command-line email client written in Rust that lists, reads, sends and moves mail through shell commands with JSON output. Himalaya is a stateless command-line email client: each action, such as listing envelopes or sending a message, is a separate shell command, so it fits scripts, editor plugins and other tools. It talks to IMAP, SMTP, JMAP, the Gmail API and Microsoft Graph, and reads Maildir and m2dir folders. Version 2 moved composing, PGP and OAuth token handling into separate Pimalaya tools (mml and ortie); a full-screen interface, himalaya-tui, is developed separately and is still pre-release. - Type: Email client - Interface: Command-line tools and prompts - Systems: Runs on Linux, macOS and Windows, builds from source on BSD. Not available for Android. - Language: Rust - License: MIT or Apache 2.0 (MIT OR Apache-2.0) - Latest version: 2.1.0 - Maintained: yes - Website: https://pimalaya.org/ - Source: https://github.com/pimalaya/himalaya - Documentation: https://github.com/pimalaya/himalaya#readme ## Install ### Linux Native. - pacman: `sudo pacman -S himalaya` - Nix: `nix profile install github:pimalaya/himalaya` - cargo: `cargo install --locked --git https://github.com/pimalaya/himalaya.git` - Install script: `curl -sSL https://raw.githubusercontent.com/pimalaya/himalaya/master/install.sh | PREFIX=~/.local sh` ### macOS Native. - Homebrew: `brew install himalaya` - cargo: `cargo install --locked --git https://github.com/pimalaya/himalaya.git` ### Windows Native. Prebuilt x86_64 Windows binary on GitHub releases. - Scoop: `scoop install himalaya` ### BSD Build from source. No BSD package or prebuilt binary. - cargo: `cargo install --locked --git https://github.com/pimalaya/himalaya.git` ### Android Not supported. ## Protocols - IMAP: Yes - POP3: No - SMTP: Yes - JMAP: Yes - Maildir: Yes - mbox: No - notmuch: No ## Features - OpenPGP: No - S/MIME: No - OAuth2 sign-in: via script - Threads: through the IMAP, JMAP and Gmail subcommands - Search: built-in query syntax across backends; server-side for IMAP and JMAP - HTML mail: No - Mouse: No - Multiple accounts: Yes - Offline use: with the Maildir backend and a sync tool such as mbsync - Calendar: No - Contacts: No - Vim-style keys: No - Configuration: TOML file; interactive setup wizard ## Pros - 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 ## Cons - 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 ## Use Himalaya with Forward Email File: `~/.config/himalaya/config.toml` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) [accounts.forwardemail] default = true email = "you@example.com" display-name = "Your Name" imap.server = "imaps://imap.forwardemail.net:993" imap.sasl.plain.username = "you@example.com" imap.sasl.plain.password.command = "pass show email/forwardemail" smtp.server = "smtps://smtp.forwardemail.net:465" smtp.sasl.plain.username = "you@example.com" smtp.sasl.plain.password.command = "pass show email/forwardemail" # IMAP reports only the inbox role, so map the other folders by name mailbox.alias.sent = "Sent Mail" mailbox.alias.drafts = "Drafts" mailbox.alias.trash = "Trash" ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does Himalaya work on Windows? Yes, it runs natively on Windows. Prebuilt x86_64 Windows binary on GitHub releases. ### Does Himalaya support IMAP? Yes, Himalaya connects to IMAP servers directly. ### Is Himalaya open source? Yes, under the MIT or Apache 2.0. ### How do I use Himalaya with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.config/himalaya/config.toml, and replace the address and password with your own. ## Sources - https://pimalaya.org/ - https://github.com/pimalaya/himalaya - https://github.com/pimalaya/himalaya/blob/master/README.md - https://github.com/pimalaya/himalaya/blob/master/MIGRATION.md - https://github.com/pimalaya/himalaya/blob/master/CHANGELOG.md - https://github.com/pimalaya/himalaya/blob/v2.1.0/config.sample.toml - https://github.com/pimalaya/himalaya/blob/v2.1.0/Cargo.toml - https://github.com/pimalaya/himalaya/blob/master/install.sh - https://github.com/pimalaya/himalaya-tui - https://crates.io/crates/himalaya - https://formulae.brew.sh/formula/himalaya - https://archlinux.org/packages/extra/x86_64/himalaya/ - https://github.com/ScoopInstaller/Main/blob/master/bucket/himalaya.json - https://github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js --- # isync > Command line program (mbsync) that syncs IMAP mailboxes with local Maildir folders in both directions. isync is the project name; the program is called mbsync. It keeps a local Maildir copy of IMAP folders and propagates new messages, deletions and flag changes both ways, using one state file per mailbox pair. It is a common companion to Maildir-based clients such as NeoMutt, aerc, mu4e and notmuch. Sending mail is out of scope; pair it with an SMTP tool such as msmtp. - Type: Mail tool - Interface: Command-line tools and prompts - Systems: Runs on Linux, macOS and BSD, on Windows through WSL, on Android through Termux. - Language: C - License: GPL 2.0 or later (GPL-2.0-or-later) - Latest version: 1.5.1 - Maintained: yes - Website: https://isync.sourceforge.io/ - Source: https://sourceforge.net/p/isync/isync/ - Documentation: https://isync.sourceforge.io/mbsync.html ## Install ### Linux Native. - apt: `sudo apt install isync` - dnf: `sudo dnf install isync` - pacman: `sudo pacman -S isync` - apk: `sudo apk add isync` ### macOS Native. - Homebrew: `brew install isync` - MacPorts: `sudo port install isync` ### Windows Through WSL. No native Windows build; use WSL. - WSL: `sudo apt install isync` ### BSD Native. - FreeBSD pkg: `pkg install isync` - OpenBSD: `pkg_add isync` ### Android Through Termux. - Termux: `pkg install isync` ## Protocols - IMAP: Yes - POP3: No - SMTP: No - JMAP: No - Maildir: Yes - mbox: No - notmuch: No ## Features - OpenPGP: No - S/MIME: No - OAuth2 sign-in: via a Cyrus SASL XOAUTH2 plugin and PassCmd - Threads: No - Search: No - HTML mail: No - Mouse: No - Multiple accounts: Yes - Offline use: keeps a full local Maildir copy - Calendar: No - Contacts: No - Vim-style keys: No - Configuration: ~/.mbsyncrc or ~/.config/isyncrc text file ## Pros - Two-way sync of messages, deletions and flags between IMAP and Maildir - PassCmd reads the password from any command, such as pass or gpg - Packaged for nearly every Linux distribution, macOS, the BSDs and Termux ## Cons - Version 1.5 renamed options (SSLType to TLSType), so older guides need edits - Only IMAP and Maildir; no POP3 and no sending - No built-in daemon or IDLE watch; runs from cron, a timer or the mail client ## Use isync with Forward Email File: `~/.mbsyncrc` ``` # Sync a Forward Email mailbox to ~/Mail/forwardemail (run: mkdir -p ~/Mail/forwardemail) # TLSType needs isync 1.5 or newer; on 1.4 write "SSLType IMAPS" instead. IMAPAccount forwardemail Host imap.forwardemail.net Port 993 User you@example.com PassCmd "pass show forwardemail/you@example.com" TLSType IMAPS IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local SubFolders Verbatim Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * Create Both Expunge Both SyncState * # Then run: mbsync forwardemail ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does isync work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native Windows build; use WSL. ### Does isync support IMAP? Yes, isync connects to IMAP servers directly. ### Is isync open source? Yes, under the GPL 2.0 or later. ### How do I use isync with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.mbsyncrc, and replace the address and password with your own. ## Sources - https://isync.sourceforge.io/ - https://sourceforge.net/p/isync/isync/ci/master/tree/ - https://sourceforge.net/p/isync/isync/ci/master/tree/NEWS - https://sourceforge.net/p/isync/isync/ci/master/tree/src/mbsync.1.in - https://sourceforge.net/p/isync/isync/ci/master/tree/src/mbsyncrc.sample - https://sourceforge.net/p/isync/isync/ci/master/tree/LICENSES/ - https://packages.debian.org/search?keywords=isync&searchon=names&exact=1 - https://packages.ubuntu.com/isync - https://mdapi.fedoraproject.org/rawhide/pkg/isync - https://archlinux.org/packages/extra/x86_64/isync/ - https://pkgs.alpinelinux.org/packages?name=isync - https://formulae.brew.sh/formula/isync - https://ports.macports.org/port/isync/ - https://www.freshports.org/mail/isync/ - https://openports.pl/path/mail/isync - https://github.com/termux/termux-packages/tree/master/packages/isync --- # Matcha > Terminal email client written in Go with the Bubble Tea TUI library, with IMAP, JMAP and POP3 support. Matcha is a full-screen terminal email client by Floatpane. It talks to IMAP, JMAP, POP3 or a local Maildir and sends over SMTP, with multiple accounts, PGP and S/MIME, threaded view, inline images in terminals that support image protocols, and Lua plugins. Accounts and settings live in a JSON file, and a background daemon handles new mail notifications. It suits users who want a modern, mouse-capable client with presets for Gmail, iCloud and Outlook. - Type: Email client - Interface: Full-screen terminal interface - Systems: Runs on Linux, macOS and Windows, builds from source on BSD. Not available for Android. - Language: Go - License: MIT (MIT) - Latest version: v1.0.1 - Maintained: yes - Website: https://matcha.email/ - Source: https://github.com/floatpane/matcha - Documentation: https://docs.matcha.email/ ## Install ### Linux Native. - Snap: `sudo snap install matcha` - Flatpak: `flatpak install https://matcha.email/matcha.flatpakref` - Nix: `nix profile install github:floatpane/matcha` ### macOS Native. - Homebrew: `brew install --cask floatpane/matcha/matcha` ### Windows Native. - winget: `winget install --id=floatpane.matcha` ### BSD Build from source. No ports package; build with Go. - Go: `git clone https://github.com/floatpane/matcha && cd matcha && go build .` ### Android Not supported. ## Protocols - IMAP: Yes - POP3: Yes - SMTP: Yes - JMAP: Yes - Maildir: Yes - mbox: No - notmuch: No ## Features - OpenPGP: Yes - S/MIME: Yes - OAuth2 sign-in: Yes - Threads: Yes - Search: built-in search and filter - HTML mail: built-in rendering, with inline images in supported terminals - Mouse: Yes - Multiple accounts: Yes - Offline use: local cache of message lists and bodies - Calendar: shows .ics invites and sends RSVP replies - Contacts: address book built from sent and received mail - Vim-style keys: Yes - Configuration: ~/.config/matcha/config.json plus in-app settings ## Pros - Supports IMAP, JMAP, POP3 and Maildir in one client - PGP (including YubiKey) and S/MIME signing and encryption - Prebuilt packages for Linux (Snap, Flatpak), macOS (Homebrew tap) and Windows (winget) ## Cons - Young project; v1.0 shipped only after a long series of 0.x releases - JSON config is less readable to hand-edit than muttrc-style files - Binary name clashes with an unrelated tool also called matcha ## Use Matcha with Forward Email File: `~/.config/matcha/config.json` ``` { "accounts": [ { "id": "forwardemail", "name": "Your Name", "email": "you@example.com", "service_provider": "custom", "imap_server": "imap.forwardemail.net", "imap_port": 993, "smtp_server": "smtp.forwardemail.net", "smtp_port": 465, "pass_cmd": "pass show forwardemail/you@example.com" } ] } ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does Matcha work on Windows? Yes, it runs natively on Windows. ### Does Matcha support IMAP? Yes, Matcha connects to IMAP servers directly. ### Is Matcha open source? Yes, under the MIT. ### How do I use Matcha with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.config/matcha/config.json, and replace the address and password with your own. ## Sources - https://matcha.email/ - https://github.com/floatpane/matcha - https://github.com/floatpane/matcha/blob/master/LICENSE - https://github.com/floatpane/matcha/releases/tag/v1.0.1 - https://github.com/floatpane/matcha/blob/master/docs/docs/installation.md - https://github.com/floatpane/matcha/blob/master/docs/docs/Configuration.md - https://github.com/floatpane/matcha/blob/master/docs/docs/Features/PassCmd.md - https://github.com/floatpane/matcha/blob/master/docs/docs/Features/Keybinds.md - https://github.com/floatpane/matcha/blob/master/docs/docs/Features/CALENDAR.md - https://github.com/floatpane/matcha/blob/master/backend/README.md - https://github.com/floatpane/matcha/blob/master/config/config.go - https://github.com/floatpane/matcha/blob/master/fetcher/fetcher.go - https://github.com/floatpane/matcha/blob/master/sender/sender.go - https://github.com/floatpane/homebrew-matcha - https://github.com/microsoft/winget-pkgs/tree/master/manifests/f/floatpane/matcha - https://snapcraft.io/matcha - https://docs.matcha.email/ --- # mblaze > Set of small Unix utilities for reading, searching, threading and composing mail stored in Maildir folders. mblaze is a collection of commands such as mlist, mscan, mshow, mthread, mpick and mcom that are combined in shell pipes. It works directly on Maildir folders with no database or cache, and can import and export mbox files; its design is inspired by MH but written from scratch. It has no networking of its own: a sync tool such as mbsync fetches mail and a sendmail-compatible program such as msmtp sends it. It suits users who want to script mail handling with standard Unix tools. - Type: Email client - Interface: Command-line tools and prompts - Systems: Runs on Linux, macOS and BSD, on Windows through WSL. Not available for Android. - Language: C - License: CC0 1.0 and MIT (CC0-1.0 AND MIT) - Latest version: 1.4 - Background: Inspired by MH; written from scratch - Maintained: yes - Website: https://github.com/leahneukirchen/mblaze - Source: https://github.com/leahneukirchen/mblaze - Documentation: https://github.com/leahneukirchen/mblaze/blob/master/README ## Install ### Linux Native. - apt: `sudo apt install mblaze` - xbps: `sudo xbps-install mblaze` - AUR: `yay -S mblaze` ### macOS Native. No Homebrew formula; available through Nix or by building from source with GNU make. - Nix: `nix profile install nixpkgs#mblaze` ### Windows Through WSL. No native build; upstream lists Cygwin as tested, and the Debian package works in WSL. - WSL: `sudo apt install mblaze` ### BSD Native. - FreeBSD pkg: `pkg install mblaze` - OpenBSD: `pkg_add mblaze` ### Android Not supported. No Termux package. ## Protocols - IMAP: Through a separate tool - POP3: Through a separate tool - SMTP: Through a separate tool - JMAP: No - Maildir: Yes - mbox: No - notmuch: No ## Features - OpenPGP: via contrib scripts - S/MIME: No - OAuth2 sign-in: No - Threads: Yes - Search: mpick and magrep filter messages by headers, flags and content - HTML mail: via a filter command in ~/.mblaze/filter used by mshow - Mouse: No - Multiple accounts: via separate Maildirs and profile settings - Offline use: full; works only on local Maildir - Calendar: No - Contacts: No - Vim-style keys: No - Configuration: ~/.mblaze/profile (header-style key: value lines) ## Pros - Each command does one job, so mail handling is easy to combine in pipes and scripts. - Works directly on Maildir with no index or database to maintain. - Small C programs with no external library dependencies. ## Cons - No built-in IMAP, POP3 or SMTP; needs mbsync and msmtp or similar tools. - Command-line only, with no full-screen interface. - OpenPGP and S/MIME handling relies on unsupported contrib scripts. ## Use mblaze with Forward Email File: `~/.mbsyncrc, ~/.config/msmtp/config and ~/.mblaze/profile` ``` # 1) ~/.mbsyncrc: sync to ~/Mail/forwardemail (isync 1.5+ syntax) IMAPAccount forwardemail Host imap.forwardemail.net Port 993 User you@example.com PassCmd "pass show email/forwardemail" TLSType IMAPS IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local SubFolders Verbatim Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * Create Both SyncState * # 2) ~/.config/msmtp/config (chmod 600) account forwardemail host smtp.forwardemail.net port 465 tls on tls_starttls off auth on user you@example.com passwordeval "pass show email/forwardemail" from you@example.com account default : forwardemail # 3) ~/.mblaze/profile Local-Mailbox: Your Name Maildir: ~/Mail/forwardemail Outbox: ~/Mail/forwardemail/Sent Mail Sendmail: msmtp # Usage: mbsync forwardemail; mlist ~/Mail/forwardemail/INBOX | mthread | mscan ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does mblaze work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native build; upstream lists Cygwin as tested, and the Debian package works in WSL. ### Does mblaze support IMAP? Through a separate tool. mblaze reads local mail, so a sync program such as isync copies it from the IMAP server. ### Is mblaze open source? Yes, under the CC0 1.0 and MIT. ### How do I use mblaze with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.mbsyncrc, ~/.config/msmtp/config and ~/.mblaze/profile, and replace the address and password with your own. ## Sources - https://github.com/leahneukirchen/mblaze - https://github.com/leahneukirchen/mblaze/blob/master/README - https://github.com/leahneukirchen/mblaze/blob/master/COPYING - https://github.com/leahneukirchen/mblaze/blob/master/INSTALL.md - https://github.com/leahneukirchen/mblaze/blob/master/man/mblaze-profile.5 - https://github.com/leahneukirchen/mblaze/tree/master/contrib - https://leahneukirchen.org/releases/ - https://packages.debian.org/trixie/mblaze - https://github.com/void-linux/void-packages/blob/master/srcpkgs/mblaze/template - https://aur.archlinux.org/packages/mblaze - https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/mb/mblaze/package.nix - https://github.com/freebsd/freebsd-ports/blob/main/mail/mblaze/Makefile - https://github.com/openbsd/ports/blob/master/mail/mblaze/Makefile - https://formulae.brew.sh/api/formula.json - https://sourceforge.net/p/isync/isync/ci/master/tree/src/mbsync.1.in - https://git.marlam.de/gitweb/?p=msmtp.git;a=blob;f=doc/msmtp.texi --- # meli > Terminal email client written in Rust with IMAP, JMAP, notmuch, Maildir, mbox and NNTP backends and TOML configuration. meli is a full-screen terminal email client for Linux, macOS and the BSDs. It supports several accounts at once over IMAP, JMAP, notmuch, Maildir, read-only mbox and NNTP, sends through its built-in SMTP client or a shell command, and can run the editor inside an embedded terminal. Configuration is a single TOML file, and most settings can be overridden per account or per mailbox. - Type: Email client - Interface: Full-screen terminal interface - Systems: Runs on Linux, macOS and BSD. Not available for Windows or Android. - Language: Rust - License: EUPL 1.2 or GPL 3.0 or later (EUPL-1.2 OR GPL-3.0-or-later) - Latest version: 0.8.13 - Maintained: yes - Website: https://meli-email.org/ - Source: https://git.meli-email.org/meli/meli - Documentation: https://meli-email.org/documentation.html ## Install ### Linux Native. - apt: `sudo apt install meli` - cargo: `cargo install meli` ### macOS Native. - Homebrew: `brew install meli` - MacPorts: `sudo port install meli` - cargo: `cargo install meli` ### Windows Not supported. No Windows build; the project lists BSD, Linux and macOS. ### BSD Native. - OpenBSD: `pkg_add meli` - NetBSD pkgsrc: `pkgin install meli` ### Android Not supported. ## Protocols - IMAP: Yes - POP3: No - SMTP: Yes - JMAP: Yes - Maildir: Yes - mbox: Yes - notmuch: Yes ## Features - OpenPGP: Yes - S/MIME: No - OAuth2 sign-in: via script - Threads: Yes - Search: built-in; sqlite3 index by default; notmuch queries - HTML mail: via filter command, w3m by default - Mouse: Yes - Multiple accounts: Yes - Offline use: IMAP header cache in sqlite3; full offline use with Maildir and mbsync - Calendar: No - Contacts: built-in contact list; reads vCard and mutt alias files - Vim-style keys: Yes - Configuration: TOML file (config.toml) ## Pros - Supports JMAP, notmuch, IMAP, Maildir and NNTP in one client - Single TOML file with per-account and per-mailbox overrides - Embedded terminal runs the editor inside the compose view ## Cons - No POP3 or S/MIME support - mbox support is read-only - No Windows or Termux packages ## Use meli with Forward Email File: `~/.config/meli/config.toml` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) [accounts."forwardemail"] format = "imap" root_mailbox = "INBOX" subscribed_mailboxes = ["*"] identity = "you@example.com" display_name = "Your Name" server_hostname = "imap.forwardemail.net" server_port = 993 use_tls = true server_username = "you@example.com" server_password_command = "pass show email/forwardemail" send_mail = { hostname = "smtp.forwardemail.net", port = 465, auth = { type = "auto", username = "you@example.com", password = { type = "command_eval", value = "pass show email/forwardemail" } }, security = { type = "TLS" } } ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does meli work on Windows? No. No Windows build; the project lists BSD, Linux and macOS. See clients that run on Windows. ### Does meli support IMAP? Yes, meli connects to IMAP servers directly. ### Is meli open source? Yes, under the EUPL 1.2 or GPL 3.0 or later. ### How do I use meli with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.config/meli/config.toml, and replace the address and password with your own. ## Sources - https://meli-email.org/ - https://meli-email.org/documentation.html - https://git.meli-email.org/meli/meli - https://github.com/meli/meli - https://github.com/meli/meli/blob/master/COPYING - https://github.com/meli/meli/blob/master/README.md - https://github.com/meli/meli/blob/v0.8.13/meli/docs/meli.conf.5 - https://github.com/meli/meli/blob/master/meli/src/version_migrations/v0_9_0.rs - https://crates.io/crates/meli - https://formulae.brew.sh/formula/meli - https://ports.macports.org/port/meli/ - https://sources.debian.org/src/meli/ - https://github.com/openbsd/ports/tree/master/mail/meli - https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/mail/meli/Makefile - https://github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js --- # msmtp > SMTP client with a sendmail-compatible interface that terminal mail clients use to send mail. msmtp takes a message on standard input and hands it to an SMTP server. Its command line options and exit codes match sendmail, so clients such as NeoMutt, sup, mu4e and git send-email can call it in place of /usr/sbin/sendmail. It supports several accounts, TLS, many authentication methods and reading the password from a command. The bundled msmtpq script queues mail while offline. - Type: Mail tool - Interface: Command-line tools and prompts - Systems: Runs on Linux, macOS, Windows and BSD, on Android through Termux. - Language: C - License: GPL 3.0 or later (GPL-3.0-or-later) - Latest version: 1.8.34 - Maintained: yes - Website: https://marlam.de/msmtp/ - Source: https://git.marlam.de/gitweb/?p=msmtp.git - Documentation: https://marlam.de/msmtp/msmtp.html ## Install ### Linux Native. - apt: `sudo apt install msmtp` - dnf: `sudo dnf install msmtp` - pacman: `sudo pacman -S msmtp` - apk: `sudo apk add msmtp` ### macOS Native. - Homebrew: `brew install msmtp` ### Windows Native. Native builds through MSYS2 and Cygwin. - MSYS2: `pacman -S mingw-w64-ucrt-x86_64-msmtp` - Cygwin: `setup-x86_64.exe -q -P msmtp` ### BSD Native. - FreeBSD pkg: `pkg install msmtp` - OpenBSD: `pkg_add msmtp` ### Android Through Termux. - Termux: `pkg install msmtp` ## Protocols - IMAP: No - POP3: No - SMTP: Yes - JMAP: No - Maildir: No - mbox: No - notmuch: No ## Features - OpenPGP: No - S/MIME: No - OAuth2 sign-in: via passwordeval with a token command (oauthbearer, xoauth2) - Threads: No - Search: No - HTML mail: No - Mouse: No - Multiple accounts: Yes - Offline use: queues mail with the bundled msmtpq script - Calendar: No - Contacts: No - Vim-style keys: No - Configuration: ~/.msmtprc or ~/.config/msmtp/config text file ## Pros - Drop-in sendmail replacement that most terminal clients can call - passwordeval reads the password from pass, gpg or a keyring - Small, with packages on every major platform including Windows and Termux ## Cons - Send only; needs a separate tool or client to read mail - Offline queueing needs the separate msmtpq script - OAuth2 tokens must be fetched and refreshed by an external program ## Use msmtp with Forward Email File: `~/.msmtprc` ``` defaults auth on tls on # Debian/Ubuntu path; omit this line to use the system default trust store tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile ~/.msmtp.log account forwardemail host smtp.forwardemail.net port 465 tls_starttls off from you@example.com user you@example.com passwordeval pass show forwardemail/you@example.com account default : forwardemail # Test: printf 'Subject: test\n\nhello\n' | msmtp you@example.com ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does msmtp work on Windows? Yes, it runs natively on Windows. Native builds through MSYS2 and Cygwin. ### Does msmtp support IMAP? No. msmtp does not use IMAP. ### Is msmtp open source? Yes, under the GPL 3.0 or later. ### How do I use msmtp with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.msmtprc, and replace the address and password with your own. ## Sources - https://marlam.de/msmtp/ - https://marlam.de/msmtp/download/ - https://marlam.de/msmtp/msmtp.html - https://github.com/marlam/msmtp - https://github.com/marlam/msmtp/blob/master/doc/msmtp.texi - https://github.com/marlam/msmtp/tree/master/scripts/msmtpq - https://packages.debian.org/search?keywords=msmtp&searchon=names&exact=1 - https://mdapi.fedoraproject.org/rawhide/pkg/msmtp - https://archlinux.org/packages/extra/x86_64/msmtp/ - https://pkgs.alpinelinux.org/packages?name=msmtp - https://formulae.brew.sh/formula/msmtp - https://packages.msys2.org/base/mingw-w64-msmtp - https://cygwin.com/packages/summary/msmtp.html - https://www.freshports.org/mail/msmtp/ - https://openports.pl/path/mail/msmtp - https://github.com/termux/termux-packages/tree/master/packages/msmtp --- # mu4e > Email client that runs inside GNU Emacs, built on the mu Maildir indexer and search tool. mu4e reads mail from a local Maildir that mu indexes with Xapian, and its views are search queries rather than folders. Mail is fetched by a separate program such as mbsync (isync), and sent through Emacs smtpmail or an external sendmail-compatible program. It reuses the Gnus message and article modes, so signing, encryption and HTML rendering come from Emacs. It suits Emacs users who keep mail offline and want fast full-text search. - Type: Email client - Interface: Runs inside Emacs - Systems: Runs on Linux, macOS and BSD, on Windows through WSL, on Android through Termux. - Language: Emacs Lisp (mu4e), C++ (mu) - License: GPL 3.0 or later (GPL-3.0-or-later) - Latest version: 1.14.3 - Background: Emacs front end of the mu project - Maintained: yes - Website: https://www.djcbsoftware.nl/code/mu/mu4e.html - Source: https://github.com/djcb/mu - Documentation: https://www.djcbsoftware.nl/code/mu/mu4e/ ## Install ### Linux Native. - apt: `sudo apt install mu4e isync` - dnf: `sudo dnf install maildir-utils isync emacs` - AUR: `yay -S mu isync` ### macOS Native. - Homebrew: `brew install mu isync emacs` ### Windows Through WSL. mu has no Windows package and upstream calls native Windows support experimental; run Emacs, mu and mbsync in WSL. - WSL: `sudo apt install mu4e isync` ### BSD Native. - FreeBSD pkg: `pkg install mu isync` - OpenBSD: `pkg_add mu isync` ### Android Through Termux. - Termux: `pkg install mu isync` ## Protocols - IMAP: Through a separate tool - POP3: Through a separate tool - SMTP: Yes - JMAP: No - Maildir: Yes - mbox: No - notmuch: No ## Features - OpenPGP: Yes - S/MIME: via Emacs MML - OAuth2 sign-in: via script - Threads: Yes - Search: Xapian full-text index with mu query syntax - HTML mail: built-in, rendered with the Emacs shr library - Mouse: Yes - Multiple accounts: via contexts - Offline use: full; reads a local Maildir synced by mbsync or OfflineIMAP - Calendar: replies to invitations with mu4e-icalendar - Contacts: address completion from indexed mail - Vim-style keys: No - Configuration: Emacs Lisp in init.el ## Pros - Full-text search over all local mail through mu's Xapian index. - Works offline, since all mail lives in a local Maildir. - Uses Emacs message mode, so PGP/MIME, S/MIME and Org mode links are available. ## Cons - No built-in IMAP; needs mbsync or a similar sync tool, so setup spans several config files. - Requires Emacs and some Emacs Lisp to configure. - No native Windows build, and Arch packages it only in the AUR. ## Use mu4e with Forward Email File: `~/.mbsyncrc and ~/.emacs.d/init.el` ``` # 1) ~/.mbsyncrc: sync the mailbox to ~/Mail/forwardemail (isync 1.5+ syntax) IMAPAccount forwardemail Host imap.forwardemail.net Port 993 User you@example.com PassCmd "pass show email/forwardemail" TLSType IMAPS IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local SubFolders Verbatim Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * !Drafts Create Both Expunge Both SyncState * # 2) First sync and index: # mbsync forwardemail # mu init --maildir=~/Mail --personal-address=you@example.com && mu index # 3) ~/.emacs.d/init.el (require 'mu4e) (setq user-mail-address "you@example.com" user-full-name "Your Name" mu4e-get-mail-command "mbsync forwardemail" mu4e-change-filenames-when-moving t mu4e-sent-folder "/forwardemail/Sent Mail" mu4e-drafts-folder "/forwardemail/Drafts" mu4e-trash-folder "/forwardemail/Trash" message-send-mail-function 'smtpmail-send-it smtpmail-smtp-server "smtp.forwardemail.net" smtpmail-smtp-service 465 smtpmail-stream-type 'ssl smtpmail-smtp-user "you@example.com") # 4) SMTP password in ~/.authinfo.gpg (read by Emacs auth-source): # machine smtp.forwardemail.net login you@example.com port 465 password YOUR-GENERATED-PASSWORD ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does mu4e work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). mu has no Windows package and upstream calls native Windows support experimental; run Emacs, mu and mbsync in WSL. ### Does mu4e support IMAP? Through a separate tool. mu4e reads local mail, so a sync program such as isync copies it from the IMAP server. ### Is mu4e open source? Yes, under the GPL 3.0 or later. ### How do I use mu4e with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.mbsyncrc and ~/.emacs.d/init.el, and replace the address and password with your own. ## Sources - https://www.djcbsoftware.nl/code/mu/mu4e.html - https://www.djcbsoftware.nl/code/mu/mu4e/ - https://github.com/djcb/mu - https://github.com/djcb/mu/blob/master/README.org - https://github.com/djcb/mu/blob/master/COPYING - https://github.com/djcb/mu/blob/master/mu4e/mu4e.texi - https://github.com/djcb/mu/blob/master/man/mu-init.1.org - https://formulae.brew.sh/formula/mu - https://packages.debian.org/trixie/mu4e - https://src.fedoraproject.org/rpms/maildir-utils/blob/rawhide/f/maildir-utils.spec - https://aur.archlinux.org/packages/mu - https://github.com/freebsd/freebsd-ports/blob/main/mail/mu/Makefile - https://github.com/openbsd/ports/blob/master/mail/mu/Makefile - https://github.com/termux/termux-packages/blob/master/packages/mu/build.sh - https://packages.msys2.org/api/search?query=mu - https://sourceforge.net/p/isync/isync/ci/master/tree/src/mbsync.1.in - https://github.com/emacs-mirror/emacs/blob/emacs-31/lisp/mail/smtpmail.el - https://github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js --- # Mutt > Long-running text-mode email client with IMAP, POP3 and SMTP support, configured through a muttrc file. Mutt is a full-screen terminal mail user agent that reads local Maildir, mbox and MH folders and remote IMAP and POP3 mailboxes, and can send through its built-in SMTP client or a local sendmail. It supports PGP/MIME, S/MIME, Autocrypt, threading and a sidebar. It suits users who want a stable, conservative client; it has no notmuch, NNTP or Lua support, which NeoMutt adds. - Type: Email client - Interface: Full-screen terminal interface - Systems: Runs on Linux, macOS and BSD, on Windows through WSL, on Android through Termux. - Language: C - License: GPL 2.0 or later (GPL-2.0-or-later) - Latest version: 2.4.2 - Maintained: yes - Website: http://www.mutt.org/ - Source: https://gitlab.com/muttmua/mutt - Documentation: http://www.mutt.org/doc/manual/ ## Install ### Linux Native. - apt: `sudo apt install mutt` - dnf: `sudo dnf install mutt` - pacman: `sudo pacman -S mutt` ### macOS Native. - Homebrew: `brew install mutt` ### Windows Through WSL. No native Windows build; runs in WSL, and Cygwin and MSYS2 also package it. - WSL: `sudo apt install mutt` - MSYS2: `pacman -S mutt` ### BSD Native. - FreeBSD pkg: `pkg install mutt` - OpenBSD: `pkg_add mutt` ### Android Through Termux. - Termux: `pkg install mutt` ## Protocols - IMAP: Yes - POP3: Yes - SMTP: Yes - JMAP: No - Maildir: Yes - mbox: Yes - notmuch: No ## Features - OpenPGP: Yes - S/MIME: Yes - OAuth2 sign-in: via script - Threads: Yes - Search: built-in patterns; server-side IMAP search - HTML mail: via mailcap and an external viewer such as w3m or lynx - Mouse: No - Multiple accounts: Yes - Offline use: with isync or OfflineIMAP; IMAP header and body cache - Calendar: No - Contacts: via query_command with abook or khard - Vim-style keys: Yes - Configuration: muttrc text file ## Pros - Packaged by major Linux distributions, Homebrew, FreeBSD, OpenBSD and Termux - Conservative releases that rarely break existing muttrc files - Built-in PGP/MIME, S/MIME and Autocrypt ## Cons - No notmuch, NNTP or scripting support (NeoMutt has these) - Configuration is a text file with hundreds of options and no setup wizard - HTML mail needs an external viewer set up in mailcap ## Use Mutt with Forward Email File: `~/.muttrc` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) set realname = "Your Name" set from = "you@example.com" set imap_user = "you@example.com" set imap_pass = "`pass show email/forwardemail`" set folder = "imaps://imap.forwardemail.net:993/" set spoolfile = "+INBOX" set record = "+Sent Mail" set postponed = "+Drafts" set trash = "+Trash" # The @ in the username is URL-encoded as %40 set smtp_url = "smtps://you%40example.com@smtp.forwardemail.net:465/" set smtp_pass = "`pass show email/forwardemail`" set ssl_force_tls = yes ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does Mutt work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native Windows build; runs in WSL, and Cygwin and MSYS2 also package it. ### Does Mutt support IMAP? Yes, Mutt connects to IMAP servers directly. ### Is Mutt open source? Yes, under the GPL 2.0 or later. ### How do I use Mutt with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.muttrc, and replace the address and password with your own. ## Sources - http://www.mutt.org/ - http://www.mutt.org/doc/manual/ - https://gitlab.com/muttmua/mutt - https://gitlab.com/muttmua/mutt/-/blob/master/COPYRIGHT - https://gitlab.com/muttmua/mutt/-/blob/master/UPDATING - https://formulae.brew.sh/formula/mutt - https://sources.debian.org/src/mutt/ - https://packages.fedoraproject.org/pkgs/mutt/mutt/ - https://archlinux.org/packages/extra/x86_64/mutt/ - https://www.freshports.org/mail/mutt/ - https://github.com/openbsd/ports/tree/master/mail/mutt - https://github.com/termux/termux-packages/tree/master/packages/mutt - https://cygwin.com/packages/summary/mutt.html - https://packages.msys2.org/packages/mutt - https://github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js --- # mutt-wizard > Shell script that sets up NeoMutt, isync and msmtp for an email account, with passwords stored in pass. mutt-wizard provides the mw command, which writes NeoMutt, mbsync (isync) and msmtp configuration for an account and stores its password with pass, encrypted to your GPG key. It looks up IMAP and SMTP settings for known providers and accepts custom servers and ports for others, and can use mpop for POP3 instead of IMAP. It also installs a mailsync script that syncs mail, indexes it with notmuch and can run on a timer. It suits NeoMutt users who want a working offline setup without writing the configuration by hand. - Type: Mail tool - Interface: Command-line tools and prompts - Systems: Runs on Linux and BSD, on Windows through WSL, builds from source on macOS. Not available for Android. - Language: Shell - License: GPL 3.0 (GPL-3.0-only) - Latest version: v3.3.1 - Maintained: yes - Website: https://muttwizard.com/ - Source: https://github.com/LukeSmithxyz/mutt-wizard - Documentation: https://github.com/LukeSmithxyz/mutt-wizard/blob/master/README.md ## Install ### Linux Native. - apt: `sudo apt install mutt-wizard` - AUR: `yay -S mutt-wizard-git` - source: `git clone https://github.com/LukeSmithxyz/mutt-wizard && cd mutt-wizard && sudo make install` ### macOS Build from source. No Homebrew formula; install NeoMutt, isync, msmtp and pass with Homebrew, then install mutt-wizard from source. mailsync has macOS-specific notification code. - source: `git clone https://github.com/LukeSmithxyz/mutt-wizard && cd mutt-wizard && sudo make install` ### Windows Through WSL. No native build; use the Debian package inside WSL. - WSL: `sudo apt install mutt-wizard` ### BSD Native. - OpenBSD: `pkg_add mutt-wizard` ### Android Not supported. No Termux package. ## Protocols - IMAP: Through a separate tool - POP3: Through a separate tool - SMTP: Through a separate tool - JMAP: No - Maildir: Yes - mbox: No - notmuch: Through a separate tool ## Features - OpenPGP: Yes - S/MIME: No - OAuth2 sign-in: No - Threads: Yes - Search: notmuch, set up by mailsync - HTML mail: via lynx in NeoMutt - Mouse: No - Multiple accounts: Yes - Offline use: with isync, or mpop for POP3 - Calendar: No - Contacts: via abook - Vim-style keys: Yes - Configuration: generated NeoMutt, isync and msmtp files ## Pros - Sets up NeoMutt, mbsync and msmtp for an account with one command. - Passwords are kept in pass, encrypted with your GPG key, not in plain text. - Adds vim-style keys, account switching and mailbox shortcuts to NeoMutt. ## Cons - Requires pass and a GPG key before an account can be added. - Defaults assume English mailbox names; other names may need manual edits. - The latest tagged release is old; most fixes are only on the master branch. ## Use mutt-wizard with Forward Email File: `Generated: ~/.config/mutt/, ~/.mbsyncrc and ~/.config/msmtp/config` ``` # IMAP (mbsync) + SMTP (msmtp); the password is prompted for and stored in pass mw -a you@example.com -n "Your Name" \ -i imap.forwardemail.net -I 993 \ -s smtp.forwardemail.net -S 465 # Or POP3 with mpop instead of IMAP: # mw -a you@example.com -n "Your Name" -p -i pop3.forwardemail.net -I 995 -s smtp.forwardemail.net -S 465 # Then: mailsync (download mail) # neomutt (read and send) ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does mutt-wizard work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native build; use the Debian package inside WSL. ### Does mutt-wizard support IMAP? Through a separate tool. mutt-wizard reads local mail, so a sync program such as isync copies it from the IMAP server. ### Is mutt-wizard open source? Yes, under the GPL 3.0. ### How do I use mutt-wizard with Forward Email? Use the config in the Forward Email section on this page, saved as Generated: ~/.config/mutt/, ~/.mbsyncrc and ~/.config/msmtp/config, and replace the address and password with your own. ## Sources - https://muttwizard.com/ - https://github.com/LukeSmithxyz/mutt-wizard - https://github.com/LukeSmithxyz/mutt-wizard/blob/master/README.md - https://github.com/LukeSmithxyz/mutt-wizard/blob/master/LICENSE - https://github.com/LukeSmithxyz/mutt-wizard/blob/master/bin/mw - https://github.com/LukeSmithxyz/mutt-wizard/blob/master/bin/mailsync - https://github.com/LukeSmithxyz/mutt-wizard/blob/master/share/mbsync-temp - https://github.com/LukeSmithxyz/mutt-wizard/blob/master/share/msmtp-temp - https://github.com/LukeSmithxyz/mutt-wizard/blob/master/Makefile - https://github.com/LukeSmithxyz/mutt-wizard/releases/tag/v3.3.1 - https://packages.debian.org/trixie/mutt-wizard - https://aur.archlinux.org/packages/mutt-wizard-git - https://aur.archlinux.org/packages/mutt-wizard - https://github.com/openbsd/ports/blob/master/mail/mutt-wizard/Makefile - https://github.com/termux/termux-packages/tree/master/packages - https://formulae.brew.sh/api/formula.json --- # NeoMutt > Full-screen terminal mail reader forked from Mutt, with notmuch, NNTP, Lua scripting and a sidebar built in. NeoMutt is a text-mode email client that started as a collection of Mutt patches and is now a separate project. It reads and sends mail over IMAP, POP3 and SMTP, opens local Maildir, mbox and MH folders, and adds notmuch and NNTP (Usenet) support that Mutt does not have. It suits users who want the Mutt workflow and muttrc configuration with more features merged in and a faster release pace. - Type: Email client - Interface: Full-screen terminal interface - Systems: Runs on Linux, macOS and BSD, on Windows through WSL, on Android through Termux. - Language: C - License: GPL 2.0 or later (GPL-2.0-or-later) - Latest version: 20260616 - Background: Fork of Mutt - Maintained: yes - Website: https://neomutt.org/ - Source: https://github.com/neomutt/neomutt - Documentation: https://neomutt.org/guide/ ## Install ### Linux Native. - apt: `sudo apt install neomutt` - dnf: `sudo dnf install neomutt` - pacman: `sudo pacman -S neomutt` ### macOS Native. - Homebrew: `brew install neomutt` ### Windows Through WSL. No native Windows build; runs in WSL, and Cygwin and MSYS2 also package it. - WSL: `sudo apt install neomutt` - MSYS2: `pacman -S neomutt` ### BSD Native. - FreeBSD pkg: `pkg install neomutt` - OpenBSD: `pkg_add neomutt` ### Android Through Termux. - Termux: `pkg install neomutt` ## Protocols - IMAP: Yes - POP3: Yes - SMTP: Yes - JMAP: No - Maildir: Yes - mbox: Yes - notmuch: Yes ## Features - OpenPGP: Yes - S/MIME: Yes - OAuth2 sign-in: via script - Threads: Yes - Search: built-in patterns; notmuch for full-text - HTML mail: via mailcap and an external viewer such as w3m or lynx - Mouse: No - Multiple accounts: Yes - Offline use: with isync or OfflineIMAP; IMAP header and body cache - Calendar: No - Contacts: via query_command with abook or khard - Vim-style keys: Yes - Configuration: neomuttrc text file ## Pros - Built-in notmuch support for tag-based virtual mailboxes and full-text search - Reads Usenet over NNTP and supports Lua scripting - Reads most existing muttrc files with few or no changes ## Cons - Configuration is a text file with hundreds of options and no setup wizard - HTML mail needs an external viewer set up in mailcap - OAuth2 needs an external token script such as mutt_oauth2.py ## Use NeoMutt with Forward Email File: `~/.config/neomutt/neomuttrc` ``` # Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465) set real_name = "Your Name" set from = "you@example.com" set imap_user = "you@example.com" set imap_pass = "`pass show email/forwardemail`" set folder = "imaps://imap.forwardemail.net:993" set spool_file = "+INBOX" set record = "+Sent Mail" set postponed = "+Drafts" set trash = "+Trash" set smtp_url = "smtps://smtp.forwardemail.net:465" set smtp_user = "you@example.com" set smtp_pass = "`pass show email/forwardemail`" set ssl_force_tls = yes ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does NeoMutt work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native Windows build; runs in WSL, and Cygwin and MSYS2 also package it. ### Does NeoMutt support IMAP? Yes, NeoMutt connects to IMAP servers directly. ### Is NeoMutt open source? Yes, under the GPL 2.0 or later. ### How do I use NeoMutt with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.config/neomutt/neomuttrc, and replace the address and password with your own. ## Sources - https://neomutt.org/ - https://neomutt.org/guide/ - https://github.com/neomutt/neomutt - https://github.com/neomutt/neomutt/blob/main/LICENSE.md - https://formulae.brew.sh/formula/neomutt - https://sources.debian.org/src/neomutt/ - https://packages.fedoraproject.org/pkgs/neomutt/neomutt/ - https://archlinux.org/packages/extra/x86_64/neomutt/ - https://www.freshports.org/mail/neomutt/ - https://github.com/openbsd/ports/tree/master/mail/neomutt - https://github.com/termux/termux-packages/tree/master/packages/neomutt - https://cygwin.com/packages/summary/neomutt.html - https://packages.msys2.org/packages/neomutt - https://github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js --- # nmail > Terminal email client for Linux and macOS with an Alpine-like interface and built-in IMAP and SMTP. nmail is an ncurses email client written in C++ that connects to one IMAP and SMTP account and keeps a local SQLite cache, optionally encrypted. It has setup wizards for Gmail, iCloud and Outlook (including OAuth 2.0), converts HTML mail to text, composes HTML mail from Markdown and can queue mail while offline. It suits users who want an Alpine-style client with no separate sync or send tools. Multiple accounts need separate nmail instances. - Type: Email client - Interface: Full-screen terminal interface - Systems: Runs on Linux and macOS. Not available for Windows, BSD or Android. - Language: C++ - License: MIT (MIT) - Latest version: v5.16.4 - Maintained: yes - Website: https://github.com/d99kris/nmail - Source: https://github.com/d99kris/nmail - Documentation: https://github.com/d99kris/nmail#readme ## Install ### Linux Native. - Guix: `guix install nmail` - Install script: `curl -fsSL https://raw.githubusercontent.com/d99kris/nmail/master/utils/install.sh | bash` ### macOS Native. - Homebrew: `brew install nmail` - MacPorts: `sudo port install nmail` ### Windows Not supported. Upstream supports Linux and macOS only. ### BSD Not supported. Not packaged or documented for the BSDs. ### Android Not supported. ## Protocols - IMAP: Yes - POP3: No - SMTP: Yes - JMAP: No - Maildir: No - mbox: No - notmuch: No ## Features - OpenPGP: No - S/MIME: No - OAuth2 sign-in: Yes - Threads: No - Search: local cache index and server search - HTML mail: converted to text, or opened in an external browser - Mouse: No - Multiple accounts: No - Offline use: local SQLite cache; offline mode and send queue - Calendar: No - Contacts: address book built from messages - Vim-style keys: No - Configuration: ~/.config/nmail/main.conf key=value file ## Pros - Built-in IMAP and SMTP with setup wizards for Gmail, iCloud and Outlook - Local cache, address book and outgoing queue can be encrypted - Compose HTML mail using Markdown ## Cons - One account per running instance - No threaded view and no PGP or S/MIME - Linux and macOS only; no Debian or Fedora package ## Use nmail with Forward Email File: `~/.config/nmail/main.conf` ``` address=you@example.com name=Your Name user=you@example.com imap_host=imap.forwardemail.net imap_port=993 smtp_host=smtp.forwardemail.net smtp_port=465 # Folder names must match the folders on the server inbox=INBOX drafts=Drafts sent=Sent Mail trash=Trash spam=Spam # Prompt for the alias' generated password at start instead of storing it save_pass=0 ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does nmail work on Windows? No. Upstream supports Linux and macOS only. See clients that run on Windows. ### Does nmail support IMAP? Yes, nmail connects to IMAP servers directly. ### Is nmail open source? Yes, under the MIT. ### How do I use nmail with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.config/nmail/main.conf, and replace the address and password with your own. ## Sources - https://github.com/d99kris/nmail - https://github.com/d99kris/nmail/blob/master/README.md - https://github.com/d99kris/nmail/blob/master/LICENSE - https://github.com/d99kris/nmail/blob/master/src/imap.cpp - https://github.com/d99kris/nmail/blob/master/src/smtp.cpp - https://github.com/d99kris/nmail/releases/tag/v5.16.4 - https://formulae.brew.sh/formula/nmail - https://ports.macports.org/port/nmail/ - https://aur.archlinux.org/packages/nmail --- # nmh > The MH message handling system: separate shell commands to read, file, search and send mail stored one file per message. nmh (new MH) is a set of small programs such as inc, scan, show, comp, repl and pick that you run from the shell instead of a single mail program. Each message is a plain file in an MH folder, so ordinary Unix tools and scripts work on mail directly. inc pulls mail from a local mbox or Maildir drop or from a POP3 server, and post sends through SMTP with optional TLS and SASL. It suits users who want to script mail handling and compose with their own editor. - Type: Email client - Interface: Command-line tools and prompts - Systems: Runs on Linux, macOS and BSD, on Windows through WSL, on Android through Termux. - Language: C - License: BSD 3-Clause (BSD-3-Clause) - Latest version: 1.8 - Background: Based on MH 6.8.3 from the RAND Corporation and the University of California - Maintained: yes - Website: https://www.nongnu.org/nmh/ - Source: https://git.savannah.gnu.org/cgit/nmh.git - Documentation: https://git.savannah.gnu.org/cgit/nmh.git/tree/man ## Install ### Linux Native. - apt: `sudo apt install nmh` - dnf: `sudo dnf install nmh` - AUR: `yay -S nmh` ### macOS Native. - Homebrew: `brew install nmh` ### Windows Through WSL. No native Windows build; run it in WSL. - WSL: `sudo apt install nmh` ### BSD Native. - FreeBSD pkg: `pkg install nmh` - OpenBSD: `pkg_add nmh` ### Android Through Termux. - Termux: `pkg install nmh` ## Protocols - IMAP: Through a separate tool - POP3: Yes - SMTP: Yes - JMAP: No - Maildir: Yes - mbox: Yes - notmuch: No ## Features - OpenPGP: No - S/MIME: No - OAuth2 sign-in: No - Threads: No - Search: pick command matches header fields and message text - HTML mail: via mhshow with an external converter such as w3m - Mouse: No - Multiple accounts: via per-command switches or separate profiles - Offline use: full; messages are stored as local files - Calendar: replies to invitations with mhical - Contacts: aliases via MailAliases and the ali command - Vim-style keys: No - Configuration: ~/.mh_profile and mts.conf text files ## Pros - Every action is a shell command, so mail handling is easy to script. - One file per message lets grep, find and other Unix tools work on mail. - Built-in POP3 and SMTP with TLS and SASL; reads mbox and Maildir drops. ## Cons - No IMAP; IMAP mail must be synced to a Maildir first and then incorporated. - No built-in OpenPGP or S/MIME, and no thread view. - SMTP authentication needs nmh built with Cyrus SASL and its PLAIN or LOGIN plugin. ## Use nmh with Forward Email File: `~/.mh_profile` ``` # ~/.mh_profile Path: Mail Local-Mailbox: Your Name send: -server smtp.forwardemail.net -port 465 -initialtls -sasl -saslmech PLAIN -user you@example.com inc: -host pop3.forwardemail.net -port 995 -initialtls -user you@example.com # Optional per-user mts.conf: export MHMTSUSERCONF=~/.mts.conf # mts: smtp # servers: smtp.forwardemail.net # Passwords: with no "credentials:" profile entry nmh reads ~/.netrc (chmod 600): # machine smtp.forwardemail.net login you@example.com password YOUR-GENERATED-PASSWORD # machine pop3.forwardemail.net login you@example.com password YOUR-GENERATED-PASSWORD # Usage: inc (fetch over POP3), scan, show, comp (write), send # For IMAP, sync with mbsync to ~/Maildir/INBOX and run: inc -file ~/Maildir/INBOX ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does nmh work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native Windows build; run it in WSL. ### Does nmh support IMAP? Through a separate tool. nmh reads local mail, so a sync program such as isync copies it from the IMAP server. ### Is nmh open source? Yes, under the BSD 3-Clause. ### How do I use nmh with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.mh_profile, and replace the address and password with your own. ## Sources - https://www.nongnu.org/nmh/ - https://savannah.nongnu.org/projects/nmh/ - https://git.savannah.gnu.org/cgit/nmh.git - https://git.savannah.gnu.org/cgit/nmh.git/tree/COPYRIGHT - https://git.savannah.gnu.org/cgit/nmh.git/tree/man/inc.man - https://git.savannah.gnu.org/cgit/nmh.git/tree/man/send.man - https://git.savannah.gnu.org/cgit/nmh.git/tree/man/mh-profile.man - https://git.savannah.gnu.org/cgit/nmh.git/tree/man/mh-tailor.man - https://git.savannah.gnu.org/cgit/nmh.git/tree/man/mhical.man - https://git.savannah.gnu.org/cgit/nmh.git/tree/sbr/credentials.c - https://packages.debian.org/trixie/nmh - https://mdapi.fedoraproject.org/rawhide/pkg/nmh - https://aur.archlinux.org/packages/nmh - https://formulae.brew.sh/formula/nmh - https://github.com/Homebrew/homebrew-core/blob/main/Formula/n/nmh.rb - https://github.com/freebsd/freebsd-ports/blob/main/mail/nmh/Makefile - https://github.com/openbsd/ports/blob/master/mail/nmh/Makefile - https://github.com/termux/termux-packages/blob/master/packages/nmh/build.sh --- # notmuch > Command-line mail indexer that adds fast full-text search, threading and tags to a local Maildir. notmuch indexes messages in a local Maildir with Xapian and lets you search, thread and tag them from the command line. It does not fetch or send mail; a sync tool such as mbsync and an SMTP client such as msmtp handle that. Several mail clients use it as their back end, including its own Emacs interface, alot, aerc and NeoMutt. It suits users who want tags and search instead of folders. - Type: Mail tool - Interface: Command-line tools and prompts - Systems: Runs on Linux, macOS and BSD, on Windows through WSL, on Android through Termux. - Language: C, C++ - License: GPL 3.0 or later (GPL-3.0-or-later) - Latest version: 0.40 - Maintained: yes - Website: https://notmuchmail.org/ - Source: https://git.notmuchmail.org/git/notmuch - Documentation: https://notmuchmail.org/doc/latest/ ## Install ### Linux Native. - apt: `sudo apt install notmuch` - dnf: `sudo dnf install notmuch` - pacman: `sudo pacman -S notmuch` ### macOS Native. - Homebrew: `brew install notmuch` ### Windows Through WSL. No native Windows build or MSYS2 package; run it in WSL. - WSL: `sudo apt install notmuch` ### BSD Native. - FreeBSD pkg: `pkg install notmuch` - OpenBSD: `pkg_add notmuch` ### Android Through Termux. - Termux: `pkg install notmuch` ## Protocols - IMAP: No - POP3: No - SMTP: No - JMAP: No - Maildir: Yes - mbox: No - notmuch: Yes ## Features - OpenPGP: Yes - S/MIME: Yes - OAuth2 sign-in: No - Threads: Yes - Search: Xapian full-text search with tags and date ranges - HTML mail: No - Mouse: No - Multiple accounts: indexes every Maildir under one database path - Offline use: full; works only on local mail - Calendar: No - Contacts: notmuch address lists addresses from indexed mail - Vim-style keys: No - Configuration: INI-style notmuch config file ## Pros - Fast full-text search and tagging over large local mail stores. - Used as a back end by several clients, so one index serves more than one front end. - Can index and search decrypted PGP/MIME and S/MIME messages. ## Cons - Does not fetch or send mail; needs mbsync and msmtp or similar tools. - Custom tags stay in the local index; only standard flags such as unread and replied sync to Maildir, and from there to IMAP. - No native Windows build. ## Use notmuch with Forward Email File: `~/.mbsyncrc and ~/.notmuch-config` ``` # notmuch only indexes local mail. Sync Forward Email to ~/Mail first with mbsync (~/.mbsyncrc): IMAPAccount forwardemail Host imap.forwardemail.net Port 993 User you@example.com PassCmd "pass show email/forwardemail" TLSType IMAPS IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local SubFolders Verbatim Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * Create Both SyncState * # ~/.notmuch-config [database] path=/home/you/Mail [user] name=Your Name primary_email=you@example.com [new] tags=unread;inbox; # Then: mbsync forwardemail && notmuch new # Search: notmuch search tag:unread from:someone@example.org ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does notmuch work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native Windows build or MSYS2 package; run it in WSL. ### Does notmuch support IMAP? No. notmuch does not use IMAP. ### Is notmuch open source? Yes, under the GPL 3.0 or later. ### How do I use notmuch with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.mbsyncrc and ~/.notmuch-config, and replace the address and password with your own. ## Sources - https://notmuchmail.org/ - https://notmuchmail.org/doc/latest/ - https://notmuchmail.org/releases/ - https://git.notmuchmail.org/git/notmuch - https://git.notmuchmail.org/git/notmuch/blob/HEAD:/COPYING - https://git.notmuchmail.org/git/notmuch/blob/HEAD:/NEWS - https://git.notmuchmail.org/git/notmuch/blob/HEAD:/doc/man1/notmuch-config.rst - https://packages.debian.org/trixie/notmuch - https://mdapi.fedoraproject.org/rawhide/pkg/notmuch - https://archlinux.org/packages/extra/x86_64/notmuch/ - https://formulae.brew.sh/formula/notmuch - https://www.freshports.org/mail/notmuch/ - https://github.com/openbsd/ports/blob/master/mail/notmuch/Makefile - https://github.com/termux/termux-packages/blob/master/packages/notmuch/build.sh - https://packages.msys2.org/api/search?query=notmuch - https://sourceforge.net/p/isync/isync/ci/master/tree/src/mbsync.1.in --- # Notmuch Emacs interface > Emacs front end for notmuch that reads, searches, tags and composes mail from a local Maildir. The Notmuch Emacs interface (notmuch.el) ships with notmuch and runs inside GNU Emacs. It replaces folders with saved searches and tags stored in the notmuch Xapian index, and shows whole threads in one buffer. Mail must be synced to a local Maildir by a tool such as mbsync, and outgoing mail goes through Emacs message mode with smtpmail or a sendmail-compatible program such as msmtp. It suits Emacs users who organize mail with tags and search instead of folders. - Type: Email client - Interface: Runs inside Emacs - Systems: Runs on Linux, macOS and BSD, on Windows through WSL, on Android through Termux. - Language: Emacs Lisp - License: GPL 3.0 or later (GPL-3.0-or-later) - Latest version: 0.40 - Background: Part of the notmuch project - Maintained: yes - Website: https://notmuchmail.org/notmuch-emacs/ - Source: https://git.notmuchmail.org/git/notmuch - Documentation: https://notmuchmail.org/doc/latest/notmuch-emacs.html ## Install ### Linux Native. - apt: `sudo apt install elpa-notmuch isync msmtp` - dnf: `sudo dnf install emacs-notmuch isync msmtp` - pacman: `sudo pacman -S notmuch emacs isync msmtp` ### macOS Native. - Homebrew: `brew install notmuch emacs isync msmtp` ### Windows Through WSL. notmuch has no native Windows build or MSYS2 package; run Emacs and notmuch in WSL. - WSL: `sudo apt install elpa-notmuch isync msmtp` ### BSD Native. - FreeBSD pkg: `pkg install notmuch-emacs isync msmtp` - OpenBSD: `pkg_add notmuch-emacs isync msmtp` ### Android Through Termux. - Termux: `pkg install notmuch emacs isync msmtp` ## Protocols - IMAP: Through a separate tool - POP3: Through a separate tool - SMTP: Yes - JMAP: No - Maildir: Yes - mbox: No - notmuch: Yes ## Features - OpenPGP: Yes - S/MIME: Yes - OAuth2 sign-in: via script - Threads: Yes - Search: notmuch Xapian full-text search with tags - HTML mail: built-in, rendered with the Emacs shr library - Mouse: Yes - Multiple accounts: Yes - Offline use: full; reads a local Maildir synced by mbsync or OfflineIMAP - Calendar: shows text/calendar parts; no invitation replies - Contacts: address completion from the notmuch index - Vim-style keys: No - Configuration: Emacs Lisp in init.el plus the notmuch config file ## Pros - Tag-based organization with fast full-text search over all local mail. - Shows a whole thread in a single buffer. - Handles PGP/MIME and S/MIME signatures and decryption through notmuch. ## Cons - No built-in IMAP; needs mbsync or a similar sync tool. - Custom tags stay in the local index; only standard flags such as unread and replied reach the IMAP server. - Requires Emacs and some Emacs Lisp to configure. ## Use Notmuch Emacs interface with Forward Email File: `~/.mbsyncrc, ~/.config/msmtp/config and ~/.emacs.d/init.el` ``` # 1) ~/.mbsyncrc: sync the mailbox to ~/Mail/forwardemail (isync 1.5+ syntax) IMAPAccount forwardemail Host imap.forwardemail.net Port 993 User you@example.com PassCmd "pass show email/forwardemail" TLSType IMAPS IMAPStore forwardemail-remote Account forwardemail MaildirStore forwardemail-local SubFolders Verbatim Path ~/Mail/forwardemail/ Inbox ~/Mail/forwardemail/INBOX Channel forwardemail Far :forwardemail-remote: Near :forwardemail-local: Patterns * Create Both SyncState * # 2) Index: run "notmuch setup" (database path ~/Mail, address you@example.com), # then: mbsync forwardemail && notmuch new # 3) ~/.config/msmtp/config (chmod 600) account forwardemail host smtp.forwardemail.net port 465 tls on tls_starttls off auth on user you@example.com passwordeval "pass show email/forwardemail" from you@example.com account default : forwardemail # 4) ~/.emacs.d/init.el (require 'notmuch) (setq user-mail-address "you@example.com" user-full-name "Your Name" message-send-mail-function 'message-send-mail-with-sendmail sendmail-program "msmtp" message-sendmail-envelope-from 'header mail-specify-envelope-from t notmuch-fcc-dirs "\"forwardemail/Sent Mail\" +sent -inbox -unread") ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does Notmuch Emacs interface work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). notmuch has no native Windows build or MSYS2 package; run Emacs and notmuch in WSL. ### Does Notmuch Emacs interface support IMAP? Through a separate tool. Notmuch Emacs interface reads local mail, so a sync program such as isync copies it from the IMAP server. ### Is Notmuch Emacs interface open source? Yes, under the GPL 3.0 or later. ### How do I use Notmuch Emacs interface with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.mbsyncrc, ~/.config/msmtp/config and ~/.emacs.d/init.el, and replace the address and password with your own. ## Sources - https://notmuchmail.org/ - https://notmuchmail.org/notmuch-emacs/ - https://notmuchmail.org/doc/latest/notmuch-emacs.html - https://git.notmuchmail.org/git/notmuch - https://git.notmuchmail.org/git/notmuch/blob/HEAD:/COPYING - https://git.notmuchmail.org/git/notmuch/blob/HEAD:/NEWS - https://git.notmuchmail.org/git/notmuch/blob/HEAD:/emacs/notmuch-maildir-fcc.el - https://git.notmuchmail.org/git/notmuch/blob/HEAD:/emacs/notmuch-show.el - https://notmuchmail.org/releases/ - https://packages.debian.org/trixie/elpa-notmuch - https://mdapi.fedoraproject.org/rawhide/pkg/emacs-notmuch - https://archlinux.org/packages/extra/x86_64/notmuch/ - https://formulae.brew.sh/formula/notmuch - https://github.com/Homebrew/homebrew-core/blob/main/Formula/n/notmuch.rb - https://www.freshports.org/mail/notmuch-emacs/ - https://github.com/openbsd/ports/blob/master/mail/notmuch/Makefile - https://github.com/termux/termux-packages/blob/master/packages/notmuch/build.sh - https://packages.msys2.org/api/search?query=notmuch - https://sourceforge.net/p/isync/isync/ci/master/tree/src/mbsync.1.in - https://git.marlam.de/gitweb/?p=msmtp.git;a=blob;f=doc/msmtp.texi - https://github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js --- # OfflineIMAP > Python program that syncs IMAP mailboxes with local Maildir folders in both directions. OfflineIMAP downloads IMAP folders into local Maildirs and keeps both sides in sync, so a Maildir client can read mail offline. The maintained code base is offlineimap3, the Python 3 port; the original Python 2 repository is no longer developed. Configuration is an INI-style file, and Python helper functions can supply passwords, folder name mapping and filters. - Type: Mail tool - Interface: Command-line tools and prompts - Systems: Runs on Linux, macOS and BSD, on Windows through WSL. Not available for Android. - Language: Python - License: GPL 2.0 or later (GPL-2.0-or-later) - Latest version: 8.0.3 - Background: Python 3 port of the original OfflineIMAP (Python 2, no longer maintained) - Maintained: yes - Website: https://www.offlineimap.org/ - Source: https://github.com/OfflineIMAP/offlineimap3 - Documentation: https://www.offlineimap.org/documentation.html ## Install ### Linux Native. - apt: `sudo apt install offlineimap3` - dnf: `sudo dnf install offlineimap` - pacman: `sudo pacman -S offlineimap` - pipx: `pipx install offlineimap` ### macOS Native. - Homebrew: `brew install offlineimap` - pipx: `pipx install offlineimap` ### Windows Through WSL. No native Windows package; use WSL. - WSL: `sudo apt install offlineimap3` ### BSD Native. - FreeBSD pkg: `pkg install mail/py-offlineimap` - OpenBSD: `pkg_add offlineimap` ### Android Not supported. ## Protocols - IMAP: Yes - POP3: No - SMTP: No - JMAP: No - Maildir: Yes - mbox: No - notmuch: No ## Features - OpenPGP: No - S/MIME: No - OAuth2 sign-in: Yes - Threads: No - Search: No - HTML mail: No - Mouse: No - Multiple accounts: Yes - Offline use: keeps a full local Maildir copy - Calendar: No - Contacts: No - Vim-style keys: No - Configuration: ~/.offlineimaprc or ~/.config/offlineimap/config (INI) ## Pros - Built-in XOAUTH2 support for Gmail and similar providers - Python hooks (pythonfile) for passwords, folder name mapping and filtering - Can sync accounts in parallel and run repeatedly with autorefresh ## Cons - Slower than isync on large mailboxes - Older guides and some packages still point to the unmaintained Python 2 version - Only IMAP and Maildir; no POP3 and no sending ## Use OfflineIMAP with Forward Email File: `~/.offlineimaprc` ``` [general] accounts = forwardemail pythonfile = ~/.offlineimap.py [Account forwardemail] localrepository = forwardemail-local remoterepository = forwardemail-remote [Repository forwardemail-local] type = Maildir localfolders = ~/Mail/forwardemail [Repository forwardemail-remote] type = IMAP remotehost = imap.forwardemail.net remoteport = 993 ssl = yes sslcacertfile = OS-DEFAULT remoteuser = you@example.com remotepasseval = get_pass("forwardemail/you@example.com") # ~/.offlineimap.py # import subprocess # def get_pass(name): # return subprocess.check_output(["pass", "show", name]).decode().splitlines()[0] ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does OfflineIMAP work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native Windows package; use WSL. ### Does OfflineIMAP support IMAP? Yes, OfflineIMAP connects to IMAP servers directly. ### Is OfflineIMAP open source? Yes, under the GPL 2.0 or later. ### How do I use OfflineIMAP with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.offlineimaprc, and replace the address and password with your own. ## Sources - https://www.offlineimap.org/ - https://github.com/OfflineIMAP/offlineimap3 - https://github.com/OfflineIMAP/offlineimap3/blob/master/README.md - https://github.com/OfflineIMAP/offlineimap3/blob/master/offlineimap.conf - https://github.com/OfflineIMAP/offlineimap3/blob/master/pyproject.toml - https://github.com/OfflineIMAP/offlineimap - https://pypi.org/project/offlineimap/ - https://packages.debian.org/search?keywords=offlineimap3&searchon=names&exact=1 - https://packages.ubuntu.com/offlineimap3 - https://mdapi.fedoraproject.org/rawhide/pkg/offlineimap - https://archlinux.org/packages/extra/any/offlineimap/ - https://formulae.brew.sh/formula/offlineimap - https://www.freshports.org/mail/py-offlineimap/ - https://openports.pl/path/mail/offlineimap --- # Pop > Send-only email tool from Charm with a terminal form for composing and a command-line mode for scripts. Pop composes and sends email from the terminal, either through a full-screen form or from flags and standard input. It sends through the Resend API or any SMTP server, renders the Markdown body to HTML unless plain text is requested, and can attach files. It cannot read or fetch mail, so it is used next to a mail client or in scripts and pipelines. It is configured entirely with environment variables or flags. - Type: Mail tool - Interface: Full-screen terminal interface - Systems: Runs on Linux, macOS, Windows and BSD. Not available for Android. - Language: Go - License: MIT (MIT) - Latest version: 0.5.0 - Maintained: yes - Website: https://github.com/charmbracelet/pop - Source: https://github.com/charmbracelet/pop - Documentation: https://github.com/charmbracelet/pop/blob/main/README.md ## Install ### Linux Native. - Homebrew: `brew install pop` - AUR: `yay -S charm-pop-bin` - Nix: `nix-env -iA nixpkgs.pop` - go: `go install github.com/charmbracelet/pop@latest` ### macOS Native. - Homebrew: `brew install pop` - go: `go install github.com/charmbracelet/pop@latest` ### Windows Native. - winget: `winget install charmbracelet.pop` - go: `go install github.com/charmbracelet/pop@latest` ### BSD Native. No ports package; release binaries are published for FreeBSD, OpenBSD and NetBSD. - go: `go install github.com/charmbracelet/pop@latest` ### Android Not supported. No Termux package. ## Protocols - IMAP: No - POP3: No - SMTP: Yes - JMAP: No - Maildir: No - mbox: No - notmuch: No ## Features - OpenPGP: No - S/MIME: No - OAuth2 sign-in: No - Threads: No - Search: No - HTML mail: sends the Markdown body rendered as HTML - Mouse: No - Multiple accounts: No - Offline use: No - Calendar: No - Contacts: No - Vim-style keys: No - Configuration: environment variables or command-line flags ## Pros - Works both as an interactive form and as a scriptable command reading the body from standard input. - Sends through any SMTP server with SSL/TLS or STARTTLS, or through the Resend API. - Single Go binary with packages for Homebrew, winget, Nix and the AUR. ## Cons - Send-only: cannot read, fetch or search mail. - One sending account at a time, set through environment variables. - No OpenPGP or S/MIME signing. ## Use Pop with Forward Email File: `~/.bashrc (or your shell profile)` ``` # ~/.bashrc or ~/.zshrc export POP_SMTP_HOST=smtp.forwardemail.net export POP_SMTP_PORT=465 export POP_SMTP_ENCRYPTION=ssl # or port 587 with: starttls export POP_SMTP_USERNAME=you@example.com export POP_SMTP_PASSWORD="$(pass show email/forwardemail)" export POP_FROM=you@example.com # Interactive: pop # Scripted: pop < message.md --to friend@example.org --subject "Hello" ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does Pop work on Windows? Yes, it runs natively on Windows. ### Does Pop support IMAP? No. Pop does not use IMAP. ### Is Pop open source? Yes, under the MIT. ### How do I use Pop with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.bashrc (or your shell profile), and replace the address and password with your own. ## Sources - https://github.com/charmbracelet/pop - https://github.com/charmbracelet/pop/blob/main/README.md - https://github.com/charmbracelet/pop/blob/main/LICENSE - https://github.com/charmbracelet/pop/blob/main/main.go - https://github.com/charmbracelet/pop/blob/main/email.go - https://github.com/charmbracelet/pop/blob/main/keymap.go - https://github.com/charmbracelet/pop/releases/tag/v0.5.0 - https://github.com/charmbracelet/pop/releases/download/v0.5.0/checksums.txt - https://formulae.brew.sh/formula/pop - https://aur.archlinux.org/packages/charm-pop-bin - https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/po/pop/package.nix - https://github.com/microsoft/winget-pkgs/tree/master/manifests/c/charmbracelet/pop - https://github.com/termux/termux-packages/tree/master/packages --- # S-nail > Command-line mail program that implements POSIX mailx, with MIME, IMAP, POP3, SMTP, Maildir and S/MIME support. S-nail is a fork of Heirloom mailx and works as a POSIX mailx(1) for reading and sending mail from a line-oriented prompt or from scripts. It speaks POP3, IMAP and SMTP itself, reads mbox and Maildir folders, and supports S/MIME signing and encryption. Upstream notes that its IMAP code is kept at an older level and should be used with care. It suits users who want a classic mail command for shell scripts and quick terminal use. - Type: Email client - Interface: Command-line tools and prompts - Systems: Runs on Linux, macOS and BSD, on Windows through WSL. Not available for Android. - Language: C - License: ISC and BSD 2-Clause and BSD 3-Clause and BSD 4-Clause (ISC AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause) - Latest version: 14.9.25 - Background: Fork of Heirloom mailx, which descends from BSD Mail - Maintained: yes - Website: https://www.sdaoden.eu/code.html#s-mailx - Source: https://git.sdaoden.eu/browse/s-nail.git - Documentation: https://www.sdaoden.eu/code-nail.html ## Install ### Linux Native. - apt: `sudo apt install s-nail` - dnf: `sudo dnf install s-nail` - pacman: `sudo pacman -S s-nail` ### macOS Native. - Homebrew: `brew install s-nail` ### Windows Through WSL. No native Windows build; run it in WSL. - WSL: `sudo apt install s-nail` ### BSD Native. - FreeBSD pkg: `pkg install s-nail` - OpenBSD: `pkg_add s-nail` ### Android Not supported. No Termux package. ## Protocols - IMAP: Yes - POP3: Yes - SMTP: Yes - JMAP: No - Maildir: Yes - mbox: Yes - notmuch: No ## Features - OpenPGP: No - S/MIME: Yes - OAuth2 sign-in: via script - Threads: Yes - Search: built-in message specifications and the search command; IMAP SEARCH on IMAP folders - HTML mail: built-in tag-soup filter or external viewer via mailcap - Mouse: No - Multiple accounts: Yes - Offline use: IMAP cache with disconnected mode - Calendar: No - Contacts: aliases via the alias command - Vim-style keys: No - Configuration: ~/.mailrc command file ## Pros - Drop-in POSIX mailx, so it works in existing shell scripts and cron jobs. - Built-in SMTP, POP3 and IMAP with TLS; no separate sync or send tool needed. - S/MIME signing and encryption are built in. ## Cons - Line-oriented prompt instead of a full-screen interface. - No built-in OpenPGP; upstream documents a gpg pipe workaround only. - IMAP support is kept at an older code level and upstream advises care. ## Use S-nail with Forward Email File: `~/.mailrc` ``` # ~/.mailrc (start with: s-nail -A forwardemail) set v15-compat set tls-verify=strict # Read credentials from an encrypted netrc file set netrc-lookup netrc-pipe='gpg -qd ~/.netrc.gpg' account forwardemail { set from='Your Name ' set folder=imaps://you%40example.com@imap.forwardemail.net \ inbox=imaps://you%40example.com@imap.forwardemail.net/INBOX \ record="+Sent Mail" set mta=smtps://you%40example.com@smtp.forwardemail.net:465 } # Decrypted contents of ~/.netrc.gpg: # machine imap.forwardemail.net login you@example.com password YOUR-GENERATED-PASSWORD # machine smtp.forwardemail.net login you@example.com password YOUR-GENERATED-PASSWORD # For POP3 instead of IMAP: set inbox=pop3s://you%40example.com@pop3.forwardemail.net ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does S-nail work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). No native Windows build; run it in WSL. ### Does S-nail support IMAP? Yes, S-nail connects to IMAP servers directly. ### Is S-nail open source? Yes, under the ISC and BSD 2-Clause and BSD 3-Clause and BSD 4-Clause. ### How do I use S-nail with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.mailrc, and replace the address and password with your own. ## Sources - https://www.sdaoden.eu/code.html - https://www.sdaoden.eu/code-nail.html - https://git.sdaoden.eu/browse/s-nail.git - https://git.sdaoden.eu/browse/s-nail.git/tree/COPYING?h=v14.9.25 - https://git.sdaoden.eu/browse/s-nail.git/tree/README?h=v14.9.25 - https://git.sdaoden.eu/browse/s-nail.git/tree/nail.1?h=v14.9.25 - https://git.sdaoden.eu/browse/s-nail.git/tree/make.rc?h=v14.9.25 - https://packages.debian.org/trixie/s-nail - https://mdapi.fedoraproject.org/rawhide/pkg/s-nail - https://archlinux.org/packages/core/x86_64/s-nail/ - https://formulae.brew.sh/formula/s-nail - https://github.com/freebsd/freebsd-ports/blob/main/mail/s-nail/Makefile - https://github.com/openbsd/ports/blob/master/mail/s-nail/Makefile - https://github.com/termux/termux-packages/tree/master/packages - https://github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js --- # Sup > Curses email client in Ruby built around threads, labels and fast full-text search over local mail. Sup indexes Maildir and mbox sources with Xapian and shows mail as threads that can be labeled, archived and muted, in the style of Gmail. It suits people with large mail archives who search more than they file. It reads local mail only, so it is paired with a sync tool such as isync for IMAP and a sendmail-compatible program such as msmtp for sending. The maintainers focus on keeping the current feature set working rather than adding major features. - Type: Email client - Interface: Full-screen terminal interface - Systems: Runs on Linux and macOS, on Windows through WSL, builds from source on BSD. Not available for Android. - Language: Ruby - License: GPL 2.0 or later (GPL-2.0-or-later) - Latest version: 1.4 - Maintained: yes - Website: https://supmua.dev/ - Source: https://github.com/sup-heliotrope/sup - Documentation: https://github.com/sup-heliotrope/sup/wiki ## Install ### Linux Native. - apt: `sudo apt install sup-mail` - RubyGems: `gem install sup` ### macOS Native. - RubyGems: `gem install sup` ### Windows Through WSL. Unix-only; use WSL. - WSL: `sudo apt install sup-mail` ### BSD Build from source. No ports package; install the Ruby gem. - RubyGems: `gem install sup` ### Android Not supported. ## Protocols - IMAP: No - POP3: No - SMTP: Through a separate tool - JMAP: No - Maildir: Yes - mbox: Yes - notmuch: No ## Features - OpenPGP: Yes - S/MIME: No - OAuth2 sign-in: No - Threads: Yes - Search: Xapian full-text index with a query language - HTML mail: via the mime-decode hook and an external viewer such as w3m - Mouse: No - Multiple accounts: Yes - Offline use: reads local Maildir or mbox; sync with isync or OfflineIMAP - Calendar: No - Contacts: tracks recent contacts automatically - Vim-style keys: Yes - Configuration: ~/.sup/config.yaml and ~/.sup/sources.yaml, plus Ruby hooks ## Pros - Fast full-text search over large archives - Gmail-style labels, archiving and muting of threads - Ruby hooks for custom behavior ## Cons - No built-in IMAP or SMTP; needs isync (or similar) and msmtp - Changes sync back to Maildir only with the optional sync-back setting - Packaged by Debian and Ubuntu (and the AUR); elsewhere installed as a Ruby gem with native Xapian bindings ## Use Sup with Forward Email File: `~/.sup/config.yaml` ``` # Sup reads local mail. Sync it from imap.forwardemail.net with isync (see the isync entry) into ~/Mail/forwardemail, # send with msmtp (see the msmtp entry), then add the source once: # sup-add maildir:$HOME/Mail/forwardemail/INBOX --- :accounts: :default: :name: Your Name :email: you@example.com :alternates: [] :sendmail: msmtp -a forwardemail --read-envelope-from -t :gpgkey: "" ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does Sup work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). Unix-only; use WSL. ### Does Sup support IMAP? No. Sup does not use IMAP. ### Is Sup open source? Yes, under the GPL 2.0 or later. ### How do I use Sup with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.sup/config.yaml, and replace the address and password with your own. ## Sources - https://supmua.dev/ - https://github.com/sup-heliotrope/sup - https://github.com/sup-heliotrope/sup/blob/develop/README.md - https://github.com/sup-heliotrope/sup/blob/develop/History.txt - https://github.com/sup-heliotrope/sup/blob/develop/LICENSE - https://github.com/sup-heliotrope/sup/blob/develop/lib/sup.rb - https://github.com/sup-heliotrope/sup/blob/develop/bin/sup-add - https://github.com/sup-heliotrope/sup/wiki - https://rubygems.org/gems/sup - https://packages.debian.org/search?keywords=sup-mail&searchon=names&exact=1 - https://packages.ubuntu.com/sup-mail - https://marlam.de/msmtp/msmtp.html --- # Wanderlust > Mail and news reader for Emacs, written in Emacs Lisp, with built-in IMAP, POP3, NNTP and SMTP support. Wanderlust is an Emacs mail client that talks to IMAP, POP3 and NNTP servers directly and also reads local Maildir and MH folders. Folders are named with a compact prefix syntax (for example %inbox for IMAP), and it can cache messages for disconnected use. Development continues on GitHub as unreleased 2.15.9 snapshots, distributed through MELPA and distribution packages. It suits Emacs users who want a client that needs no separate sync or SMTP tool. - Type: Email client - Interface: Runs inside Emacs - Systems: Runs on Linux, macOS and BSD, on Windows through WSL, on Android through Termux. - Language: Emacs Lisp - License: GPL 2.0 or later (GPL-2.0-or-later) - Latest version: 2.15.9 - Maintained: yes - Website: https://github.com/wanderlust/wanderlust - Source: https://github.com/wanderlust/wanderlust - Documentation: https://wanderlust.github.io/wl-docs/ ## Install ### Linux Native. - apt: `sudo apt install wl` - pacman: `sudo pacman -S wanderlust` - MELPA: `M-x package-install RET wanderlust RET` ### macOS Native. - MELPA: `M-x package-install RET wanderlust RET` ### Windows Through WSL. Native Windows Emacs is not documented upstream; use WSL. - WSL: `sudo apt install wl` ### BSD Native. - FreeBSD pkg: `pkg install wanderlust` ### Android Through Termux. - Termux: `pkg install emacs, then M-x package-install RET wanderlust RET` ## Protocols - IMAP: Yes - POP3: Yes - SMTP: Yes - JMAP: No - Maildir: Yes - mbox: No - notmuch: Through a separate tool ## Features - OpenPGP: Yes - S/MIME: No - OAuth2 sign-in: via oauth2.el - Threads: Yes - Search: IMAP server-side search; local search via mu, notmuch, grep or namazu - HTML mail: via mime-w3m (emacs-w3m) - Mouse: Yes - Multiple accounts: Yes - Offline use: message cache and disconnected operation - Calendar: No - Contacts: built-in address book - Vim-style keys: No - Configuration: Emacs Lisp in ~/.wl, folder list in ~/.folders ## Pros - 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 ## Cons - 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 ## Use Wanderlust with Forward Email File: `~/.wl` ``` ;; ~/.wl (setq elmo-imap4-default-server "imap.forwardemail.net" elmo-imap4-default-port 993 elmo-imap4-default-stream-type 'ssl elmo-imap4-default-user "you@example.com" elmo-imap4-default-authenticate-type 'clear wl-default-folder "%inbox" wl-fcc "%\"Sent Mail\"" wl-from "Your Name " wl-local-domain "example.com" wl-smtp-posting-server "smtp.forwardemail.net" wl-smtp-posting-port 465 wl-smtp-connection-type 'ssl wl-smtp-posting-user "you@example.com" wl-smtp-authenticate-type "plain") ;; Wanderlust prompts for the alias' generated password on first connect. ``` | Protocol | Server | Port | Security | | --- | --- | --- | --- | | IMAP | imap.forwardemail.net | 993 | SSL/TLS | | POP3 | pop3.forwardemail.net | 995 | SSL/TLS | | SMTP | smtp.forwardemail.net | 465 | SSL/TLS | | SMTP | smtp.forwardemail.net | 587 | STARTTLS | Username: your full alias address. Password: the one from Generate Password next to the alias. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive. ## Questions ### Does Wanderlust work on Windows? Not natively. It runs in Windows Subsystem for Linux (WSL). Native Windows Emacs is not documented upstream; use WSL. ### Does Wanderlust support IMAP? Yes, Wanderlust connects to IMAP servers directly. ### Is Wanderlust open source? Yes, under the GPL 2.0 or later. ### How do I use Wanderlust with Forward Email? Use the config in the Forward Email section on this page, saved as ~/.wl, and replace the address and password with your own. ## Sources - https://github.com/wanderlust/wanderlust - https://github.com/wanderlust/wanderlust/blob/master/README.md - https://github.com/wanderlust/wanderlust/blob/master/COPYING - https://github.com/wanderlust/wanderlust/blob/master/wanderlust-pkg.el - https://github.com/wanderlust/wanderlust/blob/master/doc/wl.texi - https://github.com/wanderlust/wanderlust/commits/master - https://wanderlust.github.io/wl-docs/ - https://melpa.org/#/wanderlust - https://packages.debian.org/search?keywords=wl&searchon=names&exact=1 - https://packages.ubuntu.com/wl - https://archlinux.org/packages/extra/any/wanderlust/ - https://www.freshports.org/mail/wanderlust/ --- # Terminal email clients for Linux Every client on this site runs on Linux (Cone builds from source), and most are in the main repositories of Debian, Ubuntu, Fedora and Arch. Install with your distribution's package manager, then add a config file for your mail provider. The table shows the first command each project lists; each client's page has the commands for other distributions. ## Clients | Client | Linux | Install | | --- | --- | --- | | [Forward Email](https://terminalemail.com/clients/forward-email/index.md) | Native | `curl -fsSL https://github.com/forwardemail/mail.forwardemail.net/releases/latest/download/install.sh \| sh` | | [aerc](https://terminalemail.com/clients/aerc/index.md) | Native | `sudo apt install aerc` | | [alot](https://terminalemail.com/clients/alot/index.md) | Native | `sudo apt install alot` | | [Alpine](https://terminalemail.com/clients/alpine/index.md) | Native | `sudo apt install alpine` | | [Cone](https://terminalemail.com/clients/cone/index.md) | Build from source | `rpmbuild -ta cone-2.5.tar.bz2` | | [Gnus](https://terminalemail.com/clients/gnus/index.md) | Native | `sudo apt install emacs` | | [Himalaya](https://terminalemail.com/clients/himalaya/index.md) | Native | `sudo pacman -S himalaya` | | [Matcha](https://terminalemail.com/clients/matcha/index.md) | Native | `sudo snap install matcha` | | [mblaze](https://terminalemail.com/clients/mblaze/index.md) | Native | `sudo apt install mblaze` | | [meli](https://terminalemail.com/clients/meli/index.md) | Native | `sudo apt install meli` | | [mu4e](https://terminalemail.com/clients/mu4e/index.md) | Native | `sudo apt install mu4e isync` | | [Mutt](https://terminalemail.com/clients/mutt/index.md) | Native | `sudo apt install mutt` | | [NeoMutt](https://terminalemail.com/clients/neomutt/index.md) | Native | `sudo apt install neomutt` | | [nmail](https://terminalemail.com/clients/nmail/index.md) | Native | `guix install nmail` | | [nmh](https://terminalemail.com/clients/nmh/index.md) | Native | `sudo apt install nmh` | | [Notmuch Emacs interface](https://terminalemail.com/clients/notmuch-emacs/index.md) | Native | `sudo apt install elpa-notmuch isync msmtp` | | [S-nail](https://terminalemail.com/clients/s-nail/index.md) | Native | `sudo apt install s-nail` | | [Sup](https://terminalemail.com/clients/sup/index.md) | Native | `sudo apt install sup-mail` | | [Wanderlust](https://terminalemail.com/clients/wanderlust/index.md) | Native | `sudo apt install wl` | ## Mail tools | Client | Linux | Install | | --- | --- | --- | | [getmail6](https://terminalemail.com/tools/getmail6/index.md) | Native | `sudo apt install getmail6` | | [isync](https://terminalemail.com/tools/isync/index.md) | Native | `sudo apt install isync` | | [msmtp](https://terminalemail.com/tools/msmtp/index.md) | Native | `sudo apt install msmtp` | | [mutt-wizard](https://terminalemail.com/tools/mutt-wizard/index.md) | Native | `sudo apt install mutt-wizard` | | [notmuch](https://terminalemail.com/tools/notmuch/index.md) | Native | `sudo apt install notmuch` | | [OfflineIMAP](https://terminalemail.com/tools/offlineimap/index.md) | Native | `sudo apt install offlineimap3` | | [Pop](https://terminalemail.com/tools/pop/index.md) | Native | `brew install pop` | ## Questions ### Which terminal email clients run on Linux? 19 clients run on Linux: Forward Email, aerc, alot, Alpine, Cone, Gnus, Himalaya, Matcha, mblaze, meli, mu4e, Mutt, NeoMutt, nmail, nmh, Notmuch Emacs interface, S-nail, Sup and Wanderlust. ### Which Linux clients have built-in IMAP? aerc, Alpine, Cone, Gnus, Himalaya, Matcha, meli, Mutt, NeoMutt, nmail, S-nail and Wanderlust. The others read local mail that a sync tool such as isync keeps up to date, or, for Forward Email's app, connect through its API. ### Does Forward Email work on Linux? Yes. Its terminal app has a standalone build, and every other client on this page can use a Forward Email mailbox over IMAP and SMTP, directly or through a sync tool. --- # Terminal email clients for macOS Most clients install with Homebrew: 14 of the 18 that run on macOS have a Homebrew formula or cask. The rest install with an install script, Nix, RubyGems and MELPA, and each client's page has the command. ## Clients | Client | macOS | Install | | --- | --- | --- | | [Forward Email](https://terminalemail.com/clients/forward-email/index.md) | Native | `curl -fsSL https://github.com/forwardemail/mail.forwardemail.net/releases/latest/download/install.sh \| sh` | | [aerc](https://terminalemail.com/clients/aerc/index.md) | Native | `brew install aerc` | | [alot](https://terminalemail.com/clients/alot/index.md) | Native | `brew install alot` | | [Alpine](https://terminalemail.com/clients/alpine/index.md) | Native | `brew install alpine` | | [Gnus](https://terminalemail.com/clients/gnus/index.md) | Native | `brew install emacs` | | [Himalaya](https://terminalemail.com/clients/himalaya/index.md) | Native | `brew install himalaya` | | [Matcha](https://terminalemail.com/clients/matcha/index.md) | Native | `brew install --cask floatpane/matcha/matcha` | | [mblaze](https://terminalemail.com/clients/mblaze/index.md) | Native | `nix profile install nixpkgs#mblaze` | | [meli](https://terminalemail.com/clients/meli/index.md) | Native | `brew install meli` | | [mu4e](https://terminalemail.com/clients/mu4e/index.md) | Native | `brew install mu isync emacs` | | [Mutt](https://terminalemail.com/clients/mutt/index.md) | Native | `brew install mutt` | | [NeoMutt](https://terminalemail.com/clients/neomutt/index.md) | Native | `brew install neomutt` | | [nmail](https://terminalemail.com/clients/nmail/index.md) | Native | `brew install nmail` | | [nmh](https://terminalemail.com/clients/nmh/index.md) | Native | `brew install nmh` | | [Notmuch Emacs interface](https://terminalemail.com/clients/notmuch-emacs/index.md) | Native | `brew install notmuch emacs isync msmtp` | | [S-nail](https://terminalemail.com/clients/s-nail/index.md) | Native | `brew install s-nail` | | [Sup](https://terminalemail.com/clients/sup/index.md) | Native | `gem install sup` | | [Wanderlust](https://terminalemail.com/clients/wanderlust/index.md) | Native | `M-x package-install RET wanderlust RET` | ## Mail tools | Client | macOS | Install | | --- | --- | --- | | [getmail6](https://terminalemail.com/tools/getmail6/index.md) | Native | `brew install getmail6` | | [isync](https://terminalemail.com/tools/isync/index.md) | Native | `brew install isync` | | [msmtp](https://terminalemail.com/tools/msmtp/index.md) | Native | `brew install msmtp` | | [mutt-wizard](https://terminalemail.com/tools/mutt-wizard/index.md) | Build from source | `git clone https://github.com/LukeSmithxyz/mutt-wizard && cd mutt-wizard && sudo make install` | | [notmuch](https://terminalemail.com/tools/notmuch/index.md) | Native | `brew install notmuch` | | [OfflineIMAP](https://terminalemail.com/tools/offlineimap/index.md) | Native | `brew install offlineimap` | | [Pop](https://terminalemail.com/tools/pop/index.md) | Native | `brew install pop` | ## Questions ### Which terminal email clients run on macOS? 18 clients run on macOS: Forward Email, aerc, alot, Alpine, Gnus, Himalaya, Matcha, mblaze, meli, mu4e, Mutt, NeoMutt, nmail, nmh, Notmuch Emacs interface, S-nail, Sup and Wanderlust. ### Which macOS clients have built-in IMAP? aerc, Alpine, Gnus, Himalaya, Matcha, meli, Mutt, NeoMutt, nmail, S-nail and Wanderlust. The others read local mail that a sync tool such as isync keeps up to date, or, for Forward Email's app, connect through its API. ### Does Forward Email work on macOS? Yes. Its terminal app has a standalone build, and every other client on this page can use a Forward Email mailbox over IMAP and SMTP, directly or through a sync tool. --- # Terminal email clients for Windows Forward Email, Alpine, Gnus, Himalaya and Matcha run natively on Windows. 12 other clients run in Windows Subsystem for Linux (WSL). meli and nmail are not available for Windows. WSL runs a real Linux system next to Windows: run wsl --install in an administrator PowerShell, restart, open Ubuntu from the Start menu and install the client with apt. Use Windows Terminal rather than the legacy console, for correct colors and box-drawing characters. ## Clients | Client | Windows | Install | | --- | --- | --- | | [Forward Email](https://terminalemail.com/clients/forward-email/index.md) | Native | `irm https://github.com/forwardemail/mail.forwardemail.net/releases/latest/download/install.ps1 \| iex` | | [aerc](https://terminalemail.com/clients/aerc/index.md) | Through WSL | `sudo apt install aerc` | | [alot](https://terminalemail.com/clients/alot/index.md) | Through WSL | `sudo apt install alot` | | [Alpine](https://terminalemail.com/clients/alpine/index.md) | Native | `Download alpine-2.26.zip from https://alpineapp.email/alpine/release/` | | [Cone](https://terminalemail.com/clients/cone/index.md) | Through WSL | | | [Gnus](https://terminalemail.com/clients/gnus/index.md) | Native | `winget install GNU.Emacs` | | [Himalaya](https://terminalemail.com/clients/himalaya/index.md) | Native | `scoop install himalaya` | | [Matcha](https://terminalemail.com/clients/matcha/index.md) | Native | `winget install --id=floatpane.matcha` | | [mblaze](https://terminalemail.com/clients/mblaze/index.md) | Through WSL | `sudo apt install mblaze` | | [mu4e](https://terminalemail.com/clients/mu4e/index.md) | Through WSL | `sudo apt install mu4e isync` | | [Mutt](https://terminalemail.com/clients/mutt/index.md) | Through WSL | `sudo apt install mutt` | | [NeoMutt](https://terminalemail.com/clients/neomutt/index.md) | Through WSL | `sudo apt install neomutt` | | [nmh](https://terminalemail.com/clients/nmh/index.md) | Through WSL | `sudo apt install nmh` | | [Notmuch Emacs interface](https://terminalemail.com/clients/notmuch-emacs/index.md) | Through WSL | `sudo apt install elpa-notmuch isync msmtp` | | [S-nail](https://terminalemail.com/clients/s-nail/index.md) | Through WSL | `sudo apt install s-nail` | | [Sup](https://terminalemail.com/clients/sup/index.md) | Through WSL | `sudo apt install sup-mail` | | [Wanderlust](https://terminalemail.com/clients/wanderlust/index.md) | Through WSL | `sudo apt install wl` | ## Mail tools | Client | Windows | Install | | --- | --- | --- | | [getmail6](https://terminalemail.com/tools/getmail6/index.md) | Through WSL | `sudo apt install getmail6` | | [isync](https://terminalemail.com/tools/isync/index.md) | Through WSL | `sudo apt install isync` | | [msmtp](https://terminalemail.com/tools/msmtp/index.md) | Native | `pacman -S mingw-w64-ucrt-x86_64-msmtp` | | [mutt-wizard](https://terminalemail.com/tools/mutt-wizard/index.md) | Through WSL | `sudo apt install mutt-wizard` | | [notmuch](https://terminalemail.com/tools/notmuch/index.md) | Through WSL | `sudo apt install notmuch` | | [OfflineIMAP](https://terminalemail.com/tools/offlineimap/index.md) | Through WSL | `sudo apt install offlineimap3` | | [Pop](https://terminalemail.com/tools/pop/index.md) | Native | `winget install charmbracelet.pop` | ## Questions ### Which terminal email clients run on Windows? 17 clients run on Windows (5 natively): Forward Email, aerc, alot, Alpine, Cone, Gnus, Himalaya, Matcha, mblaze, mu4e, Mutt, NeoMutt, nmh, Notmuch Emacs interface, S-nail, Sup and Wanderlust. ### Do I need WSL? Only for clients without a native build. Forward Email, Alpine, Gnus, Himalaya and Matcha install directly on Windows; the rest need WSL. ### Which Windows clients have built-in IMAP? aerc, Alpine, Cone, Gnus, Himalaya, Matcha, Mutt, NeoMutt, S-nail and Wanderlust. The others read local mail that a sync tool such as isync keeps up to date, or, for Forward Email's app, connect through its API. ### Does Forward Email work on Windows? Yes. Its terminal app has a standalone build, and every other client on this page can use a Forward Email mailbox over IMAP and SMTP, directly or through a sync tool. --- # Terminal email clients for BSD FreeBSD packages most clients (pkg install), and OpenBSD (pkg_add) and NetBSD (pkgsrc) package many of the same ones. A client listed as "build from source" compiles on BSD but has no package yet. ## Clients | Client | BSD | Install | | --- | --- | --- | | [Forward Email](https://terminalemail.com/clients/forward-email/index.md) | Native | `npm install -g forwardemail` | | [aerc](https://terminalemail.com/clients/aerc/index.md) | Native | `pkg install aerc` | | [alot](https://terminalemail.com/clients/alot/index.md) | Native | `pkg install mail/py-alot` | | [Alpine](https://terminalemail.com/clients/alpine/index.md) | Native | `pkg install alpine` | | [Cone](https://terminalemail.com/clients/cone/index.md) | Native | `pkg install cone` | | [Gnus](https://terminalemail.com/clients/gnus/index.md) | Native | `pkg install emacs` | | [Himalaya](https://terminalemail.com/clients/himalaya/index.md) | Build from source | `cargo install --locked --git https://github.com/pimalaya/himalaya.git` | | [Matcha](https://terminalemail.com/clients/matcha/index.md) | Build from source | `git clone https://github.com/floatpane/matcha && cd matcha && go build .` | | [mblaze](https://terminalemail.com/clients/mblaze/index.md) | Native | `pkg install mblaze` | | [meli](https://terminalemail.com/clients/meli/index.md) | Native | `pkg_add meli` | | [mu4e](https://terminalemail.com/clients/mu4e/index.md) | Native | `pkg install mu isync` | | [Mutt](https://terminalemail.com/clients/mutt/index.md) | Native | `pkg install mutt` | | [NeoMutt](https://terminalemail.com/clients/neomutt/index.md) | Native | `pkg install neomutt` | | [nmh](https://terminalemail.com/clients/nmh/index.md) | Native | `pkg install nmh` | | [Notmuch Emacs interface](https://terminalemail.com/clients/notmuch-emacs/index.md) | Native | `pkg install notmuch-emacs isync msmtp` | | [S-nail](https://terminalemail.com/clients/s-nail/index.md) | Native | `pkg install s-nail` | | [Sup](https://terminalemail.com/clients/sup/index.md) | Build from source | `gem install sup` | | [Wanderlust](https://terminalemail.com/clients/wanderlust/index.md) | Native | `pkg install wanderlust` | ## Mail tools | Client | BSD | Install | | --- | --- | --- | | [getmail6](https://terminalemail.com/tools/getmail6/index.md) | Native | `pkg install py312-getmail6` | | [isync](https://terminalemail.com/tools/isync/index.md) | Native | `pkg install isync` | | [msmtp](https://terminalemail.com/tools/msmtp/index.md) | Native | `pkg install msmtp` | | [mutt-wizard](https://terminalemail.com/tools/mutt-wizard/index.md) | Native | `pkg_add mutt-wizard` | | [notmuch](https://terminalemail.com/tools/notmuch/index.md) | Native | `pkg install notmuch` | | [OfflineIMAP](https://terminalemail.com/tools/offlineimap/index.md) | Native | `pkg install mail/py-offlineimap` | | [Pop](https://terminalemail.com/tools/pop/index.md) | Native | `go install github.com/charmbracelet/pop@latest` | ## Questions ### Which terminal email clients run on BSD? 18 clients run on BSD: Forward Email, aerc, alot, Alpine, Cone, Gnus, Himalaya, Matcha, mblaze, meli, mu4e, Mutt, NeoMutt, nmh, Notmuch Emacs interface, S-nail, Sup and Wanderlust. ### Which BSD clients have built-in IMAP? aerc, Alpine, Cone, Gnus, Himalaya, Matcha, meli, Mutt, NeoMutt, S-nail and Wanderlust. The others read local mail that a sync tool such as isync keeps up to date, or, for Forward Email's app, connect through its API. ### Does Forward Email work on BSD? Yes. Its terminal app installs from npm, and every other client on this page can use a Forward Email mailbox over IMAP and SMTP, directly or through a sync tool. --- # Terminal email clients for Android Termux runs a Linux-style terminal on Android without root access. Install Termux from F-Droid or its GitHub releases, then install clients with pkg install. A Bluetooth or USB keyboard makes the full-screen clients much easier to use. ## Clients | Client | Android | Install | | --- | --- | --- | | [Forward Email](https://terminalemail.com/clients/forward-email/index.md) | Through Termux | `pkg install nodejs && npm install -g forwardemail` | | [aerc](https://terminalemail.com/clients/aerc/index.md) | Through Termux | `pkg install aerc` | | [Alpine](https://terminalemail.com/clients/alpine/index.md) | Through Termux | `pkg install alpine` | | [Gnus](https://terminalemail.com/clients/gnus/index.md) | Through Termux | `pkg install emacs` | | [mu4e](https://terminalemail.com/clients/mu4e/index.md) | Through Termux | `pkg install mu isync` | | [Mutt](https://terminalemail.com/clients/mutt/index.md) | Through Termux | `pkg install mutt` | | [NeoMutt](https://terminalemail.com/clients/neomutt/index.md) | Through Termux | `pkg install neomutt` | | [nmh](https://terminalemail.com/clients/nmh/index.md) | Through Termux | `pkg install nmh` | | [Notmuch Emacs interface](https://terminalemail.com/clients/notmuch-emacs/index.md) | Through Termux | `pkg install notmuch emacs isync msmtp` | | [Wanderlust](https://terminalemail.com/clients/wanderlust/index.md) | Through Termux | `pkg install emacs, then M-x package-install RET wanderlust RET` | ## Mail tools | Client | Android | Install | | --- | --- | --- | | [isync](https://terminalemail.com/tools/isync/index.md) | Through Termux | `pkg install isync` | | [msmtp](https://terminalemail.com/tools/msmtp/index.md) | Through Termux | `pkg install msmtp` | | [notmuch](https://terminalemail.com/tools/notmuch/index.md) | Through Termux | `pkg install notmuch` | ## Questions ### Which terminal email clients run on Android? 10 clients run on Android, all through Termux: Forward Email, aerc, Alpine, Gnus, mu4e, Mutt, NeoMutt, nmh, Notmuch Emacs interface and Wanderlust. ### Which Android clients have built-in IMAP? aerc, Alpine, Gnus, Mutt, NeoMutt and Wanderlust. The others read local mail that a sync tool such as isync keeps up to date, or, for Forward Email's app, connect through its API. ### Does Forward Email work on Android? Yes. Its terminal app runs in Termux through npm, and every other client on this page can use a Forward Email mailbox over IMAP and SMTP, directly or through a sync tool. --- # About Terminal Email Terminal Email is a list of email clients and mail tools that run in a terminal, sorted by the operating systems they run on. Each page gives the install command for every system, the protocols and features the program supports, its pros and cons, and a working setup for a Forward Email mailbox. ## What gets listed A program is listed when: - you read, write, send, sync or search email with it in a terminal, or inside Emacs or Vim running in one; - its source code is public; - people use it: it is packaged by at least one major system, or has an active community. Programs with no commits or releases in about a year stay listed when they still work, with a **Not maintained** label. Programs that no longer build or run are removed. ## Editorial policy: how facts are checked Every fact comes from the project itself: its website, repository, license file, manual or release notes. Install commands are checked against the package repositories of Debian, Fedora, Arch, Homebrew, FreeBSD, OpenBSD, MSYS2, Scoop, winget and Termux. Each page lists the sources it was checked against. The data lives in one YAML file per program in the [GitHub repository](https://github.com/forwardemail/terminalemail.com), and the site is built from it. A change to a file changes the page, the JSON API and the Markdown copy together. ## Forward Email Terminal Email is made by [Forward Email](https://forwardemail.net), an email provider. Forward Email's own terminal app, `forwardemail`, is featured on the home page and shown first in lists. It is listed with the same facts as every other client, including its limits: it only works with Forward Email accounts, and its license is source-available rather than open source. Every other client works with any email provider. The setup examples use Forward Email's server names because the site is made by Forward Email; change the server names and they work with any provider that offers IMAP and SMTP. Forward Email is open source ([forwardemail/forwardemail.net](https://github.com/forwardemail/forwardemail.net)), and its founder was one of the first employees at DuckDuckGo. There are no ads, affiliate links, trackers or cookies. See [Privacy](/privacy/) and the [terms of use](/terms/). ## Picks and guides The [best clients by need](/best/) page picks one client for each common need, with the facts behind each pick. The [questions and answers](/faq/) and the [glossary](/glossary/) explain terms such as IMAP, Maildir and JMAP. ## Contact and corrections All contact goes through the [GitHub repository](https://github.com/forwardemail/terminalemail.com). If a fact is wrong or out of date, [report a mistake](https://github.com/forwardemail/terminalemail.com/issues/new?template=correction.yml) with a link to a source, or edit the file and open a pull request. See [how to contribute](CONTRIBUTING.md). Report security problems privately as described in the [security policy](SECURITY.md). --- # Privacy policy Terminal Email collects nothing about you. The site sets no cookies, runs no analytics, and loads no ads, trackers, fonts or scripts from other sites. ## What the site loads Every page, stylesheet, script, font and image comes from terminalemail.com. A Content Security Policy in each page tells your browser to refuse anything from another site, so a mistake in the code cannot quietly add a third-party request. The share menu has plain links to Mastodon, Bluesky, Reddit and other sites. Nothing from those sites loads until you click one of the links. ## What your browser stores The site keeps a few things in your own browser. They never leave your device and you can clear them at any time in your browser settings: | What | Where | Why | | --- | --- | --- | | Your light or dark theme choice | localStorage, key `theme` | So the theme you picked stays the same on the next page | | The Mastodon server you typed in the share menu | localStorage, key `mastodon` | So you do not have to type it again | | Pages, styles, fonts and images you opened | Cache Storage, through a service worker | So pages you opened before still work offline | The search box downloads one file, [/api/search.json](/api/search.json), from this site and searches it in your browser. What you type is not sent anywhere. ## What the host logs The site is hosted on GitHub Pages. GitHub's documentation states that when a GitHub Pages site is visited, the visitor's IP address is logged and stored for security purposes ([What is GitHub Pages: data collection](https://docs.github.com/en/pages/getting-started-with-github-pages/what-is-github-pages#data-collection)). Those logs are kept by GitHub and covered by the [GitHub General Privacy Statement](https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement). ## Who runs the site Terminal Email is made by [Forward Email](https://forwardemail.net). See [About Terminal Email](/about/) for how the list is made. ## Questions Open an issue in the [GitHub repository](https://github.com/forwardemail/terminalemail.com/issues). Report security problems privately as described in the [security policy](SECURITY.md). --- # Terms of use and licenses You may read, copy, share and adapt everything on Terminal Email under its open licenses. The information is checked against each project's own sources, but it comes with no warranty. ## Content and data The pages, the client data, the screenshots, the JSON API and the Markdown copies are licensed under [Creative Commons Attribution-ShareAlike 4.0](https://creativecommons.org/licenses/by-sa/4.0/). You may copy and adapt them, including for commercial use, when you: - credit Terminal Email and link to [terminalemail.com](https://terminalemail.com/) or the page you used; - share your adapted version under the same license. The data is free to use in your own tools: [/api/clients.json](/api/clients.json) has every client and tool, and [llms.txt](/llms.txt) lists every page. ## Code The code that builds the site is licensed under the [MIT License](LICENSE). The fonts are licensed under the SIL Open Font License 1.1. See [the license notes](LICENSE-CONTENT.md) for which files fall under which license. ## Names and trademarks Program and project names belong to their owners. Listing a program does not mean its developers endorse Terminal Email, and Terminal Email does not endorse every program it lists. ## Accuracy Facts come from each project's website, repository, license file and package listings, and each page links to the sources it was checked against. Programs change, so a fact can go out of date between checks. Check the project's own documentation before you rely on a detail, and [report a mistake](https://github.com/forwardemail/terminalemail.com/issues/new?template=correction.yml) when you find one. Install commands and configs are given as examples. Read a command before you run it, especially one that pipes a download into a shell. ## No warranty The site, its data and its code are provided as they are, without warranty of any kind. Both the MIT License and the Creative Commons license disclaim warranties and limit the authors' liability; their full text applies. ## Privacy See [Privacy](/privacy/): the site sets no cookies and loads nothing from other sites.