Whole document tree
This section is intended as a brief overview of how to use Mutt. There are many other features which are described elsewhere in the manual. There is even more information available in the Mutt FAQ and various web pages. See the Mutt Page for more details.
The keybindings described in this section are the defaults as distributed. Your local system administrator may have altered the defaults for your site. You can always type ``?'' in any menu to display the current bindings.
The first thing you need to do is invoke mutt, simply by typing mutt at the command line. There are various command-line options, see either the mutt man page or the reference.
Information is presented in menus, very similar to ELM. Here is a table showing the common keys used to navigate menus in Mutt.
Mutt has a builtin line editor which is used as the primary way to input textual data such as email addresses or filenames. The keys used to move around while editing are very similar to those of Emacs.
You can remap the editor functions using the bind command. For example, to make the Delete key delete the character in front of the cursor rather than under, you could use
Similar to many other mail clients, there are two modes in which mail is read in Mutt. The first is the index of messages in the mailbox, which is called the ``index'' in Mutt. The second mode is the display of the message contents. This is called the ``pager.''
The next few sections describe the functions provided in each of these modes.
The Message Index
In addition to who sent the message and the subject, a short summary of the disposition of each message is printed beside the message number. Zero or more of the following ``flags'' may appear, which mean:
Some of the status flags can be turned on or off using
Furthermore, the following flags reflect who the message is addressed to. They can be customized with the $to_chars variable.
By default, Mutt uses its builtin pager to display the body of messages. The pager is very similar to the Unix program less though not nearly as featureful.
In addition, many of the functions from the index are available in the pager, such as delete-message or copy-message (this is one advantage over using an external pager to view messages).
Also, the internal pager supports a couple other advanced features. For one, it will accept and translate the ``standard'' nroff sequences for bold and underline. These sequences are a series of either the letter, backspace (^H), the letter again for bold or the letter, backspace, ``_'' for denoting underline. Mutt will attempt to display these in bold and underline respectively if your terminal supports them. If not, you can use the bold and underline color objects to specify a color or mono attribute for them.
Additionally, the internal pager supports the ANSI escape sequences for character attributes. Mutt translates them into the correct color and character settings. The sequences Mutt supports are:
Mutt uses these attributes for handling text/enriched messages, and they can also be used by an external autoview script for highlighting purposes. Note: If you change the colors for your display, for example by changing the color associated with color2 for your xterm, then that color will be used instead of green.
When the mailbox is sorted by threads, there are a few additional functions available in the index and pager modes.
Note: Collapsing a thread displays only the first message in the thread and hides the others. This is useful when threads contain so many messages that you can only see a handful of threads on the screen. See %M in $index_format. For example, you could use "%?M?(#%03M)&(%4l)?" in $index_format to optionally display the number of hidden messages if the thread is collapsed.
See also: $strict_threads.
Creates a new alias based upon the current message (or prompts for a new one). Once editing is complete, an alias command is added to the file specified by the $alias_file variable for future use. Note: Specifying an $alias_file does not add the aliases specified there-in, you must also source the file.
This function will search the current message for content signed or encrypted with PGP the "traditional" way, that is, without proper MIME tagging. Technically, this function will temporarily change the MIME content types of the body parts containing PGP data; this is similar to the edit-type function's effect.
Toggles the weeding of message header fields specified by ignore commands.
This command (available in the ``index'' and ``pager'') allows you to edit the raw current message as it's present in the mail folder. After you have finished editing, the changed message will be appended to the current folder, and the original message will be marked for deletion.
This command is used to temporarily edit an attachment's content type to fix, for instance, bogus character set parameters. When invoked from the index or from the pager, you'll have the opportunity to edit the top-level attachment's content type. On the attachment menu, you can change any attachment's content type. These changes are not persistent, and get lost upon changing folders.
Note that this command is also available on the compose menu. There, it's used to fine-tune the properties of attachments you are going to send.
This command is used to execute any command you would normally put in a configuration file. A common use is to check the settings of variables, or in conjunction with macros to change settings on the fly.
This command extracts PGP public keys from the current or tagged message(s) and adds them to your PGP public key ring.
This command wipes the PGP passphrase from memory. It is useful, if you misspelled the passphrase.
Reply to the current or tagged message(s) by extracting any addresses which
match the addresses given by the
lists or subscribe
commands, but also honor any
With resend-message, mutt takes the current message as a template for a new message. This function is best described as "recall from arbitrary folders". It can conveniently be used to forward MIME messages while preserving the original mail structure. Note that the amount of headers included here depends on the value of the $weed variable.
This function is also available from the attachment menu. You can use this to easily resend a message which was included with a bounce message as a message/rfc822 body part.
Asks for an external Unix command and executes it. The $wait_key can be used to control whether Mutt will wait for a key to be pressed when the command returns (presumably to let the user read the output of the command), based on the return status of the named command.
The pager uses the $quote_regexp variable to detect quoted text when displaying the body of the message. This function toggles the display of the quoted material in the message. It is particularly useful when are interested in just the response and there is a large amount of quoted text in the way.
This function will go to the next line of non-quoted text which come after a line of quoted text in the internal pager.
The following bindings are available in the index for sending messages.
Bouncing a message sends the message as is to the recipient you specify. Forwarding a message allows you to add comments or modify the message you are forwarding. These items are discussed in greater detail in the next chapter ``Forwarding and Bouncing Mail''.
Mutt will then enter the compose menu and prompt you for the recipients to place on the ``To:'' header field. Next, it will ask you for the ``Subject:'' field for the message, providing a default if you are replying to or forwarding a message. See also $askcc, $askbcc, $autoedit, and $fast_reply for changing how Mutt asks these questions.
Mutt will then automatically start your $editor on the message body. If the $edit_headers variable is set, the headers will be at the top of the message in your editor. Any messages you are replying to will be added in sort order to the message, with appropriate $attribution, $indent_string and $post_indent_string. When forwarding a message, if the $mime_forward variable is unset, a copy of the forwarded message will be included. If you have specified a $signature, it will be appended to the message.
Once you have finished editing the body of your mail message, you are returned to the compose menu. The following options are available:
Note: The attach-message function will prompt you for a folder to attach messages from. You can now tag messages in that folder and they will be attached to the message you are sending. Note that certain operations like composing a new mail, replying, forwarding, etc. are not permitted when you are in that folder. The %r in $status_format will change to a 'A' to indicate that you are in attach-message mode.
Editing the message header
When editing the header of your outgoing message, there are a couple of special features available.
If you specify
You can also attach files to your message by specifying
When replying to messages, if you remove the In-Reply-To: field from the header field, Mutt will not generate a References: field, which allows you to create a new message thread.
Also see edit_headers.
Using Mutt with PGP
If you want to use PGP, you can specify
``E'' encrypts, ``S'' signs and ``S<id>'' signs with the given key, setting $pgp_sign_as permanently.
If you have told mutt to PGP encrypt a message, it will guide you through a key selection process when you try to send the message. Mutt will not ask you any questions about keys which have a certified user ID matching one of the message recipients' mail addresses. However, there may be situations in which there are several keys, weakly certified user ID fields, or where no matching keys can be found.
In these cases, you are dropped into a menu with a list of keys from
which you can select one. When you quit this menu, or mutt can't
find any matching keys, you are prompted for a user ID. You can, as
usually, abort this prompt using
Once you have successfully finished the key selection, the message will be encrypted using the selected public keys, and sent out.
Most fields of the entries in the key selection menu (see also $pgp_entry_format) have obvious meanings. But some explanations on the capabilities, flags, and validity fields are in order.
The flags sequence (%f) will expand to one of the following flags:
The capabilities field (%c) expands to a two-character sequence representing a key's capabilities. The first character gives the key's encryption capabilities: A minus sign (-) means that the key cannot be used for encryption. A dot (.) means that it's marked as a signature key in one of the user IDs, but may also be used for encryption. The letter e indicates that this key can be used for encryption.
The second character indicates the key's signing capabilities. Once again, a ``-'' implies ``not for signing'', ``.'' implies that the key is marked as an encryption key in one of the user-ids, and ``s'' denotes a key which can be used for signing.
Finally, the validity field (%t) indicates how well-certified a user-id is. A question mark (?) indicates undefined validity, a minus character (-) marks an untrusted association, a space character means a partially trusted association, and a plus character (+) indicates complete validity.
Sending anonymous messages via mixmaster.
You may also have configured mutt to co-operate with Mixmaster, an anonymous remailer. Mixmaster permits you to send your messages anonymously using a chain of remailers. Mixmaster support in mutt is for mixmaster version 2.04 (beta 45 appears to be the latest) and 2.03. It does not support earlier versions or the later so-called version 3 betas, of which the latest appears to be called 2.9b23.
To use it, you'll have to obey certain restrictions. Most
important, you cannot use the
The chain selection screen is divided into two parts. In the (larger) upper part, you get a list of remailers you may use. In the lower part, you see the currently selected chain of remailers.
You can navigate in the chain using the
Note that different remailers do have different capabilities, indicated in the %c entry of the remailer menu lines (see $mix_entry_format). Most important is the ``middleman'' capability, indicated by a capital ``M'': This means that the remailer in question cannot be used as the final element of a chain, but will only forward messages to other mixmaster remailers. For details on the other capabilities, please have a look at the mixmaster documentation.
Bouncing and forwarding let you send an existing message to recipients that you specify. Bouncing a message uses the sendmail command to send a copy to alternative addresses as if they were the message's original recipients. Forwarding a message, on the other hand, allows you to modify the message before it is resent (for example, by adding your own comments).
The following keys are bound by default:
Forwarding can be done by including the original message in the new message's body (surrounded by indicating lines) or including it as a MIME attachment, depending on the value of the $mime_forward variable. Decoding of attachments, like in the pager, can be controlled by the $forward_decode and $mime_forward_decode variables, respectively. The desired forwarding format may depend on the content, therefore $mime_forward is a quadoption which, for example, can be set to ``ask-no''.
Editing the message to forward follows the same procedure as sending or replying to a message does.
At times it is desirable to delay sending a message that you have already begun to compose. When the postpone-message function is used in the compose menu, the body of your message and attachments are stored in the mailbox specified by the $postponed variable. This means that you can recall the message even if you exit Mutt and then restart it at a later time.
Once a message is postponed, there are several ways to resume it. From the command line you can use the ``-p'' option, or if you compose a new message from the index or pager you will be prompted if postponed messages exist. If multiple messages are currently postponed, the postponed menu will pop up and you can select which message you would like to resume.
Note: If you postpone a reply to a message, the reply setting of the message is only updated when you actually finish the message and send it. Also, you must be in the same folder with the message you replied to for the status of the message to be updated.
See also the $postpone quad-option.
Next Previous Contents