Mail Clients¶
These guides cover the Mail User Agent (MUA) side of email: the programs that compose, send and read mail. In the terms used in Email Architecture, they sit at both ends of the pipeline. They submit mail to an MTA over SMTP, and they read it back over IMAP (or straight from a local mailbox file).
All of them are terminal or command-line tools. That makes them good for servers, for scripting, and for anyone who wants their mail setup to be plain text under version control.
- The
mailCommand (mailx, s-nail, GNU Mailutils) covers sending mail and attachments from scripts and cron. It explains the three incompatiblemailimplementations,sendmail -t, and testing withswaks. - Mutt covers configuration from scratch: IMAP/SMTP, Gmail, multiple accounts, keeping passwords out of the muttrc, caching, and debugging.
- Mutt and GPG covers signing and encrypting with GPGME (modern) or the classic
gpg.rccommand set, plus gpg-agent and pinentry. - NeoMutt explains what the fork adds (sidebar, notmuch, Lua and more), how it differs from Mutt, and how to migrate.
- Proton Mail Bridge covers running Bridge headless or on a desktop, wiring it into Mutt/NeoMutt, and backing up a Proton mailbox.
Which client should I use?¶
| Need | Use |
|---|---|
| Send an alert or a file from a script or cron job | mail/s-nail, or sendmail -t directly |
| Test an SMTP server (AUTH, TLS, specific envelope) | swaks |
| Read and write mail interactively in a terminal | Mutt or NeoMutt |
| Full-text search across a large local archive | NeoMutt + notmuch |
| Use a Proton Mail account from any IMAP client | Proton Mail Bridge, plus the client of your choice |