Mutt (email client)

Mutt is a text-based email client for Unix-like systems. It was originally written by Michael Elkins in 1995 and released under the GNU General Public License version 2 or any later version.

The Mutt slogan is "All mail clients suck. This one just sucks less."

Operation
Mutt supports most mail storing formats (notably both mbox and Maildir) and protocols (POP3, IMAP, etc.). It also includes MIME support, notably full PGP/GPG and S/MIME integration.

Mutt was originally designed as a Mail User Agent (MUA) and relied on locally accessible mailbox and sendmail infrastructure. According to the Mutt homepage "though written from scratch, Mutt's initial interface was based largely on the ELM mail client". New to Mutt were message scoring and threading capabilities. Support for fetching and sending email via various protocols such as POP3, IMAP and SMTP was added later. However, Mutt still relies on external tools for composing and filtering messages.

Mutt has hundreds of configuration directives and commands. It allows for changing all the key bindings and making keyboard macros for complex actions, as well as the colors and the layout of most of the interface. Through variants of a concept known as "hooks", many of its settings can be changed based on criteria such as current mailbox or outgoing message recipients. Mutt supports an optional sidebar, similar to those often found in graphical mail clients. There are also many patches and extensions available that add functionality, such as NNTP support.

Mutt is fully controlled with the keyboard, and has support for mail conversation threading, meaning one can easily move around long discussions such as in mailing lists. New messages are composed with an external text editor, unlike pine, which embeds its own editor known as pico.

Mutt is capable of efficiently searching mail stores by calling on mail indexing tools such as Notmuch, and many people recommend Mutt be used this way. Alternatively, users can search their mail stores from Mutt by calling grep via a Bash script.

Mutt is often used by security professionals or security-conscious users because of its smaller attack surface compared with other clients that ship with a web browser rendering engine or a JavaScript interpreter. In relation to Transport Layer Security, Mutt can be configured to trust certificates on first use, and not to use older, less secure versions of the Transport Layer Security protocol.