Terminal Email

Terminal email glossary

28 terms you meet when you set up email in a terminal, from IMAP and Maildir to OAuth2 and STARTTLS. Protocol terms link to the standard that defines them.

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.

For which client to use, see the best clients by need and questions and answers.