- 21. Change settings based upon message recipients
-
- 22. Change settings before formatting a message
-
- 23. Choosing the cryptographic key of the recipient
-
- 24. Adding key sequences to the keyboard buffer
-
- 25. Executing functions
-
- 26. Message Scoring
-
- 27. Spam detection
-
- 28. Setting variables
-
- 29. Reading initialization commands from another file
-
- 30. Removing hooks
-
- 31. Sharing Setups
-
- 31.1. Character Sets
-
- 31.2. Modularization
-
- 31.3. Conditional parts
-
- 32. Obsolete Variables
-
-1. Locations of Configuration Files
-
- While the default configuration (or ``preferences'') make Mutt-ng usable
- right out of the box, it is often desirable to tailor Mutt-ng to suit your
- own tastes. When Mutt-ng is first invoked, it will attempt to read the
- ``system'' configuration file (defaults set by your local system
- administrator), unless the ``-n'' commandline option is specified. This
- file is typically /usr/local/share/muttng/Muttngrc or /etc/Muttngrc ,
- Mutt-ng users will find this file in /usr/local/share/muttng/Muttrc or
- /etc/Muttngrc. Mutt will next look for a file named .muttrc in your home
- directory, Mutt-ng will look for .muttngrc. If this file does not exist
- and your home directory has a subdirectory named .mutt , mutt try to load
- a file named .muttng/muttngrc.
-
- .muttrc (or .muttngrc for Mutt-ng) is the file where you will usually
- place your commands to configure Mutt-ng.
-
-2. Basic Syntax of Initialization Files
-
- An initialization file consists of a series of commands .Each line of the
- file may contain one or more commands. When multiple commands are used,
- they must be separated by a semicolon (;).
-
- set realname='Mutt-ng user' ; ignore x-
-
- The hash mark, or pound sign (``#''), is used as a ``comment'' character.
- You can use it to annotate your initialization file. All text after the
- comment character to the end of the line is ignored. For example,
-
- my_hdr X-Disclaimer: Why are you listening to me? # This is a comment
-
- Single quotes (') and double quotes (") can be used to quote strings which
- contain spaces or other special characters. The difference between the two
- types of quotes is similar to that of many popular shell programs, namely
- that a single quote is used to specify a literal string (one that is not
- interpreted for shell variables or quoting with a backslash [see next
- paragraph]), while double quotes indicate a string for which should be
- evaluated. For example, backtics are evaluated inside of double quotes,
- but not for single quotes.
-
- \ quotes the next character, just as in shells such as bash and zsh. For
- example, if want to put quotes ``"'' inside of a string, you can use ``\''
- to force the next character to be a literal instead of interpreted
- character.
-
- set realname="Michael \"MuttDude\" Elkins"
-
- ``\\'' means to insert a literal ``\'' into the line. ``\n'' and ``\r''
- have their usual C meanings of linefeed and carriage-return, respectively.
-
- A \ at the end of a line can be used to split commands over multiple
- lines, provided that the split points don't appear in the middle of
- command names.
-
- Please note that, unlike the various shells, mutt-ng interprets a ``\'' at
- the end of a line also in comments. This allows you to disable a command
- split over multiple lines with only one ``#''.
-
- # folder-hook . \
- set realname="Michael \"MuttDude\" Elkins"
-
- When testing your config files, beware the following caveat. The backslash
- at the end of the commented line extends the current line with the next
- line - then referred to as a ``continuation line''. As the first line is
- commented with a hash (#) all following continuation lines are also part
- of a comment and therefore are ignored, too. So take care of comments when
- continuation lines are involved within your setup files!
-
- Abstract example:
-
- line1\
- line2a # line2b\
- line3\
- line4
- line5
-
- line1 ``continues'' until line4. however, the part after the # is a
- comment which includes line3 and line4. line5 is a new line of its own and
- thus is interpreted again.
-
- The commands understood by mutt are explained in the next paragraphs. For
- a complete list, see the commands.
-
-3. Expansion within variables
-
- Besides just assign static content to variables, there's plenty of ways of
- adding external and more or less dynamic content.
-
- 3.1. Commands' Output
-
- It is possible to substitute the output of a Unix command in an
- initialization file. This is accomplished by enclosing the command in
- backquotes (``) as in, for example:
-
- my_hdr X-Operating-System: `uname -a`
-
- The output of the Unix command ``uname -a'' will be substituted before the
- line is parsed. Note that since initialization files are line oriented,
- only the first line of output from the Unix command will be substituted.
-
- 3.2. Environment Variables
-
- UNIX environments can be accessed like the way it is done in shells like
- sh and bash: Prepend the name of the environment by a ``$'' sign. For
- example,
-
- set record=+sent_on_$HOSTNAME
-
- sets the record variable to the string +sent_on_ and appends the value of
- the evironment variable $HOSTNAME.
-
- Note: There will be no warning if an environment variable is not defined.
- The result will of the expansion will then be empty.
-
- 3.3. Configuration Variables
-
- As for environment variables, the values of all configuration variables as
- string can be used in the same way, too. For example,
-
- set imap_home_namespace = $folder
-
- would set the value of imap-home-namespace to the value to which folder is
- currently set to.
-
- Note: There're no logical links established in such cases so that the the
- value for imap-home-namespace won't change even if folder gets changed.
-
- Note: There will be no warning if a configuration variable is not defined
- or is empty. The result will of the expansion will then be empty.
-
- 3.4. Self-Defined Variables
-
- Mutt-ng flexibly allows users to define their own variables. To avoid
- conflicts with the standard set and to prevent misleading error messages,
- there's a reserved namespace for them: all user-defined variables must be
- prefixed with user_ and can be used just like any ordinary configuration
- or environment variable.
-
- For example, to view the manual, users can either define two macros like
- the following
-
- macro generic <F1> "!less -r /path/to/manual" "Show manual"
- macro pager <F1> "!less -r /path/to/manual" "Show manual"
-
- for generic, pager and index .The alternative is to define a custom
- variable like so:
-
- set user_manualcmd = "!less -r /path/to_manual"
- macro generic <F1> "$user_manualcmd<enter>" "Show manual"
- macro pager <F1> "$user_manualcmd<enter>" "Show manual"
- macro index <F1> "$user_manualcmd<enter>" "Show manual"
-
- to re-use the command sequence as in:
-
- macro index <F2> "$user_manualcmd | grep '\^[ ]\\+~. '" "Show Patterns"
-
- Using this feature, arbitrary sequences can be defined once and recalled
- and reused where necessary. More advanced scenarios could include to save
- a variable's value at the beginning of macro sequence and restore it at
- end.
-
- When the variable is first defined, the first value it gets assigned is
- also the initial value to which it can be reset using the reset command.
-
- The complete removal is done via the unset keyword.
-
- After the following sequence:
-
- set user_foo = 42
- set user_foo = 666
-
- the variable $user_foo has a current value of 666 and an initial of 42.
- The query
-
- set ?user_foo
-
- will show 666. After doing the reset via
-
- reset user_foo
-
- a following query will give 42 as the result. After unsetting it via
-
- unset user_foo
-
- any query or operation (except the noted expansion within other
- statements) will lead to an error message.
-
- 3.5. Pre-Defined Variables
-
- In order to allow users to share one setup over a number of different
- machines without having to change its contents, there's a number of
- pre-defined variables. These are prefixed with muttng_ and are read-only,
- i.e. they cannot be set, unset or reset. The reference chapter lists all
- available variables.
-
- Please consult the local copy of your manual for their values as they may
- differ from different manual sources. Where the manual is installed in can
- be queried (already using such a variable) by running:
-
- muttng -Q muttng_docdir
-
- To extend the example for viewing the manual via self-defined variables,
- it can be made more readable and more portable by changing the real path
- in:
-
- set user_manualcmd = '!less -r /path/to_manual'
-
- to:
-
- set user_manualcmd = "!less -r $muttng_docdir/manual.txt"
-
- which works everywhere if a manual is installed.
-
- Please note that by the type of quoting, muttng determines when to expand
- these values: when it finds double quotes, the value will be expanded
- during reading the setup files but when it finds single quotes, it'll
- expand it at runtime as needed.
-
- For example, the statement
-
- folder-hook . "set user_current_folder = $muttng_folder_name"
-
- will be already be translated to the following when reading the startup
- files:
-
- folder-hook . "set user_current_folder = some_folder"
-
- with some_folder being the name of the first folder muttng opens. On the
- contrary,
-
- folder-hook . 'set user_current_folder = $muttng_folder_name'
-
- will be executed at runtime because of the single quotes so that
- user_current_folder will always have the value of the currently opened
- folder.
-
- A more practical example is:
-
- folder-hook . 'source ~/.mutt/score-$muttng_folder_name'
-
- which can be used to source files containing score commands depending on
- the folder the user enters.
-
- 3.6. Type Conversions
-
- A note about variable's types during conversion: internally values are
- stored in internal types but for any dump/query or set operation they're
- converted to and from string. That means that there's no need to worry
- about types when referencing any variable. As an example, the following
- can be used without harm (besides makeing muttng very likely behave
- strange):
-
- set read_inc = 100
- set folder = $read_inc
- set read_inc = $folder
- set user_magic_number = 42
- set folder = $user_magic_number
-
-4. Defining/Using aliases
-
- Usage: alias key address[ , address, ... ]
-
-
- It's usually very cumbersome to remember or type out the address of
- someone you are communicating with. Mutt-ng allows you to create
- ``aliases'' which map a short string to a full address.
-
- Note: if you want to create an alias for a group (by specifying more than
- one address), you must separate the addresses with a comma (``,'').
-
- To remove an alias or aliases (``*'' means all aliases):
-
- unalias [ * | key ... ]
-
- alias muttdude me@cs.hmc.edu (Michael Elkins)
- alias theguys manny, moe, jack
-
- Unlike other mailers, Mutt-ng doesn't require aliases to be defined in a
- special file. The alias command can appear anywhere in a configuration
- file, as long as this file is source .Consequently, you can have multiple
- alias files, or you can have all aliases defined in your muttrc.
-
- On the other hand, the create-alias function can use only one file, the
- one pointed to by the alias-file variable (which is ˜/.muttrc by
- default). This file is not special either, in the sense that Mutt-ng will
- happily append aliases to any file, but in order for the new aliases to
- take effect you need to explicitly source this file too.
-
- For example:
-
- source /usr/local/share/Mutt-ng.aliases
- source ~/.mail_aliases
- set alias_file=~/.mail_aliases
-
- To use aliases, you merely use the alias at any place in mutt where
- muttprompts for addresses, such as the To: or Cc: prompt. You can also
- enter aliases in your editor at the appropriate headers if you have the
- edit-headers variable set.
-
- In addition, at the various address prompts, you can use the tab character
- to expand a partial alias to the full alias. If there are multiple
- matches, mutt will bring up a menu with the matching aliases. In order to
- be presented with the full list of aliases, you must hit tab with out a
- partial alias, such as at the beginning of the prompt or after a comma
- denoting multiple addresses.
-
- In the alias menu, you can select as many aliases as you want with the
- select-entry key (default: RET), and use the exit key (default: q) to
- return to the address prompt.
-
-5. Changing the default key bindings
-
- Usage: bind map key function
-
-
- This command allows you to change the default key bindings (operation
- invoked when pressing a key).
-
- map specifies in which menu the binding belongs. Multiple maps may be
- specified by separating them with commas (no additional whitespace
- isallowed). The currently defined maps are:
-
- generic
-
- This is not a real menu, but is used as a fallback for all of the
- other menus except for the pager and editor modes. If a key is not
- defined in another menu, Mutt-ng will look for a binding to use in
- this menu. This allows you to bind a key to a certain function in
- multiple menus instead of having multiple bind statements to
- accomplish the same task.
-
- alias
-
- The alias menu is the list of your personal aliases as defined in
- your muttrc. It is the mapping from a short alias name to the full
- email address(es) of the recipient(s).
-
- attach
-
- The attachment menu is used to access the attachments on received
- messages.
-
- browser
-
- The browser is used for both browsing the local directory
- structure, and for listing all of your incoming mailboxes.
-
- editor
-
- The editor is the line-based editor the user enters text data.
-
- index
-
- The index is the list of messages contained in a mailbox.
-
- compose
-
- The compose menu is the screen used when sending a new message.
-
- pager
-
- The pager is the mode used to display message/attachment data, and
- help listings.
-
- pgp
-
- The pgp menu is used to select the OpenPGP keys used for
- encrypting outgoing messages.
-
- postpone
-
- The postpone menu is similar to the index menu, except is used
- when recalling a message the user was composing, but saved until
- later.
-
- key is the key (or key sequence) you wish to bind. To specify a control
- character, use the sequence \Cx, where x is the letter of the control
- character (for example, to specify control-A use ``\Ca''). Note that the
- case of x as well as \C is ignored, so that \CA, \Ca, \cA and \ca are all
- equivalent. An alternative form is to specify the key as a three digit
- octal number prefixed with a ``\'' (for example \177 is equivalent to
- \c?).
-
- In addition, key may consist of:
-
- Table 3.1. Alternative Key Names
-
- +-----------------------------------+
- | Sequence | Description |
- |-------------+---------------------|
- | \t | tab |
- |-------------+---------------------|
- | <tab> | tab |
- |-------------+---------------------|
- | <backtab> | backtab / shift-tab |
- |-------------+---------------------|
- | \r | carriage return |
- |-------------+---------------------|
- | \n | newline |
- |-------------+---------------------|
- | \e | escape |
- |-------------+---------------------|
- | <esc> | escape |
- |-------------+---------------------|
- | <up> | up arrow |
- |-------------+---------------------|
- | <down> | down arrow |
- |-------------+---------------------|
- | <left> | left arrow |
- |-------------+---------------------|
- | <right> | right arrow |
- |-------------+---------------------|
- | <pageup> | Page Up |
- |-------------+---------------------|
- | <pagedown> | Page Down |
- |-------------+---------------------|
- | <backspace> | Backspace |
- |-------------+---------------------|
- | <delete> | Delete |
- |-------------+---------------------|
- | <insert> | Insert |
- |-------------+---------------------|
- | <enter> | Enter |
- |-------------+---------------------|
- | <return> | Return |
- |-------------+---------------------|
- | <home> | Home |
- |-------------+---------------------|
- | <end> | End |
- |-------------+---------------------|
- | <space> | Space bar |
- |-------------+---------------------|
- | <f1> | function key 1 |
- |-------------+---------------------|
- | <f10> | function key 10 |
- +-----------------------------------+
-
- key does not need to be enclosed in quotes unless it contains a space (``
- '').
-
- function specifies which action to take when key is pressed. For a
- complete list of functions, see the functions .The special function noop
- unbinds the specified key sequence.
-
-6. Defining aliases for character sets
-
- Usage: charset-hook alias charset
- Usage: iconv-hook charset local-charset
-
-
- The charset-hook command defines an alias for a character set. This is
- useful to properly display messages which are tagged with a character set
- name not known to mutt.
-
- The iconv-hook command defines a system-specific name for a character set.
- This is helpful when your systems character conversion library insists on
- using strange, system-specific names for character sets.
-
-7. Setting variables based upon mailbox
-
- Usage: folder-hook [!]regexp command
-
-
- It is often desirable to change settings based on which mailbox you are
- reading. The folder-hook command provides a method by which you can
- execute any configuration command. regexp is a regular expression
- specifying in which mailboxes to execute command before loading. If a
- mailbox matches multiple folder-hook's, they are executed in the order
- given in the muttrc.
-
- Note: if you use the ``!'' shortcut for spoolfile at the beginning of the
- pattern, you must place it inside of double or single quotes in order to
- distinguish it from the logical not operator for the expression.
-
- Note that the settings are not restored when you leave the mailbox. For
- example, a command action to perform is to change the sorting methodbased
- upon the mailbox being read:
-
- folder-hook mutt set sort=threads
-
- However, the sorting method is not restored to its previous value when
- reading a different mailbox. To specify a default command, use the pattern
- ``.'':
-
- folder-hook . set sort=date-sent
-
-8. Keyboard macros
-
- Usage: macro menu key sequence [ description ]
-
-
- Macros are useful when you would like a single key to perform a series of
- actions. When you press key in menu menu ,Mutt-ng will behave as if you
- had typed sequence. So if you have a common sequence of commands you type,
- you can create a macro to execute those commands with a singlekey.
-
- menu is the maps which the macro will be bound. Multiple maps may be
- specified by separating multiple menu arguments by commas. Whitespace may
- not be used in between the menu arguments and thecommas separating them.
-
- key and sequence are expanded by the same rules as the bind. There are
- some additions however. The first is that control characters in sequence
- can also be specified as ^x. In order to get a caret (`^'') you need to
- use ^^. Secondly, to specify a certain key such as up or to invoke a
- function directly, you can use the format <key name> and <function name>
- .For a listing of key names see the section on bind. Functions are listed
- in the functions.
-
- The advantage with using function names directly is that the macros
- willwork regardless of the current key bindings, so they are not dependent
- on the user having particular key definitions. This makes them more
- robustand portable, and also facilitates defining of macros in files used
- by more than one user (eg. the system Muttngrc).
-
- Optionally you can specify a descriptive text after sequence, which is
- shown in the help screens.
-
- Note: Macro definitions (if any) listed in the help screen(s), are
- silently truncated at the screen width, and are not wrapped.
-
-9. Using color and mono video attributes
-
- Usage: color object foregroundbackground [ regexp]
- Usage: color index foreground backgroundpattern
- Usage: uncolor index pattern[ pattern ... ]
-
-
- If your terminal supports color, you can spice up Mutt-ng by creating your
- own color scheme. To define the color of an object (type of information),
- you must specify both a foreground color and a background color (it is not
- possible to only specify one or the other).
-
- object can be one of:
-
- o attachment
-
- o body (match regexp in the body of messages)
-
- o bold (highlighting bold patterns in the body of messages)
-
- o error (error messages printed by Mutt-ng)
-
- o header (match regexp in the message header)
-
- o hdrdefault (default color of the message header in the pager)
-
- o index (match pattern in the message index)
-
- o indicator (arrow or bar used to indicate the current item in a menu)
-
- o markers (the ``+'' markers at the beginning of wrapped lines in the
- pager)
-
- o message (informational messages)
-
- o normal
-
- o quoted (text matching quote-regexp in the body of a message)
-
- o quoted1, quoted2, ..., quotedN (higher levels of quoting)
-
- o search (highlighting of words in the pager)
-
- o signature
-
- o status (mode lines used to display info about the mailbox or message)
-
- o tilde (the ``˜'' used to pad blank lines in the pager)
-
- o tree (thread tree drawn in the message index and attachment menu)
-
- o underline (highlighting underlined patterns in the body of messages)
-
- foreground and background can be one of the following:
-
- o white
-
- o black
-
- o green
-
- o magenta
-
- o blue
-
- o cyan
-
- o yellow
-
- o red
-
- o default
-
- o colorx
-
- foreground can optionally be prefixed with the keyword bright to make the
- foreground color boldfaced (e.g., brightred).
-
- If your terminal supports it, the special keyword default can be used as a
- transparent color. The value brightdefault is also valid. If Mutt-ng is
- linked against the S-Lang library, you also need to set the COLORFGBG
- environment variable to the default colors of your terminal for this to
- work; for example (for Bourne-like shells):
-
- set COLORFGBG="green;black"
- export COLORFGBG
-
- Note: The S-Lang library requires you to use the lightgray and brown
- keywords instead of white and yellow when setting this variable.
-
- Note: The uncolor command can be applied to the index object only. It
- removes entries from the list. You must specify the same pattern specified
- in the color command for it to be removed. The pattern ``*'' is a special
- token which means to clear the color index list of all entries.
-
- Mutt-ng also recognizes the keywords color0, color1 ,…, colorN-1 (N
- being the number of colors supported by your terminal). This is useful
- when you remap the colors for your display (for example by changing the
- color associated with color2 for your xterm), since color names may then
- lose their normal meaning.
-
- If your terminal does not support color, it is still possible change the
- video attributes through the use of the ``mono'' command:
-
- Usage: mono <object> <attribute>[ regexp ]
- Usage: mono index attribute pattern
- Usage: unmono index pattern[ pattern ... ]
-
- where attribute is one of the following:
-
- o none
-
- o bold
-
- o underline
-
- o reverse
-
- o standout
-
-10. Ignoring (weeding) unwanted message headers
-
- Usage: [un]ignore pattern [ pattern... ]
-
-
- Messages often have many header fields added by automatic processing
- systems, or which may not seem useful to display on the screen. This
- command allows you to specify header fields which you don't normally want
- to see.
-
- You do not need to specify the full header field name. For example,
- ``ignore content-'' will ignore all header fields that begin with the
- pattern ``content-''. ``ignore *'' will ignore all headers.
-
- To remove a previously added token from the list, use the ``unignore''
- command. The ``unignore'' command will make Mutt-ng display headers with
- the given pattern. For example, if you do ``ignore x-'' it is possible to
- ``unignore x-mailer''.
-
- ``unignore *'' will remove all tokens from the ignore list.
-
- For example:
-
- # Sven's draconian header weeding
- ignore *
- unignore from date subject to cc
- unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
- unignore posted-to:
-
-11. Alternative addresses
-
- Usage: [un]alternates regexp [ regexp ... ]
-
- With various functions, mutt will treat messages differently, depending on
- whether you sent them or whether you received them from someone else. For
- instance, when replying to a message that you sent to a different party,
- mutt will automatically suggest to send the response to the original
- message's recipients--responding to yourself won't make much sense in many
- cases. (See reply-to .)
-
- Many users receive e-mail under a number of different addresses. To fully
- use mutt's features here, the program must be able to recognize what
- e-mail addresses you receive mail under. That's the purpose of the
- alternates command: It takes a list of regular expressions, each of which
- can identify an address under which you receive e-mail.
-
- The unalternates command can be used to write exceptions to alternates
- patterns. If an address matches something in an alternates command, but
- you nonetheless do not think it is from you, you can list a more precise
- pattern under an unalternates command.
-
- To remove a regular expression from the alternates list, use the
- unalternates command with exactly the same regexp . Likewise, if the
- regexp for a alternates command matches an entry on the unalternates list,
- that unalternates entry will be removed. If the regexp for unalternates is
- ``*'', all entries on alternates will be removed.
-
-12. Format = Flowed
-
- 12.1. Introduction
-
- Mutt-ng contains support for so-called format=flowed messages. In the
- beginning of email, each message had a fixed line width, and it was enough
- for displaying them on fixed-size terminals. But times changed, and
- nowadays hardly anybody still uses fixed-size terminals: more people
- nowaydays use graphical user interfaces, with dynamically resizable
- windows. This led to the demand of a new email format that makes it
- possible for the email client to make the email look nice in a resizable
- window without breaking quoting levels and creating an incompatible email
- format that can also be displayed nicely on old fixed-size terminals.
-
- For introductory information on format=flowed messages, see
- <http://www.joeclark.org/ffaq.html>.
-
- 12.2. Receiving: Display Setup
-
- When you receive emails that are marked as format=flowed messages, and is
- formatted correctly, mutt-ng will try to reformat the message to optimally
- fit on your terminal. If you want a fixed margin on the right side of your
- terminal, you can set the following:
-
- set wrapmargin = 10
-
- The code above makes the line break 10 columns before the right side of
- the terminal.
-
- If your terminal is so wide that the lines are embarrassingly long, you
- can also set a maximum line length:
-
- set max_line_length = 120
-
- The example above will give you lines not longer than 120 characters.
-
- When you view at format=flowed messages, you will often see the quoting
- hierarchy like in the following example:
-
- >Bill, can you please send last month's progress report to Mr.
- >Morgan? We also urgently need the cost estimation for the new
- >production server that we want to set up before our customer's
- >project will go live.
-
- This obviously doesn't look very nice, and it makes it very hard to
- differentiate between text and quoting character. The solution is to
- configure mutt-ng to "stuff" the quoting:
-
- set stuff_quoted
-
- This will lead to a nicer result that is easier to read:
-
- > Bill, can you please send last month's progress report to Mr.
- > Morgan? We also urgently need the cost estimation for the new
- > production server that we want to set up before our customer's
- > project will go live.
-
- 12.3. Sending
-
- If you want mutt-ng to send emails with format=flowed set, you need to
- explicitly set it:
-
- set text_flowed
-
- Additionally, you have to use an editor which supports writing
- format=flowed-conforming emails. For vim, this is done by adding w to the
- formatoptions (see :h formatoptions and :h fo-table) when writing emails.
-
- Also note that format=flowed knows about ``space-stuffing'', that is, when
- sending messages, some kinds of lines have to be indented with a single
- space on the sending side. On the receiving side, the first space (if any)
- is removed. As a consequence and in addition to the above simple setting,
- please keep this in mind when making manual formattings within the editor.
- Also note that mutt-ng currently violates the standard (RfC 3676) as it
- does not space-stuff lines starting with:
-
- o > This is not the quote character but a right angle used for other
- reasons
-
- o From with a trailing space.
-
- o just a space for formatting reasons
-
- Please make sure that you manually prepend a space to each of them.
-
- 12.4. Additional Notes
-
- For completeness, the delete-space variable provides the mechanism to
- generate a DelSp=yes parameter on outgoing messages. According to the
- standard, clients receiving a format=flowed messages should delete the
- last space of a flowed line but still interpret the line as flowed.
- Because flowed lines usually contain only one space at the end, this
- parameter would make the receiving client concatenate the last word of the
- previous with the first of the current line without a space. This makes
- ordinary text unreadable and is intended for languages rarely using
- spaces. So please use this setting only if you're sure what you're doing.
-
-13. Mailing lists
-
- Usage: [un]lists regexp [ regexp... ]
- Usage: [un]subscribe regexp [ regexp... ]
-
-
- Mutt-ng has a few nice features for using-lists .In order to take
- advantage of them, you must specify which addresses belong to mailing
- lists, and which mailing lists you are subscribed to. Once you have done
- this, the list-reply function will work for all known lists. Additionally,
- when you send a message to a subscribed list, mutt will add a
- Mail-Followup-To header to tell other users' mail user agents not to send
- copies of replies to your personal address. Note that the Mail-Followup-To
- header is a non-standard extension which is not supported by all mail user
- agents. Adding it is not bullet-proof against receiving personal CCs of
- list messages. Also note that the generation of the Mail-Followup-To
- header is controlled by the followup-to configuration variable.
-
- More precisely, Mutt-ng maintains lists of patterns for the addresses of
- known and subscribed mailing lists. Every subscribed mailing list is
- known. To mark a mailing list as known, use the ``lists'' command. To mark
- it as subscribed, use ``subscribe''.
-
- You can use regular expressions with both commands. To mark all messages
- sent to a specific bug report's address on mutt's bug tracking system as
- list mail, for instance, you could say ``subscribe [0-9]*@bugs.guug.de''.
- Often, it's sufficient to just give a portion of the list's e-mail
- address.
-
- Specify as much of the address as you need to to remove ambiguity. For
- example, if you've subscribed to the Mutt-ng mailing list, you will
- receive mail addressed to mutt-users@mutt.org. So, to tell Mutt-ng that
- this is a mailing list, you could add ``lists mutt-users'' to your
- initialization file. To tell mutt that you are subscribed to it, add
- ``subscribe mutt-users'' to your initialization file instead. If you also
- happen to get mail from someone whose address is mutt-users@example.com,
- you could use ``lists mutt-users@mutt\\.org'' or ``subscribe
- mutt-users@mutt\\.org'' to match only mail from the actual list.
-
- The ``unlists'' command is used to remove a token from the list of known
- and subscribed mailing-lists. Use ``unlists *'' to remove all tokens.
-
- To remove a mailing list from the list of subscribed mailing lists, but
- keep it on the list of known mailing lists, use ``unsubscribe''.
-
-14. Using Multiple spool mailboxes
-
- Usage: mbox-hook [!]pattern mailbox
-
-
- This command is used to move read messages from a specified mailbox to
- adifferent mailbox automatically when you quit or change folders. pattern
- is a regular expression specifying the mailbox to treat as a ``spool''
- mailbox and mailbox specifies where mail should be saved when read.
-
- Unlike some of the other hook commands, only the first matching pattern is
- used (it is not possible to save read mail in more than a single mailbox).
-
-15. Defining mailboxes which receive mail
-
- Usage: [un]mailboxes [!]filename[ filename ... ]
-
-
- This command specifies folders which can receive mail and which will be
- checked for new messages. By default, the main menu status bar displays
- how many of these folders have new messages.
-
- When changing folders, pressing space will cycle through folders with new
- mail.
-
- Pressing TAB in the directory browser will bring up a menu showing the
- files specified by the mailboxes command, and indicate which contain new
- messages. Mutt-ng will automatically enter this mode when invoked from the
- command line with the -y option.
-
- The ``unmailboxes'' command is used to remove a token from the list of
- folders which receive mail. Use ``unmailboxes *'' to remove all tokens.
-
- Note: new mail is detected by comparing the last modification time to the
- last access time. Utilities like biff or frm or any other program which
- accesses the mailbox might cause Mutt-ng to never detect new mail for that
- mailbox if they do not properly reset the access time. Backup tools are
- another common reason for updated access times.
-
- Note: the filenames in the mailboxes command are resolved when the command
- is executed, so if these names contain shortcuts (such as ``='' and
- ``!''), any variable definition that affect these characters (like folder
- and spoolfile) should be executed before the mailboxes command.
-
-16. User defined headers
-
- Usage: my_hdr string
- Usage: unmy_hdr field [ field... ]
-
-
- The ``my_hdr'' command allows you to create your own header fields which
- will be added to every message you send.
-
- For example, if you would like to add an ``Organization:'' header field to
- all of your outgoing messages, you can put the command
-
- my_hdr Organization: A Really Big Company, Anytown, USA
-
- in your .muttrc.
-
- Note: space characters are not allowed between the keyword and the colon
- (``:''). The standard for electronic mail (RFC822) says that space is
- illegal there, so Mutt-ng enforces the rule.
-
- If you would like to add a header field to a single message, you should
- either set the edit-headers variable, or use the edit-headers function
- (default: ``E'') in the send-menu so that you can edit the header of your
- message along with the body.
-
- To remove user defined header fields, use the ``unmy_hdr'' command. You
- may specify an asterisk (``*'') to remove all header fields, or the fields
- to remove. For example, to remove all ``To'' and ``Cc'' header fields, you
- could use:
-
- unmy_hdr to cc
-
-17. Defining the order of headers when viewing messages
-
- Usage: hdr_order header1header2 header3
-
-
- With this command, you can specify an order in which mutt will attempt to
- present headers to you when viewing messages.
-
- ``unhdr_order *'' will clear all previous headers from the order list,
- thus removing the header order effects set by the system-wide startup
- file.
-
- hdr_order From Date: From: To: Cc: Subject:
-
-18. Specify default save filename
-
- Usage: save-hook [!]pattern filename
-
-
- This command is used to override the default filename used when saving
- messages. filename will be used as the default filename if the message is
- From: an address matching regexp or if you are the author and the message
- is addressed to: something matching regexp .
-
- See pattern-hook for information on the exact format of pattern.
-
- Examples:
-
- save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
- save-hook aol\\.com$ +spam
-
- Also see the fcc-save-hook command.
-
-19. Specify default Fcc: mailbox when composing
-
- Usage: fcc-hook [!]pattern mailbox
-
-
- This command is used to save outgoing mail in a mailbox other than record.
- Mutt-ng searches the initial list of message recipients for the first
- matching regexp and uses mailbox as the default Fcc: mailbox. If no match
- is found the message will be saved to record mailbox.
-
- See pattern-hook for information on the exact format of pattern.
-
- Example: fcc-hook [@.]aol\\.com$ +spammers
-
- The above will save a copy of all messages going to the aol.com domain to
- the `+spammers' mailbox by default. Also see the fcc-save-hook command.
-
-20. Specify default save filename and default Fcc: mailbox at once
-
- Usage: fcc-save-hook [!]pattern mailbox
-
-
- This command is a shortcut, equivalent to doing both a fcc-hook and a
- save-hook with its arguments.
-
-21. Change settings based upon message recipients
-
- Usage: reply-hook [!]pattern command
- Usage: send-hook [!]pattern command
- Usage: send2-hook [!]pattern command
-
-
- v
-
- These commands can be used to execute arbitrary configuration commands
- based upon recipients of the message. pattern is a regular expression
- matching the desired address. command is executed when regexp matches
- recipients of the message.
-
- reply-hook is matched against the message you are replying to, instead of
- the message you are sending .send-hook is matched against all messages,
- both new and replies .Note: reply-hooks are matched before the send-hook
- ,regardless of the order specified in the users's configuration file.
-
- send2-hook is matched every time a message is changed, either by editing
- it, or by using the compose menu to change its recipients or subject.
- send2-hook is executed after send-hook ,and can, e.g., be used to set
- parameters such as the sendmail variable depending on the message's sender
- address.
-
- For each type of send-hook or reply-hook, when multiple matches occur,
- commands are executed in the order they are specified in the muttrc (for
- that type of hook).
-
- See pattern-hook for information on the exact format of pattern.
-
- Example: send-hook mutt "set mime_forward signature=''"
-
- Another typical use for this command is to change the values of the
- attribution, signature and locale variables in order to change the
- language of the attributions and signatures based upon the recipients.
-
- Note: the send-hook's are only executed ONCE after getting the initial
- list of recipients. Adding a recipient after replying or editing the
- message will NOT cause any send-hook to be executed. Also note that my_hdr
- commands which modify recipient headers, or the message's subject, don't
- have any effect on the current message when executed from a send-hook.
-
-22. Change settings before formatting a message
-
- Usage: message-hook [!]pattern command
-
-
- This command can be used to execute arbitrary configuration commands
- before viewing or formatting a message based upon information about the
- message. command is executed if the pattern matches the message to be
- displayed. When multiple matches occur, commands are executed in the order
- they are specified in the muttrc.
-
- See pattern-hook for information on the exact format of pattern.
-
- Example:
-
- message-hook ~A 'set pager=builtin'
- message-hook '~f freshmeat-news' 'set pager="less \"+/^ subject:.*\""'
-
-23. Choosing the cryptographic key of the recipient
-
- Usage: crypt-hook pattern keyid
-
-
- When encrypting messages with PGP or OpenSSL, you may want to associate a
- certain key with a given e-mail address automatically, either because the
- recipient's public key can't be deduced from the destination address, or
- because, for some reasons, you need to override the key Mutt-ng
- wouldnormally use. The crypt-hook command provides a method by which you
- can specify the ID of the public key to be used when encrypting messages
- to a certain recipient.
-
- The meaning of "key id" is to be taken broadly in this context: You can
- either put a numerical key ID here, an e-mail address, or even just a real
- name.
-
-24. Adding key sequences to the keyboard buffer
-
- Usage: push string
-
-
- This command adds the named string to the keyboard buffer. The string may
- contain control characters, key names and function names like the sequence
- string in the macro command. You may use it to automatically run a
- sequence of commands at startup, or when entering certain folders. For
- example, the following command will automatically collapse all threads
- when entering a folder:
-
- folder-hook . 'push <collapse-all>'
-
-
-25. Executing functions
-
- Usage: exec function [ function ... ]
-
-
- This command can be used to execute any function. Functions are listed in
- the functions. ``exec function'' is equivalent to ``push <function>''.
-
-26. Message Scoring
-
- Usage: score pattern value
- Usage: unscore pattern [ pattern... ]
-
-
- In situations where you have to cope with a lot of emails, e.g. when you
- read many different mailing lists, and take part in discussions, it is
- always useful to have the important messages marked and the annoying
- messages or the ones that you aren't interested in deleted. For this
- purpose, mutt-ng features a mechanism called ``scoring''.
-
- When you use scoring, every message has a base score of 0. You can then
- use the score command to define patterns and a positive or negative value
- associated with it. When a pattern matches a message, the message's score
- will be raised or lowered by the amount of the value associated with the
- pattern.
-
- score "~f nion@muttng\.org" 50
- score "~f @sco\.com" -100
-
- If the pattern matches, it is also possible to set the score value of the
- current message to a certain value and then stop evaluation:
-
- score "~f santaclaus@northpole\.int" =666
-
- What is important to note is that negative score values will be rounded up
- to 0.
-
- To make scoring actually useful, the score must be applied in some way.
- That's what the score thresholds are for. Currently, there are three score
- thresholds:
-
- o flag threshold: when a message has a score value equal or higher than
- the flag threshold, it will be flagged.
-
- o read threshold: when a message has a score value equal or lower than
- the read threshold, it will be marked as read.
-
- o delete threshold: when a message has a score value equal or lower than
- the delete threshold, it will be marked as deleted.
-
- These three thresholds can be set via the variables score-threshold-flag
- ,score-threshold-read, score-threshold-delete and. By default,
- score-threshold-read and score-threshold-delete are set to -1, which means
- that in the default threshold configuration no message will ever get
- marked as read or deleted.
-
- Scoring gets especially interesting when combined with the color command
- and the Ëœn pattern:
-
- color index black yellow "~n 10-"
- color index red yellow "~n 100-"
-
- The rules above mark all messages with a score between 10 and 99 with
- black and yellow, and messages with a score greater or equal 100 with red
- and yellow. This might be unusual to you if you're used to e.g. slrn's
- scoring mechanism, but it is more flexible, as it visually marks different
- scores.
-
-27. Spam detection
-
- Usage: spam pattern format
- Usage: nospam pattern
-
-
- Mutt-ng has generalized support for external spam-scoring filters. By
- defining your spam patterns with the spam and nospam commands, you can
- limit, search, and sort your mail based on its spam attributes, as
- determined by the external filter. You also can display the spam
- attributes in your index display using the %H selector in the index-format
- variable. (Tip: try %?H?[%H] ? to display spam tags only when they are
- defined for a given message.)
-
- Your first step is to define your external filter's spam patterns using
- the spam command. pattern should be a regular expression that matches a
- header in a mail message. If any message in the mailbox matches this
- regular expression, it will receive a ``spam tag'' or ``spam attribute''
- (unless it also matches a nospam pattern -- see below.) The appearance of
- this attribute is entirely up to you, and is governed by the format
- parameter. format can be any static text, but it also can include
- back-references from the pattern expression. (A regular expression
- ``back-reference'' refers to a sub-expression contained within
- parentheses.) %1 is replaced with the first back-reference in the regex,
- %2 with the second, etc.
-
- If you're using multiple spam filters, a message can have more than one
- spam-related header. You can define spam patterns for each filter you use.
- If a message matches two or more of these patterns, and the
- $spam_separator variable is set to a string, then the message's spam tag
- will consist of all the format strings joined together, with the value of
- $spam_separator separating them.
-
- For example, suppose I use DCC, SpamAssassin, and PureMessage. I might
- define these spam settings:
-
- spam "X-DCC-.*-Metrics:.*(....)=many" "90+/DCC-%1"
- spam "X-Spam-Status: Yes" "90+/SA"
- spam "X-PerlMX-Spam: .*Probability=([0-9]+)%" "%1/PM"
- set spam_separator=", "
-
- If I then received a message that DCC registered with ``many'' hits under
- the ``Fuz2'' checksum, and that PureMessage registered with a 97%
- probability of being spam, that message's spam tag would read90+/DCC-Fuz2,
- 97/PM. (The four characters before ``=many'' in a DCC report indicate the
- checksum used -- in this case, ``Fuz2''.)
-
- If the $spam_separator variable is unset, then each spam pattern match
- supersedes the previous one. Instead of getting joined format strings,
- you'll get only the last one to match.
-
- The spam tag is what will be displayed in the index when you use %H in the
- $index_format variable. It's also the string that the ËœH pattern-matching
- expression matches against for search and limit functions. And it's what
- sorting by spam attribute will use as a sort key.
-
- That's a pretty complicated example, and most people's actual environments
- will have only one spam filter. The simpler your configuration, the more
- effective mutt can be, especially when it comes to sorting.
-
- Generally, when you sort by spam tag, mutt will sort lexically -- that is,
- by ordering strings alphnumerically. However, if a spam tag begins with a
- number, mutt will sort numerically first, and lexically only when two
- numbers are equal in value. (This is like UNIX's sort -n.) A message with
- no spam attributes at all -- that is, one that didn't match any of your
- spam patterns -- is sorted at lowest priority. Numbers are sorted next,
- beginning with 0 and ranging upward. Finally, non-numeric strings are
- sorted, with ``a'' taking lowerpriority than ``z''. Clearly, in general,
- sorting by spam tags is most effective when you can coerce your filter to
- give you a raw number. But in case you can't, mutt can still do something
- useful.
-
- The nospam command can be used to write exceptions to spam patterns. If a
- header pattern matches something in a spam command, but you nonetheless do
- not want it to receive a spam tag, you can list amore precise pattern
- under a nospam command.
-
- If the pattern given to nospam is exactly the same as the pattern on an
- existing spam list entry, the effect will be to remove the entry from the
- spam list, instead of adding an exception. Likewise, if the pattern for a
- spam command matches an entry on the nospam list, that nospam entry will
- be removed. If the pattern for nospam is ``*'', all entries on both lists
- will be removed. This might be the default action if you use spam and
- nospam in conjunction with a folder-hook .
-
- You can have as many spam or nospam commands as you like. You can even do
- your own primitive spam detection within mutt -- for example, if you
- consider all mail from MAILER-DAEMON to be spam, you can use a spam
- command like this:
-
- spam "^From: .*MAILER-DAEMON" "999"
-
-28. Setting variables
-
- Usage: set [no|inv]variable[=value] [ variable ... ]
- Usage: toggle variable [variable... ]
- Usage: unset variable [variable... ]
- Usage: reset variable [variable... ]
-
-
- This command is used to set (and unset) variables .There are four basic
- types of variables: boolean, number, string and quadoption. boolean
- variables can be set (true) or unset (false). number variables can be
- assigned a positive integer value.
-
- string variables consist of any number of printable characters. strings
- must be enclosed in quotes if they contain spaces or tabs. You may also
- use the ``C'' escape sequences \n and \t for newline and tab,
- respectively.
-
- quadoption variables are used to control whether or not to be prompted for
- certain actions, or to specify a default action. A value of yes will cause
- the action to be carried out automatically as if you had answered yes to
- the question. Similarly, a value of no will cause the the action to be
- carried out as if you had answered ``no.'' A value of ask-yes will cause a
- prompt with a default answer of ``yes'' and ask-no will provide a default
- answer of ``no.''
-
- Prefixing a variable with ``no'' will unset it. Example: set noaskbcc .
-
- For boolean variables, you may optionally prefix the variable name with
- inv to toggle the value (on or off). This is useful when writing macros.
- Example: set invsmart_wrap.
-
- The toggle command automatically prepends the inv prefix to all specified
- variables.
-
- The unset command automatically prepends the no prefix to all specified
- variables.
-
- Using the enter-command function in the index menu, you can query the
- value of a variable by prefixing the name of the variable with a question
- mark:
-
- set ?allow_8bit
-
- The question mark is actually only required for boolean and quadoption
- variables.
-
- The reset command resets all given variables to the compile time defaults
- (hopefully mentioned in this manual). If you use the command set and
- prefix the variable with ``&'' this has the same behavior as the reset
- command.
-
- With the reset command there exists the special variable ``all'', which
- allows you to reset all variables to their system defaults.
-
-29. Reading initialization commands from another file
-
- Usage: source filename [ filename... ]
-
-
- This command allows the inclusion of initialization commands from other
- files. For example, I place all of my aliases in ˜/.mail_aliases so that
- I can make my ˜/.muttrc readable and keep my aliases private.
-
- If the filename begins with a tilde (``˜''), it will be expanded to the
- path of your home directory.
-
- If the filename ends with a vertical bar (|), then filename is considered
- to be an executable program from which to read input (eg. source
- ˜/bin/myscript|).
-
-30. Removing hooks
-
- Usage: unhook [ * | hook-type ]
-
-
- This command permits you to flush hooks you have previously defined. You
- can either remove all hooks by giving the ``*'' character as an argument,
- or you can remove all hooks of a specific type by saying something like
- unhook send-hook.
-
-31. Sharing Setups
-
- 31.1. Character Sets
-
- As users may run mutt-ng on different systems, the configuration must be
- maintained because it's likely that people want to use the setup
- everywhere they use mutt-ng. And mutt-ng tries to help where it can.
-
- To not produce conflicts with different character sets, mutt-ng allows
- users to specify in which character set their configuration files are
- encoded. Please note that while reading the configuration files, this is
- only respected after the corresponding declaration appears. It's advised
- to put the following at the very beginning of a users muttngrc:
-
- set config_charset = "..."
-
- and replacing the dots with the actual character set. To avoid problems
- while maintaining the setup, vim user's may want to use modelines as show
- in:
-
- # vim:fileencoding=...:
-
- while, again, replacing the dots with the appropriate name. This tells vim
- as which character set to read and save the file.
-
- 31.2. Modularization
-
- ``Modularization'' means to divide the setup into several files while
- sorting the options or commands by topic. Especially for longer setups
- (e.g. with many hooks), this helps maintaining it and solving trouble.
-
- When using separation, setups may be, as a whole or in fractions, shared
- over different systems.
-
- 31.3. Conditional parts
-
- When using a configuration on different systems, the user may not always
- have influence on how mutt-ng is installed and which features it includes.
-
- To solve this, mutt-ng contain a feature based on the ``ifdef'' patch
- written for mutt. Its basic syntax is:
-
- ifdef <item> <command>
- ifndef <item> <command>
-
- ...whereby <item> can be one of:
-
- o a function name
-
- o a variable name
-
- o a menu name
-
- o a feature name
-
- All available functions, variables and menus are documented elsewhere in
- this manual but ``features'' is specific to these two commands. To test
- for one, prefix one of the following keywords with feature_: ncurses,
- slang, iconv, idn, dotlock, standalone, pop, nntp, imap, ssl, gnutls,
- sasl, sasl2, libesmtp, compressed, color, classic_pgp, classic_smime,
- gpgme, header_cache
-
- As an example, one can use the following in ˜/.muttngrc:
-
- ifdef feature_imap 'source ~/.mutt-ng/setup-imap'
- ifdef feature_pop 'source ~/.mutt-ng/setup-pop'
- ifdef feature_nntp 'source ~/.mutt-ng/setup-nntp'
-
- ...to only source ˜/.mutt-ng/setup-imap if IMAP support is built in, only
- source ˜/.mutt-ng/setup-pop if POP support is built in and only source
- ˜/.mutt-ng/setup-nntp if NNTP support is built in.
-
- An example for testing for variable names can be used if users use
- different revisions of mutt-ng whereby the older one may not have a
- certain variable. To test for the availability of imap-mail-check , use:
-
- ifdef imap_mail_check 'set imap_mail_check = 300'
-
- Provided for completeness is the test for menu names. To set
- pager-index-lines only if the pager menu is available, use:
-
- ifdef pager 'set pager_index_lines = 10'
-
- For completeness, too, the opposite of ifdef is provided: ifndef which
- only executes the command if the test fails. For example, the following
- two examples are equivalent:
-
- ifdef feature_ncurses 'source ~/.mutt-ng/setup-ncurses'
- ifndef feature_ncurses 'source ~/.mutt-ng/setup-slang'
-
- ...and...
-
- ifdef feature_slang 'source ~/.mutt-ng/setup-slang'
- ifndef feature_slang 'source ~/.mutt-ng/setup-ncurses'
-
-32. Obsolete Variables
-
- In the process of ensuring and creating more consistency, many variables
- have been renamed and some of the old names were already removed. Please
- see sect-obsolete for a complete list.
-
-Chapter 4. Advanced Usage
-
- Table of Contents
-
- 1. Regular Expressions
-
- 2. Patterns
-
- 2.1. Complex Patterns
-
- 2.2. Patterns and Dates
-
- 3. Format Strings
-
- 3.1. Introduction
-
- 3.2. Conditional Expansion
-
- 3.3. Modifications and Padding
-
- 4. Using Tags
-
- 5. Using Hooks
-
- 5.1. Message Matching in Hooks
-
- 6. Using the sidebar
-
- 7. External Address Queries
-
- 8. Mailbox Formats
-
- 9. Mailbox Shortcuts
-
- 10. Handling Mailing Lists
-
- 11. Editing threads
-
- 11.1. Linking threads
-
- 11.2. Breaking threads
-
- 12. Delivery Status Notification (DSN) Support
-
- 13. POP3 Support (OPTIONAL)
-
- 14. IMAP Support (OPTIONAL)
-
- 14.1. The Folder Browser
-
- 14.2. Authentication
-
- 15. NNTP Support (OPTIONAL)
-
- 15.1. Again: Scoring
-
- 16. SMTP Support (OPTIONAL)
-
- 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
-
- 18. Start a WWW Browser on URLs (EXTERNAL)
-
- 19. Compressed folders Support (OPTIONAL)
-
- 19.1. Open a compressed mailbox for reading
-
- 19.2. Write a compressed mailbox
-
- 19.3. Append a message to a compressed mailbox
-
- 19.4. Encrypted folders
-
-1. Regular Expressions
-
- All string patterns in Mutt-ng including those in more complex patterns
- must be specified using regular expressions (regexp) in the ``POSIX
- extended'' syntax (which is more or less the syntax used by egrep and GNU
- awk). For your convenience, we have included below a brief description of
- this syntax.
-
- The search is case sensitive if the pattern contains at least one upper
- case letter, and case insensitive otherwise. Note that ``\'' must be
- quoted if used for a regular expression in an initialization command:
- ``\\''.
-
- A regular expression is a pattern that describes a set of strings. Regular
- expressions are constructed analogously to arithmetic expressions, by
- using various operators to combine smaller expressions.
-
- Note that the regular expression can be enclosed/delimited by either " or
- ' which is useful if the regular expression includes a white-space
- character. See muttrc-syntax for more information on " and ' delimiter
- processing. To match a literal " or ' you must preface it with \
- (backslash).
-
- The fundamental building blocks are the regular expressions that match a
- single character. Most characters, including all letters and digits, are
- regular expressions that match themselves. Any metacharacter with special
- meaning may be quoted by preceding it with a backslash.
-
- The period ``.'' matches any single character. The caret ``^'' andthe
- dollar sign ``$'' are metacharacters that respectively match the empty
- string at the beginning and end of a line.
-
- A list of characters enclosed by ``['' and ``]'' matches any single
- character in that list; if the first character of the list is a caret
- ``^'' then it matches any character not in the list. For example, the
- regular expression [0123456789] matches any single digit. A range of ASCII
- characters may be specified by giving the first and last characters,
- separated by a hyphen ``-''. Most metacharacters lose their special
- meaning inside lists. To include a literal ``]'' place it first in the
- list. Similarly, to include a literal ``^'' place it anywhere but first.
- Finally, to include a literal hyphen ``-'' place it last.
-
- Certain named classes of characters are predefined. Character classes
- consist of ``[:'', a keyword denoting the class, and ``:]''. The following
- classes are defined by the POSIX standard:
-
- [:alnum:]
-
- Alphanumeric characters.
-
- [:alpha:]
-
- Alphabetic characters.
-
- [:blank:]
-
- Space or tab characters.
-
- [:cntrl:]
-
- Control characters.
-
- [:digit:]
-
- Numeric characters.
-
- [:graph:]
-
- Characters that are both printable and visible. (A space is
- printable, but not visible, while an ``a'' is both.)
-
- [:lower:]
-
- Lower-case alphabetic characters.
-
- [:print:]
-
- Printable characters (characters that are not control characters.)
-
- [:punct:]
-
- Punctuation characters (characters that are not letter, digits,
- control characters, or space characters).
-
- [:space:]
-
- Space characters (such as space, tab and formfeed, to name a few).
-
- [:upper:]
-
- Upper-case alphabetic characters.
-
- [:xdigit:]
-
- Characters that are hexadecimal digits.
-
- A character class is only valid in a regular expression inside the
- brackets of a character list. Note that the brackets in these class names
- are part of the symbolic names, and must be included in addition to the
- brackets delimiting the bracket list. For example, [[:digit:]] is
- equivalent to [0-9].
-
- Two additional special sequences can appear in character lists. These
- apply to non-ASCII character sets, which can have single symbols
- (calledcollating elements) that are represented with more than one
- character, as well as several characters that are equivalent for collating
- or sorting purposes:
-
- Collating Symbols
-
- A collating symbol is a multi-character collating element enclosed
- in ``[.'' and ``.]''. For example, if ``ch'' is a collating
- element, then [[.ch.]] is a regexp that matches this collating
- element, while [ch] is a regexp that matches either ``c'' or
- ``h''.
-
- Equivalence Classes
-
- An equivalence class is a locale-specific name for a list of
- characters that are equivalent. The name is enclosed in ``[='' and
- ``=]''. For example, the name ``e'' might be used to represent all
- of ``è'' ``é'' and ``e''. In this case, [[=e=]] is a regexp that
- matches any of ``è'', ``é'' and ``e''.
-
- A regular expression matching a single character may be followed by one of
- several repetition operators:
-
- ?
-
- The preceding item is optional and matched at most once.
-
- *
-
- The preceding item will be matched zero or more times.
-
- +
-
- The preceding item will be matched one or more times.
-
- {n}
-
- The preceding item is matched exactly n times.
-
- {n,}
-
- The preceding item is matched n or more times.
-
- {,m}
-
- The preceding item is matched at most m times.
-
- {n,m}
-
- The preceding item is matched at least n times, but no more than m
- times.
-
- Two regular expressions may be concatenated; the resulting regular
- expression matches any string formed by concatenating two substrings that
- respectively match the concatenated subexpressions.
-
- Two regular expressions may be joined by the infix operator ``|''; the
- resulting regular expression matches any string matching either
- subexpression.
-
- Repetition takes precedence over concatenation, which in turn takes
- precedence over alternation. A whole subexpression may be enclosed in
- parentheses to override these precedence rules.
-
- Note: If you compile Mutt-ng with the GNU rx package, the following
- operators may also be used in regular expressions:
-
- \\y
-
- Matches the empty string at either the beginning or the end of a
- word.
-
- \\B
-
- Matches the empty string within a word.
-
- \\<
-
- Matches the empty string at the beginning of a word.
-
- \\>
-
- Matches the empty string at the end of a word.
-
- \\w
-
- Matches any word-constituent character (letter, digit, or
- underscore).
-
- \\W
-
- Matches any character that is not word-constituent.
-
- \\`
-
- Matches the empty string at the beginning of a buffer (string).
-
- \\'
-
- Matches the empty string at the end of a buffer.
-
- Please note however that these operators are not defined by POSIX, so they
- may or may not be available in stock libraries on various systems.
-
-2. Patterns
-
- Mutt-ng's pattern language provides a simple yet effective way to set up
- rules to match messages, e.g. for operations like tagging and scoring. A
- pattern consists of one or more sub-pattern, which can be logically
- grouped, ORed, and negated. For a complete listing of these patterns,
- please refer to table patterns in the Reference chapter.
-
- It must be noted that in this table, EXPR is a regular expression. For
- ranges, the forms <[MAX], >>[MIN], [MIN]- and -[MAX] are also possible.
-
- 2.1. Complex Patterns
-
- It is possible to combine several sub-patterns to a more complex pattern.
- The most simple possibility is to logically AND several patterns by
- stringing them together:
-
- ~s 'SPAM' ~U
-
- The pattern above matches all messages that contain ``SPAM'' in the
- subject and are unread.
-
- To logical OR patterns, simply use the | operator. This one especially
- useful when using local groups:
-
- ~f ("nion@muttng\.org"|"ak@muttng\.org"|"pdmef@muttng\.org")
- (~b mutt-ng|~s Mutt-ng)
- !~x '@synflood\.at'
-
- The first pattern matches all messages that were sent by one of the
- mutt-ng maintainers, while the seconds pattern matches all messages that
- contain ``mutt-ng'' in the message body or ``Mutt-ng'' in the subject. The
- third pattern matches all messages that do not contain ``@synflood\.at''
- in the References: header, i.e. messages that are not an (indirect) reply
- to one of my messages. A pattern can be logicall negated using the !
- operator.
-
- 2.2. Patterns and Dates
-
- When using dates in patterns, the dates must be specified in a special
- format, i.e. DD/MM/YYYY. If you don't specify month or year, they default
- to the current month or year. When using date ranges, and you specify only
- the minimum or the maximum, the specified date will be excluded, e.g.
- 01/06/2005- matches against all messages after Juni 1st, 2005.
-
- It is also possible to use so-called ``error margins'' when specifying
- date ranges. You simply specify a date, and then the error margin. This
- margin needs to contain the information whether it goes ``forth'' or
- ``back'' in time, by using + and -. Then follows a number and a unit, i.e.
- y for years, m for months, w for weeks and d for days. If you use the
- special * sign, it means that the error margin goes to both``directions''
- in time.
-
- ~d 01/01/2005+1y
- ~d 18/10/2004-2w
- ~d 28/12/2004*1d
-
- The first pattern matches all dates between January 1st, 2005 and January
- 1st 2006. The second pattern matches all dates between October 18th, 2004
- and October 4th 2004 (2 weeks before 18/10/2004), while the third pattern
- matches all dates 1 day around December 28th, 2004 (i.e. Dec 27th, 28th
- and 29th).
-
- Relative dates are also very important, as they make it possible to
- specify date ranges between a fixed number of units and the current date.
- How this works can be seen in the following example:
-
- ~d >2w # messages older than two weeks
- ~d <3d # messages newer than 3 days
- ~d =1m # messages that are exactly one month old
-
-3. Format Strings
-
- 3.1. Introduction
-
- The so called Format Strings offer great flexibility when configuring
- mutt-ng. In short, they describe what items to print out how in menus and
- status messages.
-
- Basically, they work as this: for different menus and bars, there's a
- variable specifying the layout. For every item available, there is a so
- called expando.
-
- For example, when running mutt-ng on different machines or different
- versions for testing purposes, it may be interesting to have the following
- information always printed on screen when one is in the index:
-
- o the current hostname
-
- o the current mutt-ng version number
-
- The setting for the status bar of the index is controlled via the
- status-format variable. For the hostname and version string, there's an
- expando for $status_format: %h expands to the hostname and %v to the
- version string. When just configuring:
-
- set status_format = "%v on %h: ..."
-
- mutt-ng will replace the sequence %v with the version string and %h with
- the host's name. When you are, for example, running mutt-ng version 1.5.9i
- on host mailhost, you'll see the following when you're in the index:
-
- Mutt-ng 1.5.9i on mailhost: ...
-
- In the index, there're more useful information one could want to see:
-
- o which mailbox is open
-
- o how man new, flagged or postponed messages
-
- o ...
-
- To include the mailbox' name is as easy as:
-
- set status_format = "%v on %h: %B: ...
-
- When the currently opened mailbox is Inbox, this will be expanded to:
-
- Mutt-ng 1.5.9i on mailhost: Inbox: ...
-
- For the number of certain types of messages, one more feature of the
- format strings is extremely useful. If there aren't messages of a certain
- type, it may not be desired to print just that there aren't any but
- instead only print something if there are any.
-
- 3.2. Conditional Expansion
-
- To only print the number of messages if there are new messages in the
- current mailbox, further extend $status_format to:
-
- set status_format = "%v on %h: %B %?n?%n new? ...
-
- This feature is called nonzero-printing and works as this: some expandos
- may be optionally printed nonzero, i.e. a portion of the format string is
- only evaluated if the value of the expando is different from zero. The
- basic syntax is:
-
- %?<item>?<string if nonzero>?
-
- which tells mutt-ng to only look at <string if nonzero> if the value of
- the %<item%gt; expando is different from zero. In our example, we used n
- as the expando to check for and %n new as the optional nonzero string.
-
- But this is not all: this feature only offers one alternative: ``print
- something if not zero.'' Mutt-ng does, as you might guess, also provide a
- logically complete version: ``if zero, print something and else print
- something else.'' This is achieved by the following syntax for those
- expandos which may be printed nonzero:
-
- %?<item>?<string if nonzero>&<string if zero>?
-
- Using this we can make mutt-ng to do the following:
-
- o make it print ``n new messages'' whereby n is the count but only if
- there new ones
-
- o and make it print ``no new messages'' if there aren't any
-
- The corresponding configuration is:
-
- set status_format = "%v on %h: %B: %?n?%n new messages&no new messages? ...
-
- This doubles the use of the ``new messages'' string because it'll get
- always printed. Thus, it can be shortened to:
-
- set status_format = "%v on %h: %B: %?n?%n&no? new messages ...
-
- As you might see from this rather simple example, one can create very
- complex but fancy status messages. Please see the reference chapter for
- expandos and those which may be printed nonzero.
-
- 3.3. Modifications and Padding
-
- Besides the information given so far, there're even more features of
- format strings:
-
- o When specifying %_<item> instead of just %<item>, mutt-ng will convert
- all characters in the expansion of <item> to lowercase.
-
- o When specifying %:<item> instead of just %<item>, mutt-ng will convert
- all dots in the expansion of <item> to underscores (_).
-
- Also, there's a feature called Padding supplied by the following two
- expandos: %|X and %>X .
-
- %|X
-
- When this occurs, mutt-ng will fill the rest of the line with the
- character X. In our example, filling the rest of the line with
- dashes is done by setting:
-
- set status_format = "%v on %h: %B: %?n?%n&no? new messages %|-"
-
- %>X
-
- Since the previous expando stops at the end of line, there must be
- a way to fill the gap between two items via the %>X expando: it
- puts as many characters X in between two items so that the rest of
- the line will be right-justified. For example, to not put the
- version string and hostname of our example on the left but on the
- right and fill the gap with spaces, one might use (note the space
- after %>):
-
- set status_format = "%B: %?n?%n&no? new messages %> (%v on %h)"
-
-4. Using Tags
-
- Sometimes it is desirable to perform an operation on a group of messages
- all at once rather than one at a time. An example might be to save
- messages to a mailing list to a separate folder, or to delete all messages
- with a given subject. To tag all messages matching a pattern, use the
- tag-pattern function, which is bound to ``shift-T'' by default. Or you can
- select individual messages by hand using the ``tag-message'' function,
- which is bound to ``t'' by default. See patterns for Mutt-ng's pattern
- matching syntax.
-
- Once you have tagged the desired messages, you can use the ``tag-prefix''
- operator, which is the ``;'' (semicolon) key by default. When the
- ``tag-prefix'' operator is used, the next operation will be applied to all
- tagged messages if that operation can be used in that manner. If the
- auto-tag variable is set, the next operation applies to the tagged
- messages automatically, without requiring the ``tag-prefix''.
-
- In macro or push commands, you can use the ``tag-prefix-cond'' operator.
- If there are no tagged messages, mutt will "eat" the rest of the macro to
- abort it's execution.Mutt-ng will stop "eating" the macro when it
- encounters the ``end-cond'' operator; after this operator the rest of the
- macro will be executed asnormal.
-
-5. Using Hooks
-
- A hook is a concept borrowed from the EMACS editor which allows you to
- execute arbitrary commands before performing some operation. For example,
- you may wish to tailor your configuration based upon which mailbox you are
- reading, or to whom you are sending mail. In the Mutt-ng world, a hook
- consists of a regexp or patterns along with a configuration
- option/command. See
-
- o folder-hook
-
- o send-hook
-
- o message-hook
-
- o save-hook
-
- o mbox-hook
-
- o fcc-hook
-
- o fcc-save-hook
-
- for specific details on each type of hook available.
-
- Note: if a hook changes configuration settings, these changes remain
- effective until the end of the current mutt session. As this is generally
- not desired, a default hook needs to be added before all other hooks to
- restore configuration defaults. Here is an example with send-hook and the
- my_hdr directive:
-
- send-hook . 'unmy_hdr From:'
- send-hook ~C'^b@b\.b$' my_hdr from: c@c.c
-
- 5.1. Message Matching in Hooks
-
- Hooks that act upon messages (send-hook, save-hook, fcc-hook,message-hook
- )are evaluated in a slightly different manner. For the other types of
- hooks, a regexp is sufficient. But in dealing with messages a finer grain
- of control is needed for matching since for different purposes you want to
- match different criteria.
-
- Mutt-ng allows the use of the patterns language for matching messages in
- hook commands. This works in exactly the same way as it would when
- limiting orsearching the mailbox, except that you are restricted to those
- operators which match information mutt extracts from the header of the
- message (i.e. from, to, cc, date, subject, etc.).
-
- For example, if you wanted to set your return address based upon sending
- mail to a specific address, you could do something like:
-
- send-hook '~t ^me@cs\.hmc\.edu$' 'my_hdr From: Mutt-ng User <user@host>'
-
- which would execute the given command when sending mail to me@cs.hmc.edu.
-
- However, it is not required that you write the pattern to match using the
- full searching language. You can still specify a simple regular expression
- like the other hooks, in which case Mutt-ng will translate your pattern
- into the full language, using the translation specified by the
- default-hook variable. The pattern is translated at the time the hook is
- declared, so the value of default-hook that is in effect at that time will
- be used.
-
-6. Using the sidebar
-
- The sidebar, a feature specific to Mutt-ng, allows you to use a mailbox
- listing which looks very similar to the ones you probably know from GUI
- mail clients. The sidebar lists all specified mailboxes, shows the number
- in each and highlights the ones with new email Use the following
- configuration commands:
-
- set sidebar_visible="yes"
- set sidebar_width=25
-
- If you want to specify the mailboxes you can do so with:
-
- set mbox='=INBOX'
- mailboxes INBOX \
- MBOX1 \
- MBOX2 \
- ...
-
- You can also specify the colors for mailboxes with new mails by using:
-
- color sidebar_new red black
- color sidebar white black
-
- The available functions are:
-
- Table 4.1. Default Sidebar Function Bindings
-
- +------------------------------------------------------------------------+
- | Key | Function | Description |
- |------+---------------------+-------------------------------------------|
- | none | sidebar-scroll-up | Scrolls the mailbox list up 1 page |
- |------+---------------------+-------------------------------------------|
- | none | sidebar-scroll-down | Scrolls the mailbox list down 1 page |
- |------+---------------------+-------------------------------------------|
- | none | sidebar-next | Highlights the next mailbox |
- |------+---------------------+-------------------------------------------|
- | none | sidebar-next-new | Highlights the next mailbox with new mail |
- |------+---------------------+-------------------------------------------|
- | none | sidebar-previous | Highlights the previous mailbox |
- |------+---------------------+-------------------------------------------|
- | none | sidebar-open | Opens the currently highlighted mailbox |
- +------------------------------------------------------------------------+
-
- Reasonable key bindings look e.g. like this:
-
- bind index \Cp sidebar-prev
- bind index \Cn sidebar-next
- bind index \Cb sidebar-open
- bind pager \Cp sidebar-prev
- bind pager \Cn sidebar-next
- bind pager \Cb sidebar-open
-
- macro index B ':toggle sidebar_visible^M'
- macro pager B ':toggle sidebar_visible^M'
-
- You can then go up and down by pressing Ctrl-P and Ctrl-N, and switch on
- and off the sidebar simply by pressing 'B'.
-
-7. External Address Queries
-
- Mutt-ng supports connecting to external directory databases such as LDAP,
- ph/qi, bbdb, or NIS through a wrapper script which connects to mutt using
- a simple interface. Using the query-command variable, you specify the
- wrapper command to use. For example:
-
- set query_command = "mutt_ldap_query.pl '%s'"
-
- The wrapper script should accept the query on the command-line. It should
- return a one line message, then each matching response on a single line,
- each line containing a tab separated address then name thensome other
- optional information. On error, or if there are no matching addresses,
- return a non-zero exit code and a one line error message.
-
- An example multiple response output:
-
- Searching database ... 20 entries ... 3 matching:
- me@cs.hmc.edu Michael Elkins mutt dude
- blong@fiction.net Brandon Long mutt and more
- roessler@guug.de Thomas Roessler mutt pgp
-
- There are two mechanisms for accessing the query function of mutt. One is
- to do a query from the index menu using the query function (default: Q).
- This will prompt for a query, then bring up the query menu which will list
- the matching responses. From the query menu, you can select addresses to
- create aliases, or to mail. You can tag multiple addressesto mail, start a
- new query, or have a new query appended to the current responses.
-
- The other mechanism for accessing the query function is for address
- completion, similar to the alias completion. In any prompt for address
- entry, you can use the complete-query function (default: ^T) to run a
- query based on the current address you have typed. Like aliases, mutt will
- look for what you have typed back to the last space or comma. If there is
- a single response for that query, mutt will expand the address in place.
- If there are multiple responses, mutt will activate the querymenu. At the
- query menu, you can select one or more addresses to be added to the
- prompt.
-
-8. Mailbox Formats
-
- Mutt-ng supports reading and writing of four different mailbox formats:
- mbox, MMDF, MH and Maildir. The mailbox type is autodetected, so there is
- no need to use a flag for different mailbox types. When creating
- newmailboxes, Mutt-ng uses the default specified with the mbox-type
- variable.
-
- mbox. This is the most widely used mailbox format for UNIX. All messages
- are stored in a single file. Each message has a line of the form:
-
- From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST
-
- to denote the start of a new message (this is often referred to as the
- ``From_'' line).
-
- MMDF. This is a variant of the mbox format. Each message is surrounded by
- lines containing ``^A^A^A^A'' (four control-A's).
-
- MH. A radical departure from mbox and MMDF, a mailbox consists of a
- directory and each message is stored in a separate file. The filename
- indicates the message number (however, this is may not correspond to the
- message number Mutt-ng displays). Deleted messages arerenamed with a comma
- (,) prepended to the filename. Note: Mutt detects this type of mailbox by
- looking for either .mh_sequences or .xmhcache (needed to distinguish
- normal directories from MH mailboxes).
-
- Maildir. The newest of the mailbox formats, used by the Qmail MTA (a
- replacement for sendmail). Similar to MH, except that it adds three
- subdirectories of the mailbox: tmp, new and cur .Filenames for the
- messages are chosen in such a way they are unique, even when twoprograms
- are writing the mailbox over NFS, which means that no file locking is
- needed.
-
-9. Mailbox Shortcuts
-
- There are a number of built in shortcuts which refer to specific
- mailboxes. These shortcuts can be used anywhere you are prompted for a
- file or mailbox path.
-
- o ! -- refers to your spoolfile (incoming) mailbox
-
- o > -- refers to your mbox file
-
- o < -- refers to your record file
-
- o ^ -- refers to the current mailbox
-
- o - or !! -- refers to the file you've last visited
-
- o ˜ -- refers to your home directory
-
- o = or + -- refers to your folder directory
-
- o @alias -- refers to the save-hook as determined by the address of the
- alias
-
-10. Handling Mailing Lists
-
- Mutt-ng has a few configuration options that make dealing with large
- amounts of mail easier. The first thing you must do is to let Mutt know
- what addresses you consider to be mailing lists (technically this does not
- have to be a mailing list, but that is what it is most often used for),
- and what lists you are subscribed to. This is accomplished through the use
- of the lists commands in your muttrc.
-
- Now that Mutt-ng knows what your mailing lists are, it can do several
- things, the first of which is the ability to show the name of a list
- through which you received a message (i.e., of a subscribed list) in the
- index menu display. This is useful to distinguish between personal and
- list mail in the same mailbox. In the index-format variable, the escape
- ``%L'' will return the string ``To <list>'' when ``list'' appears in the
- ``To'' field, and ``Cc <list>'' when it appears in the ``Cc'' field
- (otherwise it returns the name of the author).
-
- Often times the ``To'' and ``Cc'' fields in mailing list messages tend to
- get quite large. Most people do not bother to remove the author of the
- message they are reply to from the list, resulting in two or more copies
- being sent to that person. The ``list-reply'' function, which by default
- is bound to ``L'' in the index menu and pager, helps reduce the clutter by
- only replying to the known mailing list addresses instead of all
- recipients (except as specified by Mail-Followup-To, see below).
-
- Mutt-ng also supports the Mail-Followup-To header. When you send a message
- to a list of recipients which includes one or several subscribed mailing
- lists, and if the followup-to option is set, mutt will generate a
- Mail-Followup-To header which contains all the recipients to whom you send
- this message, but not your address. This indicates that group-replies or
- list-replies (also known as ``followups'') to this message should only be
- sent to the original recipients of the message, and not separately to you
- - you'll receive your copy through one of the mailing lists you are
- subscribed to.
-
- Conversely, when group-replying or list-replying to a message which has a
- Mail-Followup-To header, mutt will respect this header if the
- honor-followup-to configuration variable is set. Using list-reply will in
- this case also make sure that the reply goes to the mailing list, even if
- it's not specified in the list of recipients in the Mail-Followup-To.
-
- Note that, when header editing is enabled, you can create a
- Mail-Followup-To header manually. Mutt-ng will only auto-generate this
- header if it doesn't exist when you send the message.
-
- The other method some mailing list admins use is to generate a
- ``Reply-To'' field which points back to the mailing list address rather
- than the author of the message. This can create problems when trying to
- reply directly to the author in private, since most mail clients will
- automatically reply to the address given in the ``Reply-To'' field.
- Mutt-ng uses the reply-to variable to help decide which address to use. If
- set to ask-yes or ask-no, you will be prompted as to whether or not you
- would like to use the address given inthe ``Reply-To'' field, or reply
- directly to the address given in the ``From'' field. When set to yes, the
- ``Reply-To'' field will be used when present.
-
- The ``X-Label:'' header field can be used to further identify mailing
- lists or list subject matter (or just to annotate messages individually).
- The index-format variable's ``%y'' and ``%Y'' escapes can be used to
- expand ``X-Label:'' fields in the index, and Mutt-ng's pattern-matcher can
- match regular expressions to ``X-Label:'' fields with the ``Ëœy''
- selector. ``X-Label:'' is not a standard message header field, but it can
- easily be inserted by procmailand other mail filtering agents.
-
- Lastly, Mutt-ng has the ability to sort the mailbox into threads. A thread
- is a group of messages which all relate to the same subject. This is
- usually organized into a tree-like structure where a message and all of
- its replies are represented graphically. If you've ever used a threaded
- news client, this is the same concept. It makes dealingwith large volume
- mailing lists easier because you can easily delete uninteresting threads
- and quickly find topics of value.
-
-11. Editing threads
-
- Mutt-ng has the ability to dynamically restructure threads that are broken
- either by misconfigured software or bad behavior from some correspondents.
- This allows to clean your mailboxes formats) from these annoyances which
- make it hard to follow a discussion.
-
- 11.1. Linking threads
-
- Some mailers tend to "forget" to correctly set the "In-Reply-To:" and
- "References:" headers when replying to a message. This results in broken
- discussions because Mutt-ng has not enough information to guess the
- correct threading. You can fix this by tagging the reply, then moving to
- the parent message and using the ``link-threads'' function (bound to & by
- default). The reply will then be connected to this "parent" message.
-
- You can also connect multiple children at once, tagging them and using the
- tag-prefix command (';') or the auto_tag option.
-
- 11.2. Breaking threads
-
- On mailing lists, some people are in the bad habit of starting a new
- discussion by hitting "reply" to any message from the list and changing
- the subject to a totally unrelated one. You can fix such threads by using
- the ``break-thread'' function (boundby default to #), which will turn the
- subthread starting from the current message into a whole different thread.
-
-12. Delivery Status Notification (DSN) Support
-
- RFC1894 defines a set of MIME content types for relaying information about
- the status of electronic mail messages. These can be thought of as
- ``return receipts.''
-
- Users can make use of it in one of the following two ways:
-
- o Berkeley sendmail 8.8.x currently has some command line options in
- which the mail client can make requests as to what type of status
- messages should be returned.
-
- o The SMTP support via libESMTP supports it, too.
-
- To support this, there are two variables:
-
- o dsn-notify is used to request receipts for different results (such as
- failed message,message delivered, etc.).
-
- o dsn-return requests how much of your message should be returned with
- the receipt (headers or full message).
-
- Please see the reference chapter for possible values.
-
-13. POP3 Support (OPTIONAL)
-
- If Mutt-ng was compiled with POP3 support (by running the configure script
- with the --enable-pop flag), it has the ability to work with mailboxes
- located on a remote POP3 server and fetch mail for local browsing.
-
- You can access the remote POP3 mailbox by selecting the folder
- pop://popserver/.
-
- You can select an alternative port by specifying it with the server, i.e.:
- pop://popserver:port/.
-
- You can also specify different username for each folder, i.e.:
- pop://username@popserver[:port]/.
-
- Polling for new mail is more expensive over POP3 than locally. For this
- reason the frequency at which Mutt-ng will check for mail remotely can be
- controlled by the pop-mail-check variable, which defaults to every 60
- seconds.
-
- If Mutt-ng was compiled with SSL support (by running the configure script
- with the --with-ssl flag), connections to POP3 servers can be encrypted.
- This naturally requires that the server supports SSL encrypted
- connections. To access a folder with POP3/SSL, you should use pops:
- prefix, ie: pops://[username@]popserver[:port]/.
-
- Another way to access your POP3 mail is the fetch-mail function (default:
- G). It allows to connect to pop-host ,fetch all your new mail and place it
- in the local spoolfile. After this point, Mutt-ng runs exactly as if the
- mail had always been local.
-
- Note: If you only need to fetch all messages to local mailbox you should
- consider using a specialized program, such as fetchmail
-
-14. IMAP Support (OPTIONAL)
-
- If Mutt-ng was compiled with IMAP support (by running the configure script
- with the --enable-imap flag), it has the ability to work with folders
- located on a remote IMAP server.
-
- You can access the remote inbox by selecting the folder
- imap://imapserver/INBOX, where imapserver is the name of the IMAP server
- and INBOX is the special name for your spool mailbox on the IMAP server.
- If you want to access another mail folder at the IMAP server, you should
- use imap://imapserver/path/to/folder where path/to/folder is the path of
- the folder you want to access.
-
- You can select an alternative port by specifying it with the server, i.e.:
- imap://imapserver:port/INBOX.
-
- You can also specify different username for each folder, i.e.:
- imap://username@imapserver[:port]/INBOX.
-
- If Mutt-ng was compiled with SSL support (by running the configure script
- with the --with-ssl flag), connections to IMAP servers can be encrypted.
- This naturally requires that the server supports SSL encrypted
- connections. To access a folder with IMAP/SSL, you should use
- imaps://[username@]imapserver[:port]/path/to/folder as your folder path.
-
- Pine-compatible notation is also supported, i.e.
- {[username@]imapserver[:port][/ssl]}path/to/folder
-
- Note that not all servers use / as the hierarchy separator. Mutt-ng should
- correctly notice which separator is being used by the server and
- convertpaths accordingly.
-
- When browsing folders on an IMAP server, you can toggle whether to look at
- only the folders you are subscribed to, or all folders with the
- toggle-subscribed command. See also the imap-list-subscribed variable.
-
- Polling for new mail on an IMAP server can cause noticeable delays. So,
- you'll want to carefully tune the imap-mail-check and timeout variables.
-
- Note that if you are using mbox as the mail store on UW servers prior
- tov12.250, the server has been reported to disconnect a client if another
- client selects the same folder.
-
- 14.1. The Folder Browser
-
- As of version 1.2, mutt supports browsing mailboxes on an IMAP server.
- This is mostly the same as the local file browser, with the following
- differences:
-
- o Instead of file permissions, mutt displays the string "IMAP", possibly
- followed by the symbol "+", indicating that the entry contains both
- messages and subfolders. On Cyrus-like servers folders will often
- contain both messages and subfolders.
-
- o For the case where an entry can contain both messages and subfolders,
- the selection key (bound to enter by default) will choose to descend
- into the subfolder view. If you wish to view the messages in that
- folder, you must use view-file instead (bound to space by default).
-
- o You can create, delete and rename mailboxes with the create-mailbox,
- delete-mailbox, and rename-mailbox commands (default bindings: C , d
- and r, respectively). You may also subscribe and unsubscribe to
- mailboxes (normally these are bound to s and u, respectively).
-
- 14.2. Authentication
-
- Mutt-ng supports four authentication methods with IMAP servers: SASL,
- GSSAPI, CRAM-MD5, and LOGIN (there is a patch by Grant Edwards to add NTLM
- authentication for you poor exchange users out there, but it has yet to be
- integrated into the main tree). There is also support for the
- pseudo-protocol ANONYMOUS, which allows you to log in to a public IMAP
- server without having an account. To use ANONYMOUS, simply make your
- username blank or "anonymous".
-
- SASL is a special super-authenticator, which selects among several
- protocols (including GSSAPI, CRAM-MD5, ANONYMOUS, and DIGEST-MD5) the most
- secure method available on your host and the server. Using some of these
- methods (including DIGEST-MD5 and possibly GSSAPI), your entire session
- will be encrypted and invisible to those teeming network snoops. It is the
- best option if you have it. To use it, you must have the Cyrus SASL
- libraryinstalled on your system and compile mutt with the --with-sasl
- flag.
-
- Mutt-ng will try whichever methods are compiled in and available on the
- server, in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5, LOGIN.
-
- There are a few variables which control authentication:
-
- o imap-user - controls the username under which you request
- authentication on the IMAP server, for all authenticators. This is
- overridden by an explicit username in the mailbox path (i.e. by using
- a mailbox name of the form {user@host}).
-
- o imap-pass - a password which you may preset, used by all
- authentication methods where a password is needed.
-
- o imap-authenticators - a colon-delimited list of IMAP authentication
- methods to try, in the order you wish to try them. If specified, this
- overrides mutt's default (attempt everything, in the order listed
- above).
-
-15. NNTP Support (OPTIONAL)
-
- If compiled with ``--enable-nntp'' option, Mutt-ng can read news from a
- newsserver via NNTP. You can open a newsgroup with the
- ``change-newsgroup'' function from the index/pager which is by default
- bound to i.
-
- The Default newsserver can be obtained from the $NNTPSERVER environment
- variable. Like other news readers, info about subscribed newsgroups is
- saved in a file as specified by the nntp-newsrc variable. Article headers
- are cached and can be loaded from a file when a newsgroup is entered
- instead loading from newsserver; currently, this caching mechanism still
- is different from the header caching for maildir/IMAP.
-
- 15.1. Again: Scoring
-
- Especially for Usenet, people often ask for advanced filtering and scoring
- functionality. Of course, mutt-ng has scoring and allows a killfile, too.
- How to use a killfile has been discussed in score-command.
-
- What has not been discusses in detail is mutt-ng's built-in realname
- filter. For may newsreaders including those for ``advanced users'' like
- slrn or tin, there are frequent request for such functionality. The
- solutions offered often are complicated regular expressions.
-
- In mutt-ng this is as easy as
-
- score ~* =42
-
- This tells mutt-ng to apply a score of 42 to all messages whose sender
- specified a valid realname and a valid email address. Using
-
- score !~* =42
-
- on the contrary applies a score of 42 to all messages not matching those
- criteria which are very strict:
-
- o Email addresses must be valid according to RFC 2822, see
- <ftp://ftp.rfc-editor.org/in-notes/rfc2822.txt>
-
- o the name must consist of at least 2 fields whereby a field must not
- end in a dot. This means that ``Joe User'' and ``Joe A.User'' are
- valid while ``J. User'' and ``J. A. User'' aren't.
-
- o it's assumed that users are interested in reading their own mail and
- mail from people who they have defined an alias forso that those 2
- groups of messages are excluded from the strict rules.
-
-16. SMTP Support (OPTIONAL)
-
- Mutt-ng can be built using a library called ``libESMTP'' which provides
- SMTP functionality. When configure was called with --with-libesmtp or the
- output muttng -v contains +USE_LIBESMTP, this will be or is the case
- already. The SMTP support includes support for Delivery Status
- Notification (see dsn section) as well as handling the 8BITMIME flag
- controlled via use-8bitmime .
-
- To enable sending mail directly via SMTP without an MTA such as Postfix or
- SSMTP and the like, simply set the smtp-host variable pointing to your
- SMTP server.
-
- Authentication mechanisms are available via the smtp-user and smtp-pass
- variables.
-
- Transport Encryption via the StartTLS command is also available. For this
- to work, first of all Mutt-ng must be built with SSL or GNUTLS. Secondly,
- the smtp-use-tls variable must be either set to ``enabled'' or
- ``required.'' In both cases, StartTLS will be used if the server supports
- it: for the second case, the connection will fail ifit doesn't while
- switching back to unencrypted communication for the first one.
-
- Some mail providers require user's to set a particular envelope sender,
- i.e. they allow for only one value which may not be what the user wants to
- send as the From: header. In this case, the variable smtp-envelope may be
- used to set the envelope different from the From: header.
-
-17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
-
- If you happen to have accounts on multiple IMAP and/or POP servers, you
- may find managing all the authentication settings inconvenient and
- error-prone. The account-hook command may help. This hook works like
- folder-hook but is invoked whenever you access a remote mailbox (including
- inside the folder browser), not just when you open the mailbox.
-
- Some examples:
-
- account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
- account-hook imap://host1/ 'set imap_user=me1 imap_pass=foo'
- account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'
-
-18. Start a WWW Browser on URLs (EXTERNAL)
-
- If a message contains URLs (unified resource locator = address in the WWW
- space like http://www.mutt.org/), it is efficient to get a menu with all
- the URLs and start a WWW browser on one of them. This functionality is
- provided by the external urlview program which can be retrieved at
- ftp://ftp.mutt.org/mutt/contrib/ > and the configuration commands:
-
- macro index \cb |urlview\n
- macro pager \cb |urlview\n
-
-19. Compressed folders Support (OPTIONAL)
-
- If Mutt-ng was compiled with compressed folders support (by running the
- configure script with the --enable-compressed flag), Mutt can open folders
- stored in an arbitrary format, provided that the user has a script to
- convert from/to this format to one of the accepted.
-
- The most common use is to open compressed archived folders e.g. with gzip.
-
- In addition, the user can provide a script that gets a folder in an
- accepted format and appends its context to the folder in the user-defined
- format, which may be faster than converting the entire folder to the
- accepted format, appending to it and converting back to the user-defined
- format.
-
- There are three hooks defined (open-hook, close-hook and append-hook
- )which define commands to uncompress and compress a folder and to append
- messages to an existing compressed folder respectively.
-
- For example:
-
- open-hook \\.gz$ "gzip -cd %f > %t"
- close-hook \\.gz$ "gzip -c %t > %f"
- append-hook \\.gz$ "gzip -c %t >> %f"
-
- You do not have to specify all of the commands. If you omit append-hook
- ,the folder will be open and closed again each time you will add to it. If
- you omit close-hook (or give empty command) , the folder will be open in
- the mode. If you specify append-hook though you'll be able to append to
- the folder.
-
- Note that Mutt-ng will only try to use hooks if the file is not in one of
- the accepted formats. In particular, if the file is empty, mutt supposes
- it is not compressed. This is important because it allows the use of
- programs that do not have well defined extensions. Just use "." as a
- regexp. But this may be surprising if your compressing script produces
- empty files. In this situation, unset save-empty ,so that the compressed
- file will be removed if you delete all of the messages.
-
- 19.1. Open a compressed mailbox for reading
-
- Usage: open-hook regexp "command"
-
- The command is the command that can be used for opening the folders whose
- names match regexp.
-
- The command string is the printf-like format string, and it should accept
- two parameters: %f, which is replaced with the (compressed) folder name,
- and %t which is replaced with the name of the temporary folder to which to
- write.
-
- %f and %t can be repeated any number of times in the command string, and
- all of the entries are replaced with the appropriate folder name. In
- addition, %% is replaced by %, as in printf, and any other %anything is
- left as is.
-
- The command should not remove the original compressed file. The command
- should return non-zero exit status if it fails, so mutt knows something's
- wrong.
-
- Example:
-
- open-hook \\.gz$ "gzip -cd %f > %t"
-
- If the command is empty, this operation is disabled for this file type.
-
- 19.2. Write a compressed mailbox
-
- Usage: close-hook regexp"command"
-
- This is used to close the folder that was open with the open-hook command
- after some changes were made to it.
-
- The command string is the command that can be used for closing the folders
- whose names match regexp. It has the same format as in the open-hook
- command. Temporary folder in this case is the folder previously produced
- by the < open-hook command.
-
- The command should not remove the decompressed file. The command should
- return non-zero exit status if it fails, so mutt knows something's wrong.
-
- Example:
-
- close-hook \\.gz$ "gzip -c %t > %f"
-
- If the command is empty, this operation is disabled for this file type,
- and the file can only be open in the readonly mode.
-
- close-hook is not called when you exit from the folder if the folder was
- not changed.
-
- 19.3. Append a message to a compressed mailbox
-
- Usage: append-hook regexp"command"
-
- This command is used for saving to an existing compressed folder. The
- command is the command that can be used for appending to the folders whose
- names match regexp. It has the same format as in the open-hook command.
- The temporary folder in this case contains the messages that are
- beingappended.
-
- The command should not remove the decompressed file. The command should
- return non-zero exit status if it fails, so mutt knows something's wrong.
-
- Example:
-
- append-hook \\.gz$ "gzip -c %t >> %f"
-
- When append-hook is used, the folder is not opened, which saves time, but
- this means that we can not find out what the folder type is. Thus the
- default ( mbox-type )type is always supposed (i.e. this is the format used
- for the temporary folder).
-
- If the file does not exist when you save to it, close-hook is called, and
- not append-hook. append-hook is only for appending to existing folders.
-
- If the command is empty, this operation is disabled for this file type. In
- this case, the folder will be open and closed again (using open-hook and
- close-hook respectively) each time you will add to it.
-
- 19.4. Encrypted folders
-
- The compressed folders support can also be used to handle encrypted
- folders. If you want to encrypt a folder with PGP, you may want to usethe
- following hooks:
-
- open-hook \\.pgp$ "pgp -f < %f > %t"
- close-hook \\.pgp$ "pgp -fe YourPgpUserIdOrKeyId < %t > %f"
-
- Please note, that PGP does not support appending to an encrypted folder,
- so there is no append-hook defined.
-
- Note: the folder is temporary stored decrypted in the /tmp directory,
- where it can be read by your system administrator. So thinkabout the
- security aspects of this.
-
-Chapter 5. Mutt-ng's MIME Support
-
- Table of Contents
-
- 1. Using MIME in Mutt
-
- 1.1. Viewing MIME messages in the pager
-
- 1.2. The Attachment Menu
-
- 1.3. The Compose Menu
-
- 2. MIME Type configuration with mime.types
-
- 3. MIME Viewer configuration with mailcap
-
- 3.1. The Basics of the mailcap file
-
- 3.2. Secure use of mailcap
-
- 3.3. Advanced mailcap Usage
-
- 3.4. Example mailcap files
-
- 4. MIME Autoview
-
- 5. MIME Multipart/Alternative
-
- 6. MIME Lookup
-
- Quite a bit of effort has been made to make Mutt-ng the premier text-mode
- MIME MUA. Every effort has been made to provide the functionality that the
- discerning MIME user requires, and the conformance to the standards
- wherever possible. When configuring Mutt-ng for MIME, there are two
- extratypes of configuration files which Mutt-ng uses. One is the
- mime.types file, which contains the mapping of file extensions to IANA
- MIME types. The other is the mailcap file, which specifies the external
- commands to use for handling specific MIME types.
-
-1. Using MIME in Mutt
-
- There are three areas/menus in Mutt-ng which deal with MIME, they are the
- pager (while viewing a message), the attachment menu and the compose menu.
-
- 1.1. Viewing MIME messages in the pager
-
- When you select a message from the index and view it in the pager, Mutt
- decodes the message to a text representation. Mutt-ng internally supports
- a number of MIME types, including text/plain, text/enriched,
- message/rfc822, and message/news .In addition, the export controlled
- version of Mutt-ng recognizes a variety of PGP MIME types, including
- PGP/MIME and application/pgp.
-
- Mutt-ng will denote attachments with a couple lines describing them. These
- lines are of the form:
-
- [-- Attachment #1: Description --]
- [-- Type: text/plain, Encoding: 7bit, Size: 10000 --]
-
- Where the Description is the description or filename given for the
- attachment, and the Encoding is one of
- 7bit/8bit/quoted-printable/base64/binary.
-
- If Mutt-ng cannot deal with a MIME type, it will display a message like:
-
- [-- image/gif is unsupported (use 'v' to view this part) --]
-
- 1.2. The Attachment Menu
-
- The default binding for view-attachments is `v', which displays the
- attachment menu for a message. The attachment menu displays a list ofthe
- attachments in a message. From the attachment menu, you can save, print,
- pipe, delete, and view attachments. You can apply these operations to a
- group of attachments at once, by tagging the attachments and by using the
- ``tag-prefix'' operator. You can also reply to the current message from
- this menu, and only the current attachment (or the attachments tagged)
- will be quoted in your reply. You can view attachments as text, or view
- them using the mailcap viewer definition.
-
- Finally, you can apply the usual message-related functions (like
- resend-message, and the reply and forward functions) to attachments of
- type message/rfc822.
-
- See the help on the attachment menu for more information.
-
- 1.3. The Compose Menu
-
- The compose menu is the menu you see before you send a message. It allows
- you to edit the recipient list, the subject, and other aspects of your
- message. It also contains a list of the attachments of your message,
- including the main body. From this menu, you can print, copy, filter,
- pipe, edit, compose, review, and rename an attachment or a list of tagged
- attachments. You can also modifying the attachment information, notably
- the type, encoding and description.
-
- Attachments appear as follows:
-
- 1 [text/plain, 7bit, 1K] /tmp/mutt-euler-8082-0 <no description>
- 2 [applica/x-gunzip, base64, 422K] ~/src/mutt-0.85.tar.gz <no description>
-
- The '-' denotes that Mutt-ng will delete the file after sending (or
- postponing, or canceling) the message. It can be toggled with the
- toggle-unlink command (default: u). The next field is the MIME
- content-type, and can be changed with the edit-type command (default: ^T).
- The next field is the encoding for the attachment, which allows a binary
- message to be encoded for transmission on 7bit links. It can be changed
- with the edit-encoding command (default: ^E). The next field is the size
- of the attachment, rounded to kilobytes or megabytes. The next field is
- the filename, which can be changed with the rename-file command (default:
- R). The final field is the description of the attachment, and can be
- changed with the edit-description command (default: d).
-
-2. MIME Type configuration with mime.types
-
- When you add an attachment to your mail message, Mutt-ng searches your
- personal mime.types file at ${HOME}/.mime.types ,and then the system
- mime.types file at /usr/local/share/mutt/mime.types or /etc/mime.types
-
- The mime.types file consist of lines containing a MIME type and a space
- separated list of extensions. For example:
-
- application/postscript ps eps
- application/pgp pgp
- audio/x-aiff aif aifc aiff
-
- A sample mime.types file comes with the Mutt-ng distribution, and should
- contain most of the MIME types you are likely to use.
-
- If Mutt-ng can not determine the mime type by the extension of the file
- you attach, it will look at the file. If the file is free of binary
- information, Mutt-ng will assume that the file is plain text, and mark it
- as text/plain. If the file contains binary information, then Mutt-ng will
- mark it as application/octet-stream. You can change the MIME type that
- Mutt-ng assigns to an attachment by using the edit-type command from the
- compose menu (default: ^T). The MIME type is actually a major mime type
- followed by the sub-type, separated by a '/'. 6 major types: application,
- text, image, video, audio, and model have been approved after various
- internet discussions. Mutt-ng recognises all of these if the appropriate
- entry is found in the mime.types file. It also recognises other major mime
- types, such as the chemical type that is widely used in the molecular
- modelling community to pass molecular data in various forms to various
- molecular viewers. Non-recognised mime types should only be used if the
- recipient of the message is likely to be expecting such attachments.
-
-3. MIME Viewer configuration with mailcap
-
- Mutt-ng supports RFC 1524 MIME Configuration, in particular the Unix
- specific format specified in Appendix A of RFC 1524. This file format is
- commonly referred to as the mailcap format. Many MIME compliant programs
- utilize the mailcap format, allowing you to specify handling for all MIME
- types in one place for all programs. Programs known to use this format
- include Netscape, XMosaic, lynx and metamail.
-
- In order to handle various MIME types that Mutt-ng can not handle
- internally, Mutt-ng parses a series of external configuration files to
- find an external handler. The default search string for these files is a
- colon delimited list set to
-
- ${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap
-
- where $HOME is your home directory.
-
- In particular, the metamail distribution will install a mailcap file,
- usually as /usr/local/etc/mailcap, which contains some baseline entries.
-
- 3.1. The Basics of the mailcap file
-
- A mailcap file consists of a series of lines which are comments, blank, or
- definitions.
-
- A comment line consists of a # character followed by anything you want.
-
- A blank line is blank.
-
- A definition line consists of a content type, a view command, and any
- number of optional fields. Each field of a definition line is dividedby a
- semicolon ';' character.
-
- The content type is specified in the MIME standard type/subtype method.
- For example, text/plain, text/html, image/gif, etc. In addition, the
- mailcap format includes two formats for wildcards, one using the special
- '*' subtype, the other is the implicit wild, where you only include the
- major type. For example, image/* ,or video, will match all image types and
- video types, respectively.
-
- The view command is a Unix command for viewing the type specified. There
- are two different types of commands supported. The default is to send the
- body of the MIME message to the command on stdin. You can change this
- behavior by using %s as a parameter to your view command. This will cause
- Mutt-ng to save the body of the MIME message to a temporary file, and then
- call the view command with the %s replaced by the name of the temporary
- file. In both cases, Mutt-ng will turn over the terminal to the view
- program until the program quits, at which time Mutt will remove the
- temporary file if it exists.
-
- So, in the simplest form, you can send a text/plain message to the
- external pager more on stdin:
-
- text/plain; more
-
- Or, you could send the message as a file:
-
- text/plain; more %s
-
- Perhaps you would like to use lynx to interactively view a text/html
- message:
-
- text/html; lynx %s
-
- In this case, lynx does not support viewing a file from stdin, so you must
- use the %s syntax. Note: Some older versions of lynx contain a bug where
- they will check the mailcap file for a viewer for text/html. They will
- find the line which calls lynx, and run it. This causes lynx to
- continuously spawn itself to view the object.
-
- On the other hand, maybe you don't want to use lynx interactively, youjust
- want to have it convert the text/html to text/plain, then you can use:
-
- text/html; lynx -dump %s | more
-
- Perhaps you wish to use lynx to view text/html files, and a pager on all
- other text formats, then you would use the following:
-
- text/html; lynx %s
- text/*; more
-
- This is the simplest form of a mailcap file.
-
- 3.2. Secure use of mailcap
-
- The interpretation of shell meta-characters embedded in MIME parameters
- can lead to security problems in general. Mutt-ng tries to quote
- parameters in expansion of %s syntaxes properly, and avoids risky
- characters by substituting them, see the mailcap-sanitize variable.
-
- Although mutt's procedures to invoke programs with mailcap seem to be
- safe, there are other applications parsing mailcap, maybe taking less care
- of it. Therefore you should pay attention to the following rules:
-
- Keep the %-expandos away from shell quoting. Don't quote them with single
- or double quotes. Mutt-ng does this for you, the right way, as should any
- other program which interprets mailcap. Don't put them into backtick
- expansions. Be highly careful with eval statements, and avoid them if
- possible at all. Trying to fix broken behaviour with quotes introduces new
- leaks - there is no alternative to correct quoting in the first place.
-
- If you have to use the %-expandos' values in context where you need
- quoting or backtick expansions, put that value into a shell variable and
- reference the shell variable where necessary, as in the following example
- (using $charset inside the backtick expansion is safe, since it is not
- itself subject to any further expansion):
-
- text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
- && test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1
-
- 3.3. Advanced mailcap Usage
-
- 3.3.1. Optional Fields
-
- In addition to the required content-type and view command fields, you can
- add semi-colon ';' separated fields to set flags and other options.
- Mutt-ng recognizes the following optional fields:
-
- copiousoutput
-
- This flag tells Mutt-ng that the command passes possibly large
- amounts of text on stdout. This causes Mutt-ng to invoke a pager
- (either the internal pager or the external pager defined by the
- pager variable) on the output of the view command. Without this
- flag, Mutt-ng assumes that the command is interactive. One could
- use this to replace the pipe to more in the lynx -dump example in
- the Basic section:
-
- text/html; lynx -dump %s ; copiousoutput
-
- This will cause lynx to format the text/html output as text/plain
- and Mutt-ng will use your standard pager to display the results.
-
- needsterminal
-
- Mutt-ng uses this flag when viewing attachments with auto-view ,in
- order to decide whether it should honor the setting of the
- wait-key variable or not. When an attachment is viewed using an
- interactive program, and the corresponding mailcap entry has a
- needsterminal flag, Mutt-ng will use wait-key and the exit
- statusof the program to decide if it will ask you to press a key
- after the external program has exited. In all other situations it
- will not prompt you for a key.
-
- compose=<command>
-
- This flag specifies the command to use to create a new attachment
- of a specific MIME type. Mutt-ng supports this from the compose
- menu.
-
- composetyped=<command>
-
- This flag specifies the command to use to create a new attachment
- of a specific MIME type. This command differs from the compose
- command in that mutt will expect standard MIME headers on the
- data. This can be used to specify parameters, filename,
- description, etc. for a new attachment. Mutt-ng supports this from
- the compose menu.
-
- print=<command>
-
- This flag specifies the command to use to print a specific MIME
- type. Mutt-ng supports this from the attachment and compose menus.
-
- edit=<command>
-
- This flag specifies the command to use to edit a specific MIME
- type. Mutt-ng supports this from the compose menu, and also uses
- it to compose new attachments. Mutt-ng will default to the defined
- editor for text attachments.
-
- nametemplate=<template>
-
- This field specifies the format for the file denoted by %s in the
- command fields. Certain programs will require a certain file
- extension, for instance, to correctly view a file. For instance,
- lynx will only interpret a file as text/html if the file ends in
- .html. So, you would specify lynx as a text/html viewer with a
- line in the mailcap file like:
-
- text/html; lynx %s; nametemplate=%s.html
-
- test=<command>
-
- This field specifies a command to run to test whether this mailcap
- entry should be used. The command is defined with the command
- expansion rules defined in the next section. If the command
- returns 0, then the test passed, and Mutt-ng uses this entry. If
- the command returns non-zero, then the test failed, and Mutt-ng
- continues searching for the right entry. Note: the content-type
- must match before Mutt-ng performs the test. For example:
-
- text/html; netscape -remote 'openURL(%s)' ; test=RunningX
- text/html; lynx %s
-
- In this example, Mutt-ng will run the program RunningX which will
- return 0 if the X Window manager is running, and non-zero if it
- isn't. If RunningX returns 0, then Mutt-ng will call netscape to
- display the text/html object. If RunningX doesn't return 0, then
- Mutt-ng will go on to the next entry and use lynx to display the
- text/html object.
-
- 3.3.2. Search Order
-
- When searching for an entry in the mailcap file, Mutt-ng will search for
- the most useful entry for its purpose. For instance, if you are attempting
- to print an image/gif, and you have the following entries in your mailcap
- file, Mutt-ng will search for an entry with the print command:
-
- image/*; xv %s
- image/gif; ; print= anytopnm %s | pnmtops | lpr; \
- nametemplate=%s.gif
-
- Mutt-ng will skip the image/* entry and use the image/gif entry with the
- print command.
-
- In addition, you can use this with auto-view to denote two commands for
- viewing an attachment, one to be viewed automatically, the other to be
- viewed interactively from the attachment menu. In addition, you can then
- use the test feature to determine which viewer to use interactively
- depending on your environment.
-
- text/html; netscape -remote 'openURL(%s)' ; test=RunningX
- text/html; lynx %s; nametemplate=%s.html
- text/html; lynx -dump %s; nametemplate=%s.html; copiousoutput
-
- For auto-view, Mutt-ng will choose the third entry because of the
- copiousoutput tag. For interactive viewing, Mutt will run the program
- RunningX to determine if it should use the first entry. If the program
- returns non-zero, Mutt-ng will use the second entry for interactive
- viewing.
-
- 3.3.3. Command Expansion
-
- The various commands defined in the mailcap files are passed to the
- /bin/sh shell using the system() function. Before the command is passed to
- /bin/sh -c, it is parsed to expand various special parameters with
- information from Mutt-ng. The keywords Mutt-ng expands are:
-
- %s
-
- As seen in the basic mailcap section, this variable is expanded to
- a filename specified by the calling program. This file contains
- the body of the message to view/print/edit or where the composing
- program should place the results of composition. In addition, the
- use of this keyword causes Mutt-ng to not pass the body of the
- message to the view/print/edit program on stdin.
-
- %t
-
- Mutt-ng will expand %t to the text representation of the content
- type of the message in the same form as the first parameter of the
- mailcap definition line, ie text/html or image/gif.
-
- %{<parameter>}
-
- Mutt-ng will expand this to the value of the specified parameter
- from the Content-Type: line of the mail message. For instance, if
- Your mail message contains:
-
- Content-Type: text/plain; charset=iso-8859-1
-
- then Mutt-ng will expand %{charset} to iso-8859-1. The default
- metamail mailcap file uses this feature to test the charset to
- spawn an xterm using the right charset to view the message.
-
- \%
-
- This will be replaced by a %
-
- Mutt-ng does not currently support the %F and %n keywords specified in RFC
- 1524. The main purpose of these parameters is for multipart messages,
- which is handled internally by Mutt-ng.
-
- 3.4. Example mailcap files
-
- This mailcap file is fairly simple and standard:
-
- >
- # I'm always running X :)
- video/*; xanim %s > /dev/null
- image/*; xv %s > /dev/null
-
- # I'm always running netscape (if my computer had more memory, maybe)
- text/html; netscape -remote 'openURL(%s)'
-
- This mailcap file shows quite a number of examples:
-
- # Use xanim to view all videos Xanim produces a header on startup,
- # send that to /dev/null so I don't see it
- video/*; xanim %s > /dev/null
-
- # Send html to a running netscape by remote
- text/html; netscape -remote 'openURL(%s)'; test=RunningNetscape
- # If I'm not running netscape but I am running X, start netscape on the
- # object
- text/html; netscape %s; test=RunningX
-
- # Else use lynx to view it as text
- text/html; lynx %s
-
- # This version would convert the text/html to text/plain
- text/html; lynx -dump %s; copiousoutput
-
- # I use enscript to print text in two columns to a page
- text/*; more %s; print=enscript -2Gr %s
-
- # Netscape adds a flag to tell itself to view jpegs internally
- image/jpeg;xv %s; x-mozilla-flags=internal
-
- # Use xv to view images if I'm running X
- # In addition, this uses the \ to extend the line and set my editor
- # for images
- image/*;xv %s; test=RunningX; edit=xpaint %s
-
- # Convert images to text using the netpbm tools
- image/*; (anytopnm %s | pnmscale -xysize 80 46 | ppmtopgm | pgmtopbm |
- pbmtoascii -1x2 ) 2>&1 ; copiousoutput
-
- # Send excel spreadsheets to my NT box
- application/ms-excel; open.pl %s
-
-4. MIME Autoview
-
- In addition to explicitly telling Mutt-ng to view an attachment with
- theMIME viewer defined in the mailcap file, Mutt-ng has support for
- automatically viewing MIME attachments while in the pager.
-
- To work, you must define a viewer in the mailcap file which uses the
- copiousoutput option to denote that it is non-interactive. Usually, you
- also use the entry to convert the attachment to a text representation
- which you can view in the pager.
-
- You then use the auto_view muttrc command to list the content-types that
- you wish to view automatically.
-
- For instance, if you set auto_view to:
-
- auto_view text/html application/x-gunzip application/postscript
- image/gif application/x-tar-gz
-
- Mutt-ng could use the following mailcap entries to automatically view
- attachments of these types.
-
- text/html; lynx -dump %s; copiousoutput; nametemplate=%s.html
- image/*; anytopnm %s | pnmscale -xsize 80 -ysize 50 | ppmtopgm | pgmtopbm | pbmtoascii ; copiousoutput
- application/x-gunzip; gzcat; copiousoutput
- application/x-tar-gz; gunzip -c %s | tar -tf - ; copiousoutput
- application/postscript; ps2ascii %s; copiousoutput
-
- ``unauto_view'' can be used to remove previous entries from the autoview
- list. This can be used with message-hook to autoview messages based on
- size, etc. ``unauto_view *'' will remove all previous entries.
-
-5. MIME Multipart/Alternative
-
- Mutt-ng has some heuristics for determining which attachment of a
- multipart/alternative type to display. First, mutt will check the
- alternative_order list to determine if one of the available typesis
- preferred. The alternative_order list consists of a number of MIME types
- in order, including support for implicit and explicit wildcards, for
- example:
-
- alternative_order text/enriched text/plain text
- application/postscript image/*
-
- Next, mutt will check if any of the types have a defined auto-view, and
- use that. Failing that, Mutt-ng will look for any text type. As a last
- attempt, mutt willlook for any type it knows how to handle.
-
- To remove a MIME type from the alternative_order list, use the
- unalternative_order command.
-
-6. MIME Lookup
-
- Mutt-ng's mime_lookup list specifies a list of mime-types that should not
- be treated according to their mailcap entry. This option is designed
- todeal with binary types such as application/octet-stream. When an
- attachment's mime-type is listed in mime_lookup, then the extension of the
- filename will be compared to the list of extensions in the mime.types
- file. The mime-type associated with this extension will then be used to
- process the attachment according to the rules in the mailcap file and
- according to any other configuration options (such as auto_view)
- specified. Common usage would be:
-
- mime_lookup application/octet-stream application/X-Lotus-Manuscript
-
- In addition, the unmime_lookup command may be used to disable this feature
- for any particular mime-type if it had been set, for example, in a global
- muttrc.
-
-Chapter 6. Security Considerations
-
- Table of Contents
-
- 1. Passwords
-
- 2. Temporary Files
-
- 3. Information Leaks
-
- 3.1. Message-ID: headers
-
- 3.2. mailto:-style links
-
- 4. External applications
-
- 4.1. mailcap
-
- 4.2. Other
-
- First of all, mutt-ng contains no security holes included by intention but
- may contain unknown security holes. As a consequence, please run mutt-ng
- only with as few permissions as possible.
-
- Please do not run mutt-ng as the super user.
-
- When configuring mutt-ng, there're some points to note about secure
- setups.
-
- In practice, mutt-ng can be easily made as vulnerable as even the most
- insecure mail user agents (in their default configuration) just by
- changing mutt-ng's configuration files: it then can execute arbitrary
- programs and scripts attached to messages, send out private data on its
- own, etc. Although this is not believed to the common type of setup,
- please read this chapter carefully.
-
-1. Passwords
-
- Although mutt-ng can be told the various passwords for accounts, please
- never store passwords in configuration files. Besides the fact that the
- system's operator can always read them, you could forget to replace the
- actual password with asterisks when reporting a bug or asking for help
- via, for example, a mailing list so that your mail including your password
- could be archived by internet search engines, etc. Please never store
- passwords on disk.
-
-2. Temporary Files
-
- Mutt-ng uses many temporary files for viewing messages, verifying digital
- signatures, etc. The umask variable can be used to change the default
- permissions of these files. Please only change it if you really know what
- you are doing. Also, a different location for these files may be desired
- which can be changed via the tmpdir variable.
-
-3. Information Leaks
-
- 3.1. Message-ID: headers
-
- In the default configuration, mutt-ng will leak some information to the
- outside world when sending messages: the generation of Message-ID: headers
- includes a step counter which is increased (and rotated) with every
- message sent. If you'd like to hide this information probably telling
- others how many mail you sent in which time, you at least need to remove
- the %P expando from the default setting of the msgid-format variable.
- Please make sure that you really know how local parts of these Message-ID:
- headers are composed.
-
- 3.2. mailto:-style links
-
- As mutt-ng be can be set up to be the mail client to handle mailto: style
- links in websites, there're security considerations, too. To keep the old
- behavior by default, mutt-ng will be strict in interpreting them which
- means that arbitrary header fields can be embedded in these links which
- could override existing header fields or attach arbitrary files. This may
- be problematic if the edit-headers variable is unset, i.e. the user
- doesn't want to see header fields while editing the message.
-
- For example, following a link like
-
- mailto:joe@host?Attach=~/.gnupg/secring.gpg
-
- will send out the user's private gnupg keyring to joe@host if the user
- doesn't follow the information on screen carefully enough.
-
- When unsetting the strict-mailto variable, mutt-ng will
-
- o be less strict when interpreting these links by prepending a X-Mailto-
- string to all header fields embedded in such a link and
-
- o turn on the edit-headers variable by force to let the user see all the
- headers (because they still may leak information.)
-
-4. External applications
-
- Mutt-ng in many places has to rely on external applications or for
- convenience supports mechanisms involving external applications.
-
- 4.1. mailcap
-
- One of these is the mailcap mechanism as defined by RfC 1524. Mutt-ng can
- be set up to automatically execute any given utility as listed in one of
- the mailcap files (see the mailcap-path variable for details.)
-
- These utilities may have a variety of security vulnerabilities, including
- overwriting of arbitrary files, information leaks or other exploitable
- bugs. These vulnerabilities may go unnoticed by the user, especially when
- they are called automatically (and without interactive prompting) from the
- mailcap file(s). When using mutt-ng's autoview mechanism in combination
- with mailcap files, please be sure to...
-
- o manually select trustworth applications with a reasonable calling
- sequence
-
- o periodically check the contents of mailcap files, especially after
- software installations or upgrades
-
- o keep the software packages referenced in the mailcap file up to date
-
- o leave the mailcap-sanitize variable in its default state to restrict
- mailcap expandos to a safe set of characters
-
- 4.2. Other
-
- Besides the mailcap mechanism, mutt-ng uses a number of other external
- utilities for operation.
-
- The same security considerations apply for these as for tools involved via
- mailcap (for example, mutt-ng is vulnerable to Denial of Service Attacks
- with compressed folders support if the uncompressed mailbox is too large
- for the disk it is saved to.)
-
- As already noted, most of these problems are not built in but caused by
- wrong configuration, so please check your configuration.
-
-Chapter 7. Reference
-
- Table of Contents
-
- 1. Command line options
-
- 2. Patterns
-
- 3. Configuration Commands
-
- 4. Configuration variables
-
- 5. Functions
-
- 5.1. generic
-
- 5.2. index
-
- 5.3. pager
-
- 5.4. alias
-
- 5.5. query
-
- 5.6. attach
-
- 5.7. compose
-
- 5.8. postpone
-
- 5.9. browser
-
- 5.10. pgp
-
- 5.11. editor
-
-1. Command line options
-
- Running mutt with no arguments will make Mutt-ng attempt to read your
- spool mailbox. However, it is possible to read other mailboxes and to send
- messages from the command line as well.
-
- Table 7.1. Mutt-NG Command Line Options
-
- +------------------------------------------------------------------------+
- | Option | Description |
- |--------+---------------------------------------------------------------|
- | -A | expand an alias |
- |--------+---------------------------------------------------------------|
- | -a | attach a file to a message |
- |--------+---------------------------------------------------------------|
- | -b | specify a blind carbon-copy (BCC) address |
- |--------+---------------------------------------------------------------|
- | -c | specify a carbon-copy (Cc) address |
- |--------+---------------------------------------------------------------|
- | -e | specify a config command to be run after initialization files |
- | | are read |
- |--------+---------------------------------------------------------------|
- | -f | specify a mailbox to load |
- |--------+---------------------------------------------------------------|
- | -F | specify an alternate file to read initialization commands |
- |--------+---------------------------------------------------------------|
- | -h | print help on command line options |
- |--------+---------------------------------------------------------------|
- | -H | specify a draft file from which to read a header and body |
- |--------+---------------------------------------------------------------|
- | -i | specify a file to include in a message composition |
- |--------+---------------------------------------------------------------|
- | -m | specify a default mailbox type |
- |--------+---------------------------------------------------------------|
- | -n | do not read the system Muttngrc |
- |--------+---------------------------------------------------------------|
- | -p | recall a postponed message |
- |--------+---------------------------------------------------------------|
- | -Q | query a configuration variable |
- |--------+---------------------------------------------------------------|
- | -R | open mailbox in read-only mode |
- |--------+---------------------------------------------------------------|
- | -s | specify a subject (enclose in quotes if it contains spaces) |
- |--------+---------------------------------------------------------------|
- | -t | dump the value of all variables to stdout |
- |--------+---------------------------------------------------------------|
- | -T | dump the value of all changed variables to stdout |
- |--------+---------------------------------------------------------------|
- | -v | show version number and compile-time definitions |
- |--------+---------------------------------------------------------------|
- | -x | simulate the mailx(1) compose mode |
- |--------+---------------------------------------------------------------|
- | -y | show a menu containing the files specified by the mailboxes |
- | | command |
- |--------+---------------------------------------------------------------|
- | -z | exit immediately if there are no messages in the mailbox |
- |--------+---------------------------------------------------------------|
- | -Z | open the first folder with new message,exit immediately if |
- | | none |
- +------------------------------------------------------------------------+
-
- To read messages in a mailbox
-
- mutt [ -nz ] [ -F muttrc ] [ -m type ] [ -f mailbox ]
-
- To compose a new message
-
- mutt [ -n ] [ -F muttrc ] [ -a file ] [ -c address ] [ -i filename ] [ -s
- subject ] address [ address ... ]
-
- Mutt-ng also supports a ``batch'' mode to send prepared messages. Simply
- redirect input from the file you wish to send. For example,
-
- mutt -s "data set for run #2" professor@bigschool.edu < ˜/run2.dat
-
- This command will send a message to ``professor@bigschool.edu'' with a
- subject of ``data set for run #2''. In the body of the message will be the
- contents of the file ``˜/run2.dat''.
-
-2. Patterns
-
- Table 7.2. Patterns
-
- +------------------------------------------------------------------------+
- | Pattern Modifier | Argument | Description |
- |------------------+-------------+---------------------------------------|
- | ~A | | all messages |
- |------------------+-------------+---------------------------------------|
- | ~b | EXPR | messages which contain EXPR in the |
- | | | message body |
- |------------------+-------------+---------------------------------------|
- | ~B | EXPR | messages which contain EXPR in the |
- | | | whole message |
- |------------------+-------------+---------------------------------------|
- | ~c | EXPR | messages carbon-copied to EXPR |
- |------------------+-------------+---------------------------------------|
- | ~C | EXPR | message is either to: or cc: EXPR |
- |------------------+-------------+---------------------------------------|
- | ~D | | deleted messages |
- |------------------+-------------+---------------------------------------|
- | ~d | [MIN]-[MAX] | messages with ``date-sent'' in a Date |
- | | | range |
- |------------------+-------------+---------------------------------------|
- | ~E | | expired messages |
- |------------------+-------------+---------------------------------------|
- | ~e | EXPR | message which contains EXPR in the |
- | | | ``Sender'' field |
- |------------------+-------------+---------------------------------------|
- | ~F | | flagged messages |
- |------------------+-------------+---------------------------------------|
- | ~f | EXPR | messages originating from EXPR |
- |------------------+-------------+---------------------------------------|
- | ~g | | cryptographically signed messages |
- |------------------+-------------+---------------------------------------|
- | ~G | | cryptographically encrypted messages |
- |------------------+-------------+---------------------------------------|
- | ~H | EXPR | messages with a spam attribute |
- | | | matching EXPR |
- |------------------+-------------+---------------------------------------|
- | ~h | EXPR | messages which contain EXPR in the |
- | | | message header |
- |------------------+-------------+---------------------------------------|
- | ~k | | message contains PGP key material |
- |------------------+-------------+---------------------------------------|
- | ~i | EXPR | message which match ID in the |
- | | | ``Message-ID'' field |
- |------------------+-------------+---------------------------------------|
- | ~L | EXPR | message is either originated or |
- | | | received by EXPR |
- |------------------+-------------+---------------------------------------|
- | ~l | | message is addressed to a known |
- | | | mailing list |
- |------------------+-------------+---------------------------------------|
- | ~m | [MIN]-[MAX] | message in the range MIN to MAX *) |
- |------------------+-------------+---------------------------------------|
- | ~M | | multipart messages |
- |------------------+-------------+---------------------------------------|
- | ~n | [MIN]-[MAX] | messages with a score in the range |
- | | | MIN to MAX *) |
- |------------------+-------------+---------------------------------------|
- | ~N | | new messages |
- |------------------+-------------+---------------------------------------|
- | ~O | | old messages |
- |------------------+-------------+---------------------------------------|
- | ~p | | message is addressed to you (consults |
- | | | alternates) |
- |------------------+-------------+---------------------------------------|
- | ~P | | message is from you (consults |
- | | | alternates) |
- |------------------+-------------+---------------------------------------|
- | ~Q | | messages which have been replied to |
- |------------------+-------------+---------------------------------------|
- | ~R | | read messages |
- |------------------+-------------+---------------------------------------|
- | ~r | [MIN]-[MAX] | messages with ``date-received'' in a |
- | | | Date range |
- |------------------+-------------+---------------------------------------|
- | ~S | | superseded messages |
- |------------------+-------------+---------------------------------------|
- | ~s | EXPR | messages having EXPR in the |
- | | | ``Subject'' field. |
- |------------------+-------------+---------------------------------------|
- | ~T | | tagged messages |
- |------------------+-------------+---------------------------------------|
- | ~t | EXPR | messages addressed to EXPR |
- |------------------+-------------+---------------------------------------|
- | ~U | | unread messages |
- |------------------+-------------+---------------------------------------|
- | ~u | | message is addressed to a subscribed |
- | | | mailing list |
- |------------------+-------------+---------------------------------------|
- | ~v | | message is part of a collapsed |
- | | | thread. |
- |------------------+-------------+---------------------------------------|
- | ~V | | cryptographically verified messages |
- |------------------+-------------+---------------------------------------|
- | | | messages which contain EXPR in the |
- | ~w | EXPR | `Newsgroups' field (if compiled with |
- | | | NNTP support) |
- |------------------+-------------+---------------------------------------|
- | ~x | EXPR | messages which contain EXPR in the |
- | | | `References' field |
- |------------------+-------------+---------------------------------------|
- | ~y | EXPR | messages which contain EXPR in the |
- | | | `X-Label' field |
- |------------------+-------------+---------------------------------------|
- | ~z | [MIN]-[MAX] | messages with a size in the range MIN |
- | | | to MAX *) |
- |------------------+-------------+---------------------------------------|
- | ~= | | duplicated messages (see |
- | | | $duplicate_threads) |
- |------------------+-------------+---------------------------------------|
- | ~$ | | unreferenced messages (requires |
- | | | threaded view) |
- |------------------+-------------+---------------------------------------|
- | | | ``From'' contains realname and |
- | ~* | | (syntactically) valid address |
- | | | (excluded are addresses matching |
- | | | against alternates or any alias) |
- +------------------------------------------------------------------------+
-
- Where EXPR are regexp. Special attention has to be made when using regular
- expressions inside of patterns. Specifically, Mutt-ng's parser for these
- patterns will strip one level of backslash (\), which is normally used for
- quoting. If it is your intention to use a backslash in the regular
- expression, you will need to use two backslashes instead (\\).
-
- *) The forms <[MAX], >[MIN] , [MIN]- and -[MAX] are allowed, too.
-
-3. Configuration Commands
-
- The following are the commands understood by mutt.
-
- o account-hook pattern command
-
- o alias key address [ , address ,... ]
-
- o alias [ * | key ... ]
-
- o alternates regexp [ regexp ... ]
-
- o alternates [ * | regexp ... ]
-
- o alternative-order mimetype [ mimetype ... ]
-
- o alternative-order mimetype [ mimetype ... ]
-
- o append-hook regexp command
-
- o auto-view mimetype [ mimetype ... ]
-
- o auto-view mimetype [ mimetype ... ]
-
- o bind map key function
-
- o charset-hook alias charset
-
- o close-hook regexp command
-
- o color object foreground background [ regexp ]
-
- o color index pattern [ pattern ... ]
-
- o exec function [ function ... ]
-
- o fcc-hook pattern mailbox
-
- o fcc-save-hook pattern mailbox
-
- o folder-hook pattern command
-
- o hdr-order header [ header ... ]
-
- o hdr-order header [ header ... ]
-
- o charset-hook charset local-charset
-
- o ignore pattern [ pattern ... ]
-
- o ignore pattern [ pattern ... ]
-
- o lists regexp [ regexp ... ]
-
- o lists regexp [ regexp ... ]
-
- o macro menu key sequence [ description ]
-
- o mailboxes filename [ filename ... ]
-
- o mbox-hook pattern mailbox
-
- o message-hook pattern command
-
- o mime-lookup mimetype [ mimetype ... ]
-
- o mime-lookup mimetype [ mimetype ... ]
-
- o color object attribute [ regexp ]
-
- o color index pattern [ pattern ... ]
-
- o my-hdr string
-
- o my-hdr field [ field ... ]
-
- o open-hook regexp command
-
- o crypt-hook pattern key-id
-
- o push string
-
- o set variable [variable ... ]
-
- o save-hook regexp filename
-
- o score-command pattern value
-
- o score-command pattern [ pattern ... ]
-
- o send-hook regexp command
-
- o reply-hook regexp command
-
- o set [no|inv]variable[=value ] [ variable ... ]
-
- o set variable [variable ... ]
-
- o source filename
-
- o spam pattern format
-
- o spam pattern
-
- o lists regexp [ regexp ... ]
-
- o lists regexp [ regexp ... ]
-
- o set variable [variable ... ]
-
- o unhook hook-type
-
-4. Configuration variables
-
- The following list contains all variables which, in the process of
- providing more consistency, have been renamed and are partially even
- removed already. The left column contains the old synonym variables, the
- right column the full/new name:
-
- Table 7.3. Obsolete Variables
-
- +----------------------------------------------------+
- | Old Name | New Name |
- |------------------------+---------------------------|
- | edit_hdrs | edit_headers |
- |------------------------+---------------------------|
- | forw_decode | forward_decode |
- |------------------------+---------------------------|
- | forw_format | forward_format |
- |------------------------+---------------------------|
- | forw_quote | forward_quote |
- |------------------------+---------------------------|
- | hdr_format | index_format |
- |------------------------+---------------------------|
- | indent_str | indent_string |
- |------------------------+---------------------------|
- | mime_fwd | mime_forward |
- |------------------------+---------------------------|
- | msg_format | message_format |
- |------------------------+---------------------------|
- | pgp_autosign | crypt_autosign |
- |------------------------+---------------------------|
- | pgp_autoencrypt | crypt_autoencrypt |
- |------------------------+---------------------------|
- | pgp_replyencrypt | crypt_replyencrypt |
- |------------------------+---------------------------|
- | pgp_replysign | crypt_replysign |
- |------------------------+---------------------------|
- | pgp_replysignencrypted | crypt_replysignencrypted |
- |------------------------+---------------------------|
- | pgp_verify_sig | crypt_verify_sig |
- |------------------------+---------------------------|
- | pgp_create_traditional | pgp_autoinline |
- |------------------------+---------------------------|
- | pgp_auto_traditional | pgp_replyinline |
- |------------------------+---------------------------|
- | forw_decrypt | forward_decrypt |
- |------------------------+---------------------------|
- | smime_sign_as | smime_default_key |
- |------------------------+---------------------------|
- | post_indent_str | post_indent_string |
- |------------------------+---------------------------|
- | print_cmd | print_command |
- |------------------------+---------------------------|
- | shorten_hierarchy | sidebar_shorten_hierarchy |
- |------------------------+---------------------------|
- | ask_followup_to | nntp_ask_followup_to |
- |------------------------+---------------------------|
- | ask_x_comment_to | nntp_ask_x_comment_to |
- |------------------------+---------------------------|
- | catchup_newsgroup | nntp_catchup |
- |------------------------+---------------------------|
- | followup_to_poster | nntp_followup_to_poster |
- |------------------------+---------------------------|
- | group_index_format | nntp_group_index_format |
- |------------------------+---------------------------|
- | inews | nntp_inews |
- |------------------------+---------------------------|
- | mime_subject | nntp_mime_subject |
- |------------------------+---------------------------|
- | news_cache_dir | nntp_cache_dir |
- |------------------------+---------------------------|
- | news_server | nntp_host |
- |------------------------+---------------------------|
- | newsrc | nntp_newsrc |
- |------------------------+---------------------------|
- | nntp_poll | nntp_mail_check |
- |------------------------+---------------------------|
- | pop_checkinterval | pop_mail_check |
- |------------------------+---------------------------|
- | post_moderated | nntp_post_moderated |
- |------------------------+---------------------------|
- | save_unsubscribed | nntp_save_unsubscribed |
- |------------------------+---------------------------|
- | show_new_news | nntp_show_new_news |
- |------------------------+---------------------------|
- | show_only_unread | nntp_show_only_unread |
- |------------------------+---------------------------|
- | x_comment_to | nntp_x_comment_to |
- |------------------------+---------------------------|
- | smtp_auth_username | smtp_user |
- |------------------------+---------------------------|
- | smtp_auth_password | smtp_pass |
- |------------------------+---------------------------|
- | user_agent | agent_string |
- +----------------------------------------------------+
-
- The contrib subdirectory contains a script named update-config.pl which
- eases migration.
-
- A complete list of current variables follows.
-
-1. abort_noattach
-
- Type: quadoption
-
- Default: no
-
- This variable specifies whether to abort sending if no attachment was made
- but the content references them, i.e. the content matches the regular
- expression given in $attach_remind_regexp. If a match was found and this
- variable is set to yes, message sending will be aborted but the mail will
- be send nevertheless if set to no.
-
- This variable and $attach_remind_regexp are intended to remind the user to
- attach files if the message's text references them.
-
- See also the $attach_remind_regexp variable.
-
-2. abort_nosubject
-
- Type: quadoption
-
- Default: ask-yes
-
- If set to yes, when composing messages and no subject is given at the
- subject prompt, composition will be aborted. If set to no, composing
- messages with no subject given at the subject prompt will never be
- aborted.
-
-3. abort_unmodified
-
- Type: quadoption
-
- Default: yes
-
- If set to yes, composition will automatically abort after editing the
- message body if no changes are made to the file (this check only happens
- after the first edit of the file). When set to no, composition will never
- be aborted.
-
-4. agent_string
-
- Type: boolean
-
- Default: yes
-
- When set, Mutt-ng will add a ``User-Agent:'' header to outgoing messages,
- indicating which version of Mutt-ng was used for composing them.
-
-5. alias_file
-
- Type: path
-
- Default: "˜/.muttngrc"
-
- The default file in which to save aliases created by the ``create-alias''
- function.
-
- Note: Mutt-ng will not automatically source this file; you must explicitly
- use the `` source'' command for it to be executed.
-
-6. alias_format
-
- Type: string
-
- Default: "%4n %2f %t %-10a %r"
-
- Specifies the format of the data displayed for the ``alias'' menu. The
- following printf(3)-style sequences are available:
-
- %a
-
- alias name
-
- %f
-
- flags - currently, a "d" for an alias marked for deletion
-
- %n
-
- index number
-
- %r
-
- address which alias expands to
-
- %t
-
- character which indicates if the alias is tagged for inclusion
-
-7. allow_8bit
-
- Type: boolean
-
- Default: yes
-
- Controls whether 8-bit data is converted to 7-bit using either
- quoted-printable or base64 encoding when sending mail.
-
-8. allow_ansi
-
- Type: boolean
-
- Default: no
-
- Controls whether ANSI color codes in messages (and color tags in rich text
- messages) are to be interpreted. Messages containing these codes are rare,
- but if this option is set, their text will be colored accordingly. Note
- that this may override your color choices, and even present a security
- problem, since a message could include a line like ``[-- PGP output
- follows ..." and give it the same color as your attachment color.
-
-9. arrow_cursor
-
- Type: boolean
-
- Default: no
-
- When set, an arrow (``->'') will be used to indicate the current entry in
- menus instead of highlighting the whole line. On slow network or modem
- links this will make response faster because there is less that has to be
- redrawn on the screen when moving to the next or previous entries in the
- menu.
-
-10. ascii_chars
-
- Type: boolean
-
- Default: no
-
- If set, Mutt-ng will use plain ASCII characters when displaying thread and
- attachment trees, instead of the default ACS characters.
-
-11. askbcc
-
- Type: boolean
-
- Default: no
-
- If set, Mutt-ng will prompt you for blind-carbon-copy (Bcc) recipients
- before editing an outgoing message.
-
-12. askcc
-
- Type: boolean
-
- Default: no
-
- If set, Mutt-ng will prompt you for carbon-copy (Cc) recipients before
- editing the body of an outgoing message.
-
-13. assumed_charset
-
- Type: string
-
- Default: "us-ascii"
-
- This variable is a colon-separated list of character encoding schemes for
- messages without character encoding indication. Header field values and
- message body content without character encoding indication would be
- assumed that they are written in one of this list. By default, all the
- header fields and message body without any charset indication are assumed
- to be in us-ascii.
-
- For example, Japanese users might prefer this:
-
- set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
-
- However, only the first content is valid for the message body. This
- variable is valid only if $strict_mime is unset.
-
-14. attach_format
-
- Type: string
-
- Default: "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "
-
- This variable describes the format of the ``attachment'' menu. The
- following printf(3)-style sequences are understood:
-
- %C
-
- charset
-
- %c
-
- requires charset conversion (n or c)
-
- %D
-
- deleted flag
-
- %d
-
- description
-
- %e
-
- MIME Content-Transfer-Encoding: header field
-
- %f
-
- filename
-
- %I
-
- MIME Content-Disposition: header field (I=inline, A=attachment)
-
- %m
-
- major MIME type
-
- %M
-
- MIME subtype
-
- %n
-
- attachment number
-
- %s
-
- size
-
- %t
-
- tagged flag
-
- %T
-
- graphic tree characters
-
- %u
-
- unlink (=to delete) flag
-
- %>X
-
- right justify the rest of the string and pad with character "X"
-
- %|X
-
- pad to the end of the line with character "X"
-
-15. attach_remind_regexp
-
- Type: regular expression
-
- Default: "attach"
-
- If this variable is non-empty, muttng will scan a message's contents
- before sending for this regular expression. If it is found, it will ask
- for what to do depending on the setting of $abort_noattach.
-
- This variable and $abort_noattach are intended to remind the user to
- attach files if the message's text references them.
-
-16. attach_sep
-
- Type: string
-
- Default: "\n"
-
- The separator to add between attachments when operating (saving, printing,
- piping, etc) on a list of tagged attachments.
-
-17. attach_split
-
- Type: boolean
-
- Default: yes
-
- If this variable is unset, when operating (saving, printing, piping, etc)
- on a list of tagged attachments, Mutt-ng will concatenate the attachments
- and will operate on them as a single attachment. The ``$attach_sep''
- separator is added after each attachment. When set, Mutt-ng will operate
- on the attachments one by one.
-
-18. attribution
-
- Type: string
-
- Default: "On %d, %n wrote:"
-
- This is the string that will precede a message which has been included in
- a reply. For a full listing of defined printf(3)-like sequences see the
- section on ``$index_format''.
-
-19. auto_tag
-
- Type: boolean
-
- Default: no
-
- When set, functions in the index menu which affect a message will be
- applied to all tagged messages (if there are any). When unset, you must
- first use the ``tag-prefix'' function (default: ";") to make the next
- function apply to all tagged messages.
-
-20. autoedit
-
- Type: boolean
-
- Default: no
-
- When set along with ``$edit_headers'', Mutt-ng will skip the initial
- send-menu and allow you to immediately begin editing the body of your
- message. The send-menu may still be accessed once you have finished
- editing the body of your message.
-
- Also see ``$fast_reply''.
-
-21. beep
-
- Type: boolean
-
- Default: yes
-
- When this variable is set, Mutt-ng will beep when an error occurs.
-
-22. beep_new
-
- Type: boolean
-
- Default: no
-
- When this variable is set, Mutt-ng will beep whenever it prints a message
- notifying you of new mail. This is independent of the setting of the
- ``$beep'' variable.
-
-23. bounce
-
- Type: quadoption
-
- Default: ask-yes
-
- Controls whether you will be asked to confirm bouncing messages. If set to
- yes you don't get asked if you want to bounce a message. Setting this
- variable to no is not generally useful, and thus not recommended, because
- you are unable to bounce messages.
-
-24. bounce_delivered
-
- Type: boolean
-
- Default: yes
-
- When this variable is set, Mutt-ng will include Delivered-To: header
- fields when bouncing messages. Postfix users may wish to unset this
- variable.
-
-25. braille_friendly
-
- Type: boolean
-
- Default: no
-
- When this variable is set, mutt will place the cursor at the beginning of
- the current line in menus, even when the arrow_cursor variable is unset,
- making it easier for blind persons using Braille displays to follow these
- menus. The option is disabled by default because many visual terminals
- don't permit making the cursor invisible.
-
-26. certificate_file
-
- Type: path
-
- Default: "˜/.mutt_certificates"
-
- Availability: SSL or GNUTLS
-
- This variable specifies the file where the certificates you trust are
- saved. When an unknown certificate is encountered, you are asked if you
- accept it or not. If you accept it, the certificate can also be saved in
- this file and further connections are automatically accepted.
-
- You can also manually add CA certificates in this file. Any server
- certificate that is signed with one of these CA certificates are also
- automatically accepted.
-
- Example: set certificate_file=˜/.muttng/certificates
-
-27. charset
-
- Type: string
-
- Default: ""
-
- Character set your terminal uses to display and enter textual data.
-
-28. check_new
-
- Type: boolean
-
- Default: yes
-
- Note: this option only affects maildir and MH style mailboxes.
-
- When set, Mutt-ng will check for new mail delivered while the mailbox is
- open. Especially with MH mailboxes, this operation can take quite some
- time since it involves scanning the directory and checking each file to
- see if it has already been looked at. If it's unset, no check for new mail
- is performed while the mailbox is open.
-
-29. collapse_unread
-
- Type: boolean
-
- Default: yes
-
- When unset, Mutt-ng will not collapse a thread if it contains any unread
- messages.
-
-30. compose_format
-
- Type: string
-
- Default: "-- Mutt-ng: Compose [Approx. msg size: %l Atts: %a]%>-"
-
- Controls the format of the status line displayed in the ``compose'' menu.
- This string is similar to ``$status_format'', but has its own set of
- printf(3)-like sequences:
-
- %a
-
- total number of attachments
-
- %h
-
- local hostname
-
- %l
-
- approximate size (in bytes) of the current message
-
- %v
-
- Mutt-ng version string
-
- See the text describing the ``$status_format'' option for more information
- on how to set ``$compose_format''.
-
-31. config_charset
-
- Type: string
-
- Default: ""
-
- When defined, Mutt-ng will recode commands in rc files from this encoding.
-
-32. confirmappend
-
- Type: boolean
-
- Default: yes
-
- When set, Mutt-ng will prompt for confirmation when appending messages to
- an existing mailbox.
-
-33. confirmcreate
-
- Type: boolean
-
- Default: yes
-
- When set, Mutt-ng will prompt for confirmation when saving messages to a
- mailbox which does not yet exist before creating it.
-
-34. connect_timeout
-
- Type: number
-
- Default: 30
-
- Causes Mutt-ng to timeout a network connection (for IMAP or POP) after
- this many seconds if the connection is not able to be established. A
- negative value causes Mutt-ng to wait indefinitely for the connection to
- succeed.
-
-35. content_type
-
- Type: string
-
- Default: "text/plain"
-
- Sets the default Content-Type: header field for the body of newly composed
- messages.
-
-36. copy
-
- Type: quadoption
-
- Default: yes
-
- This variable controls whether or not copies of your outgoing messages
- will be saved for later references. Also see ``$record'', ``$save_name'',
- ``$force_name'' and ``fcc-hook''.
-
-37. crypt_autoencrypt
-
- Type: boolean
-
- Default: no
-
- Setting this variable will cause Mutt-ng to always attempt to PGP encrypt
- outgoing messages. This is probably only useful in connection to the
- send-hook command. It can be overridden by use of the pgp-menu, when
- encryption is not required or signing is requested as well. If
- ``$smime_is_default'' is set, then OpenSSL is used instead to create
- S/MIME messages and settings can be overridden by use of the smime-menu.
- (Crypto only)
-
-38. crypt_autopgp
-
- Type: boolean
-
- Default: yes
-
- This variable controls whether or not Mutt-ng may automatically enable PGP
- encryption/signing for messages. See also ``$crypt_autoencrypt'',
- ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
- ``$smime_is_default''.
-
-39. crypt_autosign
-
- Type: boolean
-
- Default: no
-
- Setting this variable will cause Mutt-ng to always attempt to
- cryptographically sign outgoing messages. This can be overridden by use of
- the pgp-menu, when signing is not required or encryption is requested as
- well. If ``$smime_is_default'' is set, then OpenSSL is used instead to
- create S/MIME messages and settings can be overridden by use of the
- smime-menu. (Crypto only)
-
-40. crypt_autosmime
-
- Type: boolean
-
- Default: yes
-
- This variable controls whether or not Mutt-ng may automatically enable
- S/MIME encryption/signing for messages. See also ``$crypt_autoencrypt'',
- ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
- ``$smime_is_default''.
-
-41. crypt_replyencrypt
-
- Type: boolean
-
- Default: yes
-
- If set, automatically PGP or OpenSSL encrypt replies to messages which are
- encrypted. (Crypto only)
-
-42. crypt_replysign
-
- Type: boolean
-
- Default: no
-
- If set, automatically PGP or OpenSSL sign replies to messages which are
- signed.
-
- Note: this does not work on messages that are encrypted and signed!
- (Crypto only)
-
-43. crypt_replysignencrypted
-
- Type: boolean
-
- Default: no
-
- If set, automatically PGP or OpenSSL sign replies to messages which are
- encrypted. This makes sense in combination with ``$crypt_replyencrypt'',
- because it allows you to sign all messages which are automatically
- encrypted. This works around the problem noted in ``$crypt_replysign'',
- that Mutt-ng is not able to find out whether an encrypted message is also
- signed. (Crypto only)
-
-44. crypt_timestamp
-
- Type: boolean
-
- Default: yes
-
- If set, Mutt-ng will include a time stamp in the lines surrounding PGP or
- S/MIME output, so spoofing such lines is more difficult. If you are using
- colors to mark these lines, and rely on these, you may unset this setting.
- (Crypto only)
-
-45. crypt_use_gpgme
-
- Type: boolean
-
- Default: no
-
- This variable controls the use the GPGME enabled crypto backends. If it is
- set and Mutt-ng was build with gpgme support, the gpgme code for S/MIME
- and PGP will be used instead of the classic code.
-
- Note: You need to use this option in your .muttngrc configuration file as
- it won't have any effect when used interactively.
-
-46. crypt_verify_sig
-
- Type: quadoption
-
- Default: yes
-
- If ``yes'', always attempt to verify PGP or S/MIME signatures. If ``ask'',
- ask whether or not to verify the signature. If ``no'', never attempt to
- verify cryptographic signatures. (Crypto only)
-
-47. date_format
-
- Type: string
-
- Default: "!%a, %b %d, %Y at %I:%M:%S%p %Z"
-
- This variable controls the format of the date printed by the ``%d''
- sequence in ``$index_format''. This is passed to strftime(3) to process
- the date.
-
- Unless the first character in the string is a bang (``!''), the month and
- week day names are expanded according to the locale specified in the
- variable ``$locale''. If the first character in the string is a bang, the
- bang is discarded, and the month and week day names in the rest of the
- string are expanded in the C locale (that is in US English).
-
-48. debug_level
-
- Type: number
-
- Default: 1
-
- Availability: debug
-
- This variable specifies the current debug level and may be used to
- increase or decrease the verbosity level during runtime. It overrides the
- level given with the -d command line option.
-
- Currently, this number must be >= 0 and <= 5 and muttng must be started
- with -d to enable debugging at all; enabling at runtime is not possible.
-
-49. default_hook
-
- Type: string
-
- Default: "Ëœf %s !ËœP | (ËœP ËœC %s)"
-
- This variable controls how send-hooks, message-hooks, save-hooks, and
- fcc-hooks will be interpreted if they are specified with only a simple
- regexp, instead of a matching pattern. The hooks are expanded when they
- are declared, so a hook will be interpreted according to the value of this
- variable at the time the hook is declared. The default value matches if
- the message is either from a user matching the regular expression given,
- or if it is from you (if the from address matches ``alternates'') and is
- to or cc'ed to a user matching the given regular expression.
-
-50. delete
-
- Type: quadoption
-
- Default: ask-yes
-
- Controls whether or not messages are really deleted when closing or
- synchronizing a mailbox. If set to yes, messages marked for deleting will
- automatically be purged without prompting. If set to no, messages marked
- for deletion will be kept in the mailbox.
-
-51. delete_space
-
- Type: boolean
-
- Default: no
-
- When sending messages with format=flowed by setting the $text_flowed
- variable, this variable specifies whether to also set the DelSp parameter
- to yes. If this is unset, no additional parameter will be send as a value
- of no already is the default behavior.
-
- Note: this variable only has an effect on outgoing messages (if
- $text_flowed is set) but not on incomming.
-
-52. delete_untag
-
- Type: boolean
-
- Default: yes
-
- If this option is set, Mutt-ng will untag messages when marking them for
- deletion. This applies when you either explicitly delete a message, or
- when you save it to another folder.
-
-53. digest_collapse
-
- Type: boolean
-
- Default: yes
-
- If this option is set, Mutt-ng's received-attachments menu will not show
- the subparts of individual messages in a multipart/digest. To see these
- subparts, press 'v' on that menu.
-
-54. display_filter
-
- Type: path
-
- Default: ""
-
- When set, specifies a command used to filter messages. When a message is
- viewed it is passed as standard input to $display_filter, and the filtered
- message is read from the standard output.
-
-55. dotlock_program
-
- Type: path
-
- Default: "$muttng_bindir/muttng_dotlock"
-
- Availability: Standalone and Dotlock
-
- Contains the path of the muttng_dotlock(1) binary to be used by Mutt-ng.
-
-56. dsn_notify
-
- Type: string
-
- Default: ""
-
- Note: you should not enable this unless you are using Sendmail 8.8.x or
- greater or in connection with the SMTP support via libESMTP.
-
- This variable sets the request for when notification is returned. The
- string consists of a comma separated list (no spaces!) of one or more of
- the following: never, to never request notification, failure, to request
- notification on transmission failure, delay, to be notified of message
- delays, success, to be notified of successful transmission.
-
- Example: set dsn_notify="failure,delay"
-
-57. dsn_return
-
- Type: string
-
- Default: ""
-
- Note: you should not enable this unless you are using Sendmail 8.8.x or
- greater or in connection with the SMTP support via libESMTP.
-
- This variable controls how much of your message is returned in DSN
- messages. It may be set to either hdrs to return just the message header,
- or full to return the full message.
-
- Example: set dsn_return=hdrs
-
-58. duplicate_threads
-
- Type: boolean
-
- Default: yes
-
- This variable controls whether Mutt-ng, when sorting by threads, threads
- messages with the same Message-Id: header field together. If it is set, it
- will indicate that it thinks they are duplicates of each other with an
- equals sign in the thread diagram.
-
-59. edit_headers
-
- Type: boolean
-
- Default: no
-
- This option allows you to edit the header of your outgoing messages along
- with the body of your message.
-
- Which empty header fields to show is controlled by the $editor_headers
- option.
-
-60. editor
-
- Type: path
-
- Default: ""
-
- This variable specifies which editor is used by Mutt-ng. It defaults to
- the value of the $VISUAL, or $EDITOR, environment variable, or to the
- string "vi" if neither of those are set.
-
-61. editor_headers
-
- Type: string
-
- Default: "From: To: Cc: Bcc: Subject: Reply-To: Newsgroups: Followup-To:
- X-Comment-To:"
-
- If $edit_headers is set, this space-separated list specifies which
- non-empty header fields to edit in addition to user-defined headers.
-
- Note: if $edit_headers had to be turned on by force because $strict_mailto
- is unset, this option has no effect.
-
-62. encode_from
-
- Type: boolean
-
- Default: no
-
- When set, Mutt-ng will quoted-printable encode messages when they contain
- the string ``From '' (note the trailing space) in the beginning of a line.
- Useful to avoid the tampering certain mail delivery and transport agents
- tend to do with messages.
-
- Note: as mutt-ng currently violates RfC3676 defining format=flowed, it's
- <em/strongly/ advised to set this option although discouraged by the
- standard. Alternatively, you must take care of space-stuffing <tt/From /
- lines (with a trailing space) yourself.
-
-63. entropy_file
-
- Type: path
-
- Default: ""
-
- Availability: SSL
-
- The file which includes random data that is used to initialize SSL library
- functions.
-
-64. envelope_from
-
- Type: boolean
-
- Default: no
-
- When set, Mutt-ng will try to derive the message's envelope sender from
- the ``From:'' header field. Note that this information is passed to the
- sendmail command using the ``-f" command line switch, so don't set this
- option if you are using that switch in $sendmail yourself, or if the
- sendmail on your machine doesn't support that command line switch.
-
-65. escape
-
- Type: string
-
- Default: "˜"
-
- Escape character to use for functions in the builtin editor.
-
-66. fast_reply
-
- Type: boolean
-
- Default: no
-
- When set, the initial prompt for recipients and subject are skipped when
- replying to messages, and the initial prompt for subject is skipped when
- forwarding messages.
-
- Note: this variable has no effect when the ``$autoedit'' variable is set.
-
-67. fcc_attach
-
- Type: boolean
-
- Default: yes
-
- This variable controls whether or not attachments on outgoing messages are
- saved along with the main body of your message.
-
-68. fcc_clear
-
- Type: boolean
-
- Default: no
-
- When this variable is set, FCCs will be stored unencrypted and unsigned,
- even when the actual message is encrypted and/or signed. (PGP only)
-
-69. file_charset
-
- Type: string
-
- Default: ""
-
- This variable is a colon-separated list of character encoding schemes for
- text file attatchments. If unset, $charset value will be used instead. For
- example, the following configuration would work for Japanese text
- handling:
-
- set file_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
-
- Note: ``iso-2022-*'' must be put at the head of the value as shown above
- if included.
-
-70. folder
-
- Type: path
-
- Default: "˜/Mail"
-
- Specifies the default location of your mailboxes. A ``+'' or ``='' at the
- beginning of a pathname will be expanded to the value of this variable.
- Note that if you change this variable from the default value you need to
- make sure that the assignment occurs before you use ``+'' or ``='' for any
- other variables since expansion takes place during the ``set'' command.
-
-71. folder_format
-
- Type: string
-
- Default: "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"
-
- This variable allows you to customize the file browser display to your
- personal taste. This string is similar to ``$index_format'', but has its
- own set of printf(3)-like sequences:
-
- %C
-
- current file number
-
- %d
-
- date/time folder was last modified
-
- %f
-
- filename
-
- %F
-
- file permissions
-
- %g
-
- group name (or numeric gid, if missing)
-
- %l
-
- number of hard links
-
- %N
-
- N if folder has new mail, blank otherwise
-
- %s
-
- size in bytes
-
- %t
-
- * if the file is tagged, blank otherwise
-
- %u
-
- owner name (or numeric uid, if missing)
-
- %>X
-
- right justify the rest of the string and pad with character "X"
-
- %|X
-
- pad to the end of the line with character "X"
-
-72. followup_to
-
- Type: boolean
-
- Default: yes
-
- Controls whether or not the Mail-Followup-To: header field is generated
- when sending mail. When set, Mutt-ng will generate this field when you are
- replying to a known mailing list, specified with the ``subscribe'' or
- ``lists'' commands or detected by common mailing list headers.
-
- This field has two purposes. First, preventing you from receiving
- duplicate copies of replies to messages which you send to mailing lists.
- Second, ensuring that you do get a reply separately for any messages sent
- to known lists to which you are not subscribed. The header will contain
- only the list's address for subscribed lists, and both the list address
- and your own email address for unsubscribed lists. Without this header, a
- group reply to your message sent to a subscribed list will be sent to both
- the list and your address, resulting in two copies of the same email for
- you.
-
-73. force_buffy_check
-
- Type: boolean
-
- Default: no
-
- When set, it causes Mutt-ng to check for new mail when the buffy-list
- command is invoked. When unset, buffy_list will just list all mailboxes
- which are already known to have new mail.
-
- Also see the following variables: ``$timeout'', ``$mail_check'' and
- ``$imap_mail_check''.
-
-74. force_name
-
- Type: boolean
-
- Default: no
-
- This variable is similar to ``$save_name'', except that Mutt-ng will store
- a copy of your outgoing message by the username of the address you are
- sending to even if that mailbox does not exist.
-
- Also see the ``$record'' variable.
-
-75. forward_decode
-
- Type: boolean
-
- Default: yes
-
- Controls the decoding of complex MIME messages into text/plain when
- forwarding a message. The message header is also RFC2047 decoded. This
- variable is only used, if ``$mime_forward'' is unset, otherwise
- ``$mime_forward_decode'' is used instead.
-
-76. forward_decrypt
-
- Type: boolean
-
- Default: yes
-
- Controls the handling of encrypted messages when forwarding a message.
- When set, the outer layer of encryption is stripped off. This variable is
- only used if ``$mime_forward'' is set and ``$mime_forward_decode'' is
- unset. (PGP only)
-
-77. forward_edit
-
- Type: quadoption
-
- Default: yes
-
- This quadoption controls whether or not the user is automatically placed
- in the editor when forwarding messages. For those who always want to
- forward with no modification, use a setting of no.
-
-78. forward_format
-
- Type: string
-
- Default: "[%a: %s]"
-
- This variable controls the default subject when forwarding a message. It
- uses the same format sequences as the ``$index_format'' variable.
-
-79. forward_quote
-
- Type: boolean
-
- Default: no
-
- When set forwarded messages included in the main body of the message (when
- ``$mime_forward'' is unset) will be quoted using ``$indent_string''.
-
-80. from
-
- Type: e-mail address
-
- Default: ""
-
- This variable contains a default from address. It can be overridden using
- my_hdr (including from send-hooks) and ``$reverse_name''. This variable is
- ignored if ``$use_from'' is unset.
-
- E.g. you can use send-hook Mutt-ng-devel@lists.berlios.de 'my_hdr From:
- Foo Bar <foo@bar.fb>' when replying to the mutt-ng developer's mailing
- list and Mutt-ng takes this email address.
-
- Defaults to the contents of the environment variable $EMAIL.
-
-81. gecos_mask
-
- Type: regular expression
-
- Default: "^[^,]*"
-
- A regular expression used by Mutt-ng to parse the GECOS field of a
- password entry when expanding the alias. By default the regular expression
- is set to ``^[^,]*'' which will return the string up to the first ``,''
- encountered. If the GECOS field contains a string like "lastname,
- firstname" then you should do: set gecos_mask=".*".
-
- This can be useful if you see the following behavior: you address a e-mail
- to user ID stevef whose full name is Steve Franklin. If Mutt-ng expands
- stevef to ``Franklin'' stevef@foo.bar then you should set the gecos_mask
- to a regular expression that will match the whole name so Mutt-ng will
- expand ``Franklin'' to ``Franklin, Steve''.
-
-82. hdrs
-
- Type: boolean
-
- Default: yes
-
- When unset, the header fields normally added by the ``my_hdr'' command are
- not created. This variable must be unset before composing a new message or
- replying in order to take effect. If set, the user defined header fields
- are added to every new message.
-
-83. header
-
- Type: boolean
-
- Default: no
-
- When set, this variable causes Mutt-ng to include the header of the
- message you are replying to into the edit buffer. The ``$weed'' setting
- applies.
-
-84. header_cache
-
- Type: path
-
- Default: ""
-
- Availability: Header Cache
-
- The $header_cache variable points to the header cache database.
-
- If $header_cache points to a directory it will contain a header cache
- database per folder. If $header_cache points to a file that file will be a
- single global header cache. By default it is unset so no header caching
- will be used.
-
-85. header_cache_compress
-
- Type: boolean
-
- Default: no
-
- If enabled the header cache will be compressed. So only one fifth of the
- usual diskspace is used, but the uncompression can result in a slower open
- of the cached folder.
-
-86. help
-
- Type: boolean
-
- Default: yes
-
- When set, help lines describing the bindings for the major functions
- provided by each menu are displayed on the first line of the screen.
-
- Note: The binding will not be displayed correctly if the function is bound
- to a sequence rather than a single keystroke. Also, the help line may not
- be updated if a binding is changed while Mutt-ng is running. Since this
- variable is primarily aimed at new users, neither of these should present
- a major problem.
-
-87. hidden_host
-
- Type: boolean
-
- Default: no
-
- When set, Mutt-ng will skip the host name part of ``$hostname'' variable
- when adding the domain part to addresses. This variable does not affect
- the generation of Message-ID: header fields, and it will not lead to the
- cut-off of first-level domains.
-
-88. hide_limited
-
- Type: boolean
-
- Default: no
-
- When set, Mutt-ng will not show the presence of messages that are hidden
- by limiting, in the thread tree.
-
-89. hide_missing
-
- Type: boolean
-
- Default: yes
-
- When set, Mutt-ng will not show the presence of missing messages in the
- thread tree.
-
-90. hide_thread_subject
-
- Type: boolean
-
- Default: yes
-
- When set, Mutt-ng will not show the subject of messages in the thread tree
- that have the same subject as their parent or closest previously displayed
- sibling.
-
-91. hide_top_limited
-
- Type: boolean
-
- Default: no
-
- When set, Mutt-ng will not show the presence of messages that are hidden
- by limiting, at the top of threads in the thread tree. Note that when
- $hide_missing is set, this option will have no effect.
-
-92. hide_top_missing
-
- Type: boolean
-
- Default: yes
-
- When set, Mutt-ng will not show the presence of missing messages at the
- top of threads in the thread tree. Note that when $hide_limited is set,
- this option will have no effect.
-
-93. history
-
- Type: number
-
- Default: 10
-
- This variable controls the size (in number of strings remembered) of the
- string history buffer. The buffer is cleared each time the variable is
- changed.
-
-94. honor_followup_to
-
- Type: quadoption
-
- Default: yes
-
- This variable controls whether or not a Mail-Followup-To: header field is
- honored when group-replying to a message.
-
-95. hostname
-
- Type: string
-
- Default: ""
-
- Specifies the hostname to use after the ``@'' in local e-mail addresses
- and during generation of Message-Id: headers.
-
- Please be sure to really know what you are doing when changing this
- variable to configure a custom domain part of Message-IDs.
-
-96. ignore_list_reply_to
-
- Type: boolean
-
- Default: no
-
- Affects the behaviour of the reply function when replying to messages from
- mailing lists. When set, if the ``Reply-To:'' header field is set to the
- same value as the ``To:'' header field, Mutt-ng assumes that the
- ``Reply-To:'' header field was set by the mailing list to automate
- responses to the list, and will ignore this field. To direct a response to
- the mailing list when this option is set, use the list-reply function;
- group-reply will reply to both the sender and the list.
-
-97. imap_authenticators
-
- Type: string
-
- Default: ""
-
- Availability: IMAP
-
- This is a colon-delimited list of authentication methods Mutt-ng may
- attempt to use to log in to an IMAP server, in the order Mutt-ng should
- try them. Authentication methods are either ``login'' or the right side of
- an IMAP ``AUTH='' capability string, e.g. ``digest-md5'', ``gssapi'' or
- ``cram-md5''. This parameter is case-insensitive.
-
- If this parameter is unset (the default) Mutt-ng will try all available
- methods, in order from most-secure to least-secure.
-
- Example: set imap_authenticators="gssapi:cram-md5:login"
-
- Note: Mutt-ng will only fall back to other authentication methods if the
- previous methods are unavailable. If a method is available but
- authentication fails, Mutt-ng will not connect to the IMAP server.
-
-98. imap_check_subscribed
-
- Type: boolean
-
- Default: no
-
- When set, mutt will fetch the set of subscribed folders from your server
- on connection, and add them to the set of mailboxes it polls for new mail.
- See also the ``mailboxes'' command.
-
-99. imap_delim_chars
-
- Type: string
-
- Default: "/."
-
- Availability: IMAP
-
- This contains the list of characters which you would like to treat as
- folder separators for displaying IMAP paths. In particular it helps in
- using the '=' shortcut for your $folder variable.
-
-100. imap_headers
-
- Type: string
-
- Default: ""
-
- Availability: IMAP
-
- Mutt-ng requests these header fields in addition to the default headers
- (``DATE FROM SUBJECT TO CC MESSAGE-ID REFERENCES CONTENT-TYPE
- CONTENT-DESCRIPTION IN-REPLY-TO REPLY-TO LINES X-LABEL'') from IMAP
- servers before displaying the ``index'' menu. You may want to add more
- headers for spam detection.
-
- Note: This is a space separated list.
-
-101. imap_home_namespace
-
- Type: string
-
- Default: ""
-
- Availability: IMAP
-
- You normally want to see your personal folders alongside your INBOX in the
- IMAP browser. If you see something else, you may set this variable to the
- IMAP path to your folders.
-
-102. imap_keepalive
-
- Type: number
-
- Default: 900
-
- Availability: IMAP
-
- This variable specifies the maximum amount of time in seconds that Mutt-ng
- will wait before polling open IMAP connections, to prevent the server from
- closing them before Mutt-ng has finished with them.
-
- The default is well within the RFC-specified minimum amount of time (30
- minutes) before a server is allowed to do this, but in practice the RFC
- does get violated every now and then.
-
- Reduce this number if you find yourself getting disconnected from your
- IMAP server due to inactivity.
-
-103. imap_list_subscribed
-
- Type: boolean
-
- Default: no
-
- Availability: IMAP
-
- This variable configures whether IMAP folder browsing will look for only
- subscribed folders or all folders. This can be toggled in the IMAP browser
- with the toggle-subscribed function.
-
-104. imap_login
-
- Type: string
-
- Default: ""
-
- Availability: IMAP
-
- Your login name on the IMAP server.
-
- This variable defaults to the value of ``$imap_user.''
-
-105. imap_mail_check
-
- Type: number
-
- Default: 300
-
- This variable configures how often (in seconds) Mutt-ng should look for
- new mail in IMAP folders. This is split from the ``mail_check'' variable
- to generate less traffic and get more accurate information for local
- folders.
-
-106. imap_pass
-
- Type: string
-
- Default: ""
-
- Availability: IMAP
-
- Specifies the password for your IMAP account. If unset, Mutt-ng will
- prompt you for your password when you invoke the fetch-mail function.
-
- Warning: you should only use this option when you are on a fairly secure
- machine, because the superuser can read your configuration even if you are
- the only one who can read the file.
-
-107. imap_passive
-
- Type: boolean
-
- Default: yes
-
- Availability: IMAP
-
- When set, Mutt-ng will not open new IMAP connections to check for new
- mail. Mutt-ng will only check for new mail over existing IMAP connections.
- This is useful if you don't want to be prompted to user/password pairs on
- Mutt-ng invocation, or if opening the connection is slow.
-
-108. imap_peek
-
- Type: boolean
-
- Default: yes
-
- Availability: IMAP
-
- If set, Mutt-ng will avoid implicitly marking your mail as read whenever
- you fetch a message from the server. This is generally a good thing, but
- can make closing an IMAP folder somewhat slower. This option exists to
- appease speed freaks.
-
-109. imap_reconnect
-
- Type: quadoption
-
- Default: ask-yes
-
- Availability: IMAP
-
- Controls whether or not Mutt-ng will try to reconnect to IMAP server when
- the connection is lost.
-
-110. imap_servernoise
-
- Type: boolean
-
- Default: yes
-
- Availability: IMAP
-
- When set, Mutt-ng will display warning messages from the IMAP server as
- error messages. Since these messages are often harmless, or generated due
- to configuration problems on the server which are out of the users' hands,
- you may wish to suppress them at some point.
-
-111. imap_user
-
- Type: string
-
- Default: ""
-
- Availability: IMAP
-
- The name of the user whose mail you intend to access on the IMAP server.
-
- This variable defaults to your user name on the local machine.
-
-112. implicit_autoview
-
- Type: boolean
-
- Default: no
-
- If set, Mutt-ng will look for a mailcap entry with the ``copiousoutput''
- flag set for every MIME attachment it doesn't have an internal viewer
- defined for. If such an entry is found, Mutt-ng will use the viewer
- defined in that entry to convert the body part to text form.
-
-113. include
-
- Type: quadoption
-
- Default: ask-yes
-
- Controls whether or not a copy of the message(s) you are replying to is
- included in your reply.
-
-114. include_onlyfirst
-
- Type: boolean
-
- Default: no
-
- Controls whether or not Mutt-ng includes only the first attachment of the
- message you are replying.
-
-115. indent_string
-
- Type: string
-
- Default: "> "
-
- Specifies the string to prepend to each line of text quoted in a message
- to which you are replying. You are strongly encouraged not to change this
- value, as it tends to agitate the more fanatical netizens.
-
-116. index_format
-
- Type: string
-
- Default: "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"
-
- This variable allows you to customize the message index display to your
- personal taste.
-
- ``Format strings'' are similar to the strings used in the ``C'' function
- printf(3) to format output (see the man page for more detail). The
- following sequences are defined in Mutt-ng:
-
- %a
-
- address of the author
-
- %A
-
- reply-to address (if present; otherwise: address of author)
-
- %b
-
- filename of the original message folder (think mailBox)
-
- %B
-
- the list to which the letter was sent, or else the folder name
- (%b).
-
- %c
-
- number of characters (bytes) in the message
-
- %C
-
- current message number
-
- %d
-
- date and time of the message in the format specified by
- ``date_format'' converted to sender's time zone
-
- %D
-
- date and time of the message in the format specified by
- ``date_format'' converted to the local time zone
-
- %e
-
- current message number in thread
-
- %E
-
- number of messages in current thread
-
- %f
-
- entire From: line (address + real name)
-
- %F
-
- author name, or recipient name if the message is from you
-
- %H
-
- spam attribute(s) of this message
-
- %g
-
- newsgroup name (if compiled with nntp support)
-
- %i
-
- message-id of the current message
-
- %l
-
- number of lines in the message (does not work with maildir, mh,
- and possibly IMAP folders)
-
- %L
-
- If an address in the To or CC header field matches an address
- defined by the users ``subscribe'' command, this displays "To
- <list-name>", otherwise the same as %F.
-
- %m
-
- total number of message in the mailbox
-
- %M
-
- number of hidden messages if the thread is collapsed.
-
- %N
-
- message score
-
- %n
-
- author's real name (or address if missing)
-
- %O
-
- (_O_riginal save folder) Where Mutt-ng would formerly have stashed
- the message: list name or recipient name if no list
-
- %s
-
- subject of the message
-
- %S
-
- status of the message (N/D/d/!/r/*)
-
- %t
-
- `to:' field (recipients)
-
- %T
-
- the appropriate character from the $to_chars string
-
- %u
-
- user (login) name of the author
-
- %v
-
- first name of the author, or the recipient if the message is from
- you
-
- %W
-
- name of organization of author (`organization:' field)
-
- %y
-
- `x-label:' field, if present
-
- %Y
-
- `x-label' field, if present, and (1) not at part of a thread tree,
- (2) at the top of a thread, or (3) `x-label' is different from
- preceding message's `x-label'.
-
- %Z
-
- message status flags
-
- %{fmt}
-
- the date and time of the message is converted to sender's time
- zone, and ``fmt'' is expanded by the library function
- ``strftime''; a leading bang disables locales
-
- %[fmt]
-
- the date and time of the message is converted to the local time
- zone, and ``fmt'' is expanded by the library function
- ``strftime''; a leading bang disables locales
-
- %(fmt)
-
- the local date and time when the message was received. ``fmt'' is
- expanded by the library function ``strftime''; a leading bang
- disables locales
-
- %<fmt>
-
- the current local time. ``fmt'' is expanded by the library
- function ``strftime''; a leading bang disables locales.
-
- %>X
-
- right justify the rest of the string and pad with character "X"
-
- %|X
-
- pad to the end of the line with character "X"
-
- See also: ``$to_chars''.
-
-117. ispell
-
- Type: path
-
- Default: "ispell"
-
- How to invoke ispell (GNU's spell-checking software).
-
-118. keep_flagged
-
- Type: boolean
-
- Default: no
-
- If set, read messages marked as flagged will not be moved from your spool
- mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
- command.
-
-119. list_reply
-
- Type: quadoption
-
- Default: no
-
- When set, address replies to the mailing list the original message came
- from (instead to the author only). Setting this option to ``ask-yes'' or
- ``ask-no'' will ask if you really intended to reply to the author only.
-
-120. locale
-
- Type: string
-
- Default: "C"
-
- The locale used by strftime(3) to format dates. Legal values are the
- strings your system accepts for the locale variable LC_TIME.
-
-121. mail_check
-
- Type: number
-
- Default: 5
-
- This variable configures how often (in seconds) Mutt-ng should look for
- new mail.
-
- Note: This does not apply to IMAP mailboxes, see $imap_mail_check.
-
-122. mailcap_path
-
- Type: string
-
- Default: ""
-
- This variable specifies which files to consult when attempting to display
- MIME bodies not directly supported by Mutt-ng.
-
-123. mailcap_sanitize
-
- Type: boolean
-
- Default: yes
-
- If set, Mutt-ng will restrict possible characters in mailcap % expandos to
- a well-defined set of safe characters. This is the safe setting, but we
- are not sure it doesn't break some more advanced MIME stuff.
-
- DON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE DOING!
-
-124. maildir_header_cache_verify
-
- Type: boolean
-
- Default: yes
-
- Availability: Header Cache
-
- Check for Maildir unaware programs other than Mutt-ng having modified
- maildir files when the header cache is in use. This incurs one stat(2) per
- message every time the folder is opened.
-
-125. maildir_trash
-
- Type: boolean
-
- Default: no
-
- If set, messages marked as deleted will be saved with the maildir
- (T)rashed flag instead of physically deleted.
-
- NOTE: this only applies to maildir-style mailboxes. Setting it will have
- no effect on other mailbox types.
-
- It is similiar to the trash option.
-
-126. mark_old
-
- Type: boolean
-
- Default: yes
-
- Controls whether or not Mutt-ng marks new unread messages as old if you
- exit a mailbox without reading them.
-
- With this option set, the next time you start Mutt-ng, the messages will
- show up with an "O" next to them in the ``index'' menu, indicating that
- they are old.
-
-127. markers
-
- Type: boolean
-
- Default: yes
-
- Controls the display of wrapped lines in the internal pager. If set, a
- ``+'' marker is displayed at the beginning of wrapped lines. Also see the
- ``$smart_wrap'' variable.
-
-128. mask
-
- Type: regular expression
-
- Default: "!^\.[^.]"
-
- A regular expression used in the file browser, optionally preceded by the
- not operator ``!''. Only files whose names match this mask will be shown.
- The match is always case-sensitive.
-
-129. max_display_recips
-
- Type: number
-
- Default: 0
-
- When set non-zero, this specifies the maximum number of recipient header
- lines (To:, Cc: and Bcc:) to display in the pager if header weeding is
- turned on. In case the number of lines exeeds its value, the last line
- will have 3 dots appended.
-
-130. max_line_length
-
- Type: number
-
- Default: 0
-
- When set, the maximum line length for displaying ``format = flowed''
- messages is limited to this length. A value of 0 (which is also the
- default) means that the maximum line length is determined by the terminal
- width and $wrapmargin.
-
-131. mbox
-
- Type: path
-
- Default: "˜/mbox"
-
- This specifies the folder into which read mail in your ``$spoolfile''
- folder will be appended.
-
-132. mbox_type
-
- Type: folder magic
-
- Default: mbox
-
- The default mailbox type used when creating new folders. May be any of
- mbox, MMDF, MH and Maildir.
-
-133. menu_context
-
- Type: number
-
- Default: 0
-
- This variable controls the number of lines of context that are given when
- scrolling through menus. (Similar to ``$pager_context''.)
-
-134. menu_move_off
-
- Type: boolean
-
- Default: yes
-
- When unset, the bottom entry of menus will never scroll up past the bottom
- of the screen, unless there are less entries than lines. When set, the
- bottom entry may move off the bottom.
-
-135. menu_scroll
-
- Type: boolean
-
- Default: no
-
- When set, menus will be scrolled up or down one line when you attempt to
- move across a screen boundary. If unset, the screen is cleared and the
- next or previous page of the menu is displayed (useful for slow links to
- avoid many redraws).
-
-136. message_format
-
- Type: string
-
- Default: "%s"
-
- This is the string displayed in the ``attachment'' menu for attachments of
- type message/rfc822. For a full listing of defined printf(3)-like
- sequences see the section on ``$index_format''.
-
-137. meta_key
-
- Type: boolean
-
- Default: no
-
- If set, forces Mutt-ng to interpret keystrokes with the high bit (bit 8)
- set as if the user had pressed the ESC key and whatever key remains after
- having the high bit removed. For example, if the key pressed has an ASCII
- value of 0xf4, then this is treated as if the user had pressed ESC then
- ``x''. This is because the result of removing the high bit from ``0xf4''
- is ``0x74'', which is the ASCII character ``x''.
-
-138. metoo
-
- Type: boolean
-
- Default: no
-
- If unset, Mutt-ng will remove your address (see the ``alternates''
- command) from the list of recipients when replying to a message.
-
-139. mh_purge
-
- Type: boolean
-
- Default: no
-
- When unset, Mutt-ng will mimic mh's behaviour and rename deleted messages
- to ,<old file name> in mh folders instead of really deleting them. If the
- variable is set, the message files will simply be deleted.
-
-140. mh_seq_flagged
-
- Type: string
-
- Default: "flagged"
-
- The name of the MH sequence used for flagged messages.
-
-141. mh_seq_replied
-
- Type: string
-
- Default: "replied"
-
- The name of the MH sequence used to tag replied messages.
-
-142. mh_seq_unseen
-
- Type: string
-
- Default: "unseen"
-
- The name of the MH sequence used for unseen messages.
-
-143. mime_forward
-
- Type: quadoption
-
- Default: no
-
- When set, the message you are forwarding will be attached as a separate
- MIME part instead of included in the main body of the message.
-
- This is useful for forwarding MIME messages so the receiver can properly
- view the message as it was delivered to you. If you like to switch between
- MIME and not MIME from mail to mail, set this variable to ask-no or
- ask-yes.
-
- Also see ``$forward_decode'' and ``$mime_forward_decode''.
-
-144. mime_forward_decode
-
- Type: boolean
-
- Default: no
-
- Controls the decoding of complex MIME messages into text/plain when
- forwarding a message while ``$mime_forward'' is set. Otherwise
- ``$forward_decode'' is used instead.
-
-145. mime_forward_rest
-
- Type: quadoption
-
- Default: yes
-
- When forwarding multiple attachments of a MIME message from the recvattach
- menu, attachments which cannot be decoded in a reasonable manner will be
- attached to the newly composed message if this option is set.
-
-146. mix_entry_format
-
- Type: string
-
- Default: "%4n %c %-16s %a"
-
- Availability: Mixmaster
-
- This variable describes the format of a remailer line on the mixmaster
- chain selection screen. The following printf(3)-like sequences are
- supported:
-
- %n
-
- The running number on the menu.
-
- %c
-
- Remailer capabilities.
-
- %s
-
- The remailer's short name.
-
- %a
-
- The remailer's e-mail address.
-
-147. mixmaster
-
- Type: path
-
- Default: "mixmaster"
-
- Availability: Mixmaster
-
- This variable contains the path to the Mixmaster binary on your system. It
- is used with various sets of parameters to gather the list of known
- remailers, and to finally send a message through the mixmaster chain.
-
-148. move
-
- Type: quadoption
-
- Default: ask-no
-
- Controls whether or not Mutt-ng will move read messages from your spool
- mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
- command.
-
-149. msgid_format
-
- Type: string
-
- Default: "%Y%m%d%h%M%s.G%P%p"
-
- This is the format for the ``local part'' of the Message-Id: header field
- generated by Mutt-ng. If this variable is empty, no Message-Id: headers
- will be generated. The '%' character marks that certain data will be added
- to the string, similar to printf(3). The following characters are allowed:
-
- %d
-
- the current day of month
-
- %h
-
- the current hour
-
- %m
-
- the current month
-
- %M
-
- the current minute
-
- %O
-
- the current UNIX timestamp (octal)
-
- %p
-
- the process ID
-
- %P
-
- the current Message-ID prefix (a character rotating with every
- Message-ID being generated)
-
- %r
-
- a random integer value (decimal)
-
- %R
-
- a random integer value (hexadecimal)
-
- %s
-
- the current second
-
- %T
-
- the current UNIX timestamp (decimal)
-
- %X
-
- the current UNIX timestamp (hexadecimal)
-
- %Y
-
- the current year (Y2K compliant)
-
- %%
-
- the '%' character
-
- Note: Please only change this setting if you know what you are doing. Also
- make sure to consult RFC2822 to produce technically valid strings.
-
-150. muttng_bindir
-
- Type: system property
-
- Value: /opt/freebsd4/mutt-ng/bin
-
- This is a read-only system property and specifies the directory containing
- the muttng binary.
-
-151. muttng_docdir
-
- Type: system property
-
- Value: /opt/freebsd4/mutt-ng/doc/muttng
-
- This is a read-only system property and specifies the directory containing
- the muttng documentation.
-
-152. muttng_folder_name
-
- Type: system property
-
- Value:
-
- This is a read-only system property and, at runtime, specifies the last
- part of the full path or URI of the folder currently open (if any), i.e.
- everything after the last ``/''.
-
-153. muttng_folder_path
-
- Type: system property
-
- Value:
-
- This is a read-only system property and, at runtime, specifies the full
- path or URI of the folder currently open (if any).
-
-154. muttng_hcache_backend
-
- Type: system property
-
- Value: qdbm
-
- This is a read-only system property and specifies the header chaching's
- database backend.
-
-155. muttng_pwd
-
- Type: system property
-
- Value:
-
- This is a read-only system property and, at runtime, specifies the current
- working directory of the muttng binary.
-
-156. muttng_revision
-
- Type: system property
-
- Value: 503
-
- This is a read-only system property and specifies muttng's subversion
- revision string.
-
-157. muttng_sysconfdir
-
- Type: system property
-
- Value: /opt/freebsd4/mutt-ng/etc
-
- This is a read-only system property and specifies the directory containing
- the muttng system-wide configuration.
-
-158. muttng_version
-
- Type: system property
-
- Value: devel
-
- This is a read-only system property and specifies muttng's version string.
-
-159. narrow_tree
-
- Type: boolean
-
- Default: no
-
- This variable, when set, makes the thread tree narrower, allowing deeper
- threads to fit on the screen.
-
-160. net_inc
-
- Type: number
-
- Default: 10
-
- Operations that expect to transfer a large amount of data over the network
- will update their progress every net_inc kilobytes. If set to 0, no
- progress messages will be displayed.
-
- See also ``$read_inc'' and ``$write_inc''.
-
-161. nntp_ask_followup_to
-
- Type: boolean
-
- Default: no
-
- Availability: NNTP
-
- If set, Mutt-ng will prompt you for the Followup-To: header field before
- editing the body of an outgoing news article.
-
-162. nntp_ask_x_comment_to
-
- Type: boolean
-
- Default: no
-
- Availability: NNTP
-
- If set, Mutt-ng will prompt you for the X-Comment-To: header field before
- editing the body of an outgoing news article.
-
-163. nntp_cache_dir
-
- Type: path
-
- Default: "˜/.muttng"
-
- Availability: NNTP
-
- This variable points to directory where Mutt-ng will cache news article
- headers. If unset, headers will not be saved at all and will be reloaded
- each time when you enter a newsgroup.
-
- As for the header caching in connection with IMAP and/or Maildir, this
- drastically increases speed and lowers traffic.
-
-164. nntp_catchup
-
- Type: quadoption
-
- Default: ask-yes
-
- Availability: NNTP
-
- If this variable is set, Mutt-ng will mark all articles in a newsgroup as
- read when you leaving it.
-
-165. nntp_context
-
- Type: number
-
- Default: 1000
-
- Availability: NNTP
-
- This variable controls how many news articles to cache per newsgroup (if
- caching is enabled, see $nntp_cache_dir) and how many news articles to
- show in the ``index'' menu.
-
- If there're more articles than defined with $nntp_context, all older ones
- will be removed/not shown in the index.
-
-166. nntp_followup_to_poster
-
- Type: quadoption
-
- Default: ask-yes
-
- Availability: NNTP
-
- If this variable is set and the keyword "poster" is present in the
- Followup-To: header field, a follow-up to the newsgroup is not permitted.
- The message will be mailed to the submitter of the message via mail.
-
-167. nntp_group_index_format
-
- Type: string
-
- Default: "%4C %M%N %5s %-45.45f %d"
-
- Availability: NNTP
-
- This variable allows you to customize the newsgroup browser display to
- your personal taste. This string is similar to ``index_format'', but has
- its own set of printf(3)-like sequences:
-
- %C current newsgroup number
- %d description of newsgroup (retrieved from server)
- %f newsgroup name
- %M ``-'' if newsgroup not allowed for direct post (moderated for example)
- %N ``N'' if newsgroup is new, ``u'' if unsubscribed, blank otherwise
- %n number of new articles in newsgroup
- %s number of unread articles in newsgroup
- %>X right justify the rest of the string and pad with character "X"
- %|X pad to the end of the line with character "X"
-
-
-168. nntp_host
-
- Type: string
-
- Default: ""
-
- Availability: NNTP
-
- This variable specifies the name (or address) of the NNTP server to be
- used.
-
- It defaults to the value specified via the environment variable
- $NNTPSERVER or contained in the file /etc/nntpserver.
-
- You can also specify a username and an alternative port for each
- newsserver, e.g.
-
- [nntp[s]://][username[:password]@]newsserver[:port]
-
- Note: Using a password as shown and stored in a configuration file
- presents a security risk since the superuser of your machine may read it
- regardless of the file's permissions.
-
-169. nntp_inews
-
- Type: path
-
- Default: ""
-
- Availability: NNTP
-
- If set, specifies the program and arguments used to deliver news posted by
- Mutt-ng. Otherwise, Mutt-ng posts article using current connection. The
- following printf(3)-style sequence is understood:
-
- %s newsserver name
-
-
- Example: set inews="/usr/local/bin/inews -hS"
-
-170. nntp_load_description
-
- Type: boolean
-
- Default: yes
-
- Availability: NNTP
-
- This variable controls whether or not descriptions for newsgroups are to
- be loaded when subscribing to a newsgroup.
-
-171. nntp_mail_check
-
- Type: number
-
- Default: 60
-
- Availability: NNTP
-
- The time in seconds until any operations on a newsgroup except posting a
- new article will cause a recheck for new news. If set to 0, Mutt-ng will
- recheck on each operation in index (stepping, read article, etc.).
-
-172. nntp_mime_subject
-
- Type: boolean
-
- Default: yes
-
- Availability: NNTP
-
- If unset, an 8-bit ``Subject:'' header field in a news article will not be
- encoded according to RFC2047.
-
- Note: Only change this setting if you know what you are doing.
-
-173. nntp_newsrc
-
- Type: path
-
- Default: "˜/.newsrc"
-
- Availability: NNTP
-
- This file contains information about subscribed newsgroup and articles
- read so far.
-
- To ease the use of multiple news servers, the following printf(3)-style
- sequence is understood:
-
- %s newsserver name
-
-
-174. nntp_pass
-
- Type: string
-
- Default: ""
-
- Availability: NNTP
-
- Your password for NNTP account.
-
- Note: Storing passwords in a configuration file presents a security risk
- since the superuser of your machine may read it regardless of the file's
- permissions.
-
-175. nntp_post_moderated
-
- Type: quadoption
-
- Default: ask-yes
-
- Availability: NNTP
-
- If set to yes, Mutt-ng will post articles to newsgroup that have not
- permissions to post (e.g. moderated).
-
- Note: if the newsserver does not support posting to that newsgroup or a
- group is totally read-only, that posting will not have any effect.
-
-176. nntp_reconnect
-
- Type: quadoption
-
- Default: ask-yes
-
- Availability: NNTP
-
- Controls whether or not Mutt-ng will try to reconnect to a newsserver when
- the was connection lost.
-
-177. nntp_save_unsubscribed
-
- Type: boolean
-
- Default: no
-
- Availability: NNTP
-
- When set, info about unsubscribed newsgroups will be saved into the
- ``newsrc'' file and into the news cache.
-
-178. nntp_show_new_news
-
- Type: boolean
-
- Default: yes
-
- Availability: NNTP
-
- If set, the newsserver will be asked for new newsgroups on entering the
- browser. Otherwise, it will be done only once for a newsserver. Also
- controls whether or not the number of new articles of subscribed
- newsgroups will be checked.
-
-179. nntp_show_only_unread
-
- Type: boolean
-
- Default: no
-
- Availability: NNTP
-
- If set, only subscribed newsgroups that contain unread articles will be
- displayed in the newsgroup browser.
-
-180. nntp_user
-
- Type: string
-
- Default: ""
-
- Availability: NNTP
-
- Your login name on the NNTP server. If unset and the server requires
- authentification, Mutt-ng will prompt you for your account name.
-
-181. nntp_x_comment_to
-
- Type: boolean
-
- Default: no
-
- Availability: NNTP
-
- If set, Mutt-ng will add a ``X-Comment-To:'' header field (that contains
- full name of the original article author) to articles that you followup
- to.
-
-182. operating_system
-
- Type: string
-
- Default: ""
-
- This specifies the operating system name for the User-Agent: header field.
- If this is unset, it will be set to the operating system name that
- uname(2) returns. If uname(2) fails, ``UNIX'' will be used.
-
- It may, for example, look as: ``mutt-ng 1.5.9i (Linux)''.
-
-183. pager
-
- Type: path
-
- Default: "builtin"
-
- This variable specifies which pager you would like to use to view
- messages. ``builtin'' means to use the builtin pager, otherwise this
- variable should specify the pathname of the external pager you would like
- to use.
-
- Using an external pager may have some disadvantages: Additional keystrokes
- are necessary because you can't call Mutt-ng functions directly from the
- pager, and screen resizes cause lines longer than the screen width to be
- badly formatted in the help menu.
-
-184. pager_context
-
- Type: number
-
- Default: 0
-
- This variable controls the number of lines of context that are given when
- displaying the next or previous page in the internal pager. By default,
- Mutt-ng will display the line after the last one on the screen at the top
- of the next page (0 lines of context).
-
-185. pager_format
-
- Type: string
-
- Default: "-%Z- %C/%m: %-20.20n %s"
-
- This variable controls the format of the one-line message ``status''
- displayed before each message in either the internal or an external pager.
- The valid sequences are listed in the ``$index_format'' section.
-
-186. pager_index_lines
-
- Type: number
-
- Default: 0
-
- Determines the number of lines of a mini-index which is shown when in the
- pager. The current message, unless near the top or bottom of the folder,
- will be roughly one third of the way down this mini-index, giving the
- reader the context of a few messages before and after the message. This is
- useful, for example, to determine how many messages remain to be read in
- the current thread. One of the lines is reserved for the status bar from
- the index, so a pager_index_lines of 6 will only show 5 lines of the
- actual index. A value of 0 results in no index being shown. If the number
- of messages in the current folder is less than pager_index_lines, then the
- index will only use as many lines as it needs.
-
-187. pager_stop
-
- Type: boolean
-
- Default: no
-
- When set, the internal-pager will not move to the next message when you
- are at the end of a message and invoke the next-page function.
-
-188. pgp_auto_decode
-
- Type: boolean
-
- Default: no
-
- If set, Mutt-ng will automatically attempt to decrypt traditional PGP
- messages whenever the user performs an operation which ordinarily would
- result in the contents of the message being operated on. For example, if
- the user displays a pgp-traditional message which has not been manually
- checked with the check-traditional-pgp function, Mutt-ng will
- automatically check the message for traditional pgp.
-
-189. pgp_autoinline
-
- Type: boolean
-
- Default: no
-
- This option controls whether Mutt-ng generates old-style inline
- (traditional) PGP encrypted or signed messages under certain
- circumstances. This can be overridden by use of the pgp-menu, when inline
- is not required.
-
- Note that Mutt-ng might automatically use PGP/MIME for messages which
- consist of more than a single MIME part. Mutt-ng can be configured to ask
- before sending PGP/MIME messages when inline (traditional) would not work.
- See also: ``$pgp_mime_auto''.
-
- Also note that using the old-style PGP message format is strongly
- deprecated. (PGP only)
-
-190. pgp_check_exit
-
- Type: boolean
-
- Default: yes
-
- If set, Mutt-ng will check the exit code of the PGP subprocess when
- signing or encrypting. A non-zero exit code means that the subprocess
- failed. (PGP only)
-
-191. pgp_clearsign_command
-
- Type: string
-
- Default: ""
-
- This format is used to create a old-style ``clearsigned'' PGP message.
-
- Note that the use of this format is strongly deprecated. (PGP only)
-
-192. pgp_decode_command
-
- Type: string
-
- Default: ""
-
- This format strings specifies a command which is used to decode
- application/pgp attachments.
-
- The PGP command formats have their own set of printf(3)-like sequences:
-
- %p
-
- Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty
- string otherwise. Note: This may be used with a %? construct.
-
- %f
-
- Expands to the name of a file containing a message.
-
- %s
-
- Expands to the name of a file containing the signature part of a
- multipart/signed attachment when verifying it.
-
- %a
-
- The value of $pgp_sign_as.
-
- %r
-
- One or more key IDs.
-
- For examples on how to configure these formats for the various versions of
- PGP which are floating around, see the pgp*.rc and gpg.rc files in the
- samples/ subdirectory which has been installed on your system alongside
- the documentation. (PGP only)
-
-193. pgp_decrypt_command
-
- Type: string
-
- Default: ""
-
- This command is used to decrypt a PGP encrypted message. (PGP only)
-
-194. pgp_encrypt_only_command
-
- Type: string
-
- Default: ""
-
- This command is used to encrypt a body part without signing it. (PGP only)
-
-195. pgp_encrypt_sign_command
-
- Type: string
-
- Default: ""
-
- This command is used to both sign and encrypt a body part. (PGP only)
-
-196. pgp_entry_format
-
- Type: string
-
- Default: "%4n %t%f %4l/0x%k %-4a %2c %u"
-
- This variable allows you to customize the PGP key selection menu to your
- personal taste. This string is similar to ``$index_format'', but has its
- own set of printf(3)-like sequences:
-
- %n
-
- number
-
- %k
-
- key id
-
- %u
-
- user id
-
- %a
-
- algorithm
-
- %l
-
- key length
-
- %f
-
- flags
-
- %c
-
- capabilities
-
- %t
-
- trust/validity of the key-uid association
-
- %[<s>]
-
- date of the key where <s> is an strftime(3) expression
-
- (PGP only)
-
-197. pgp_export_command
-
- Type: string
-
- Default: ""
-
- This command is used to export a public key from the user's key ring. (PGP
- only)
-
-198. pgp_getkeys_command
-
- Type: string
-
- Default: ""
-
- This command is invoked whenever Mutt-ng will need public key information.
- %r is the only printf(3)-like sequence used with this format. (PGP only)
-
-199. pgp_good_sign
-
- Type: regular expression
-
- Default: ""
-
- If you assign a text to this variable, then a PGP signature is only
- considered verified if the output from $pgp_verify_command contains the
- text. Use this variable if the exit code from the command is 0 even for
- bad signatures. (PGP only)
-
-200. pgp_ignore_subkeys
-
- Type: boolean
-
- Default: yes
-
- Setting this variable will cause Mutt-ng to ignore OpenPGP subkeys.
- Instead, the principal key will inherit the subkeys' capabilities. Unset
- this if you want to play interesting key selection games. (PGP only)
-
-201. pgp_import_command
-
- Type: string
-
- Default: ""
-
- This command is used to import a key from a message into the user's public
- key ring. (PGP only)
-
-202. pgp_list_pubring_command
-
- Type: string
-
- Default: ""
-
- This command is used to list the public key ring's contents. The output
- format must be analogous to the one used by gpg --list-keys --with-colons.
-
- This format is also generated by the pgpring utility which comes with
- Mutt-ng. (PGP only)
-
-203. pgp_list_secring_command
-
- Type: string
-
- Default: ""
-
- This command is used to list the secret key ring's contents. The output
- format must be analogous to the one used by gpg --list-keys --with-colons.
-
- This format is also generated by the pgpring utility which comes with
- Mutt-ng. (PGP only)
-
-204. pgp_long_ids
-
- Type: boolean
-
- Default: no
-
- If set, use 64 bit PGP key IDs. Unset uses the normal 32 bit Key IDs. (PGP
- only)
-
-205. pgp_mime_auto
-
- Type: quadoption
-
- Default: ask-yes
-
- This option controls whether Mutt-ng will prompt you for automatically
- sending a (signed/encrypted) message using PGP/MIME when inline
- (traditional) fails (for any reason).
-
- Also note that using the old-style PGP message format is strongly
- deprecated. (PGP only)
-
-206. pgp_replyinline
-
- Type: boolean
-
- Default: no
-
- Setting this variable will cause Mutt-ng to always attempt to create an
- inline (traditional) message when replying to a message which is PGP
- encrypted/signed inline. This can be overridden by use of the pgp-menu,
- when inline is not required. This option does not automatically detect if
- the (replied-to) message is inline; instead it relies on Mutt-ng internals
- for previously checked/flagged messages.
-
- Note that Mutt-ng might automatically use PGP/MIME for messages which
- consist of more than a single MIME part. Mutt-ng can be configured to ask
- before sending PGP/MIME messages when inline (traditional) would not work.
- See also: ``$pgp_mime_auto''.
-
- Also note that using the old-style PGP message format is strongly
- deprecated. (PGP only)
-
-207. pgp_retainable_sigs
-
- Type: boolean
-
- Default: no
-
- If set, signed and encrypted messages will consist of nested
- multipart/signed and multipart/encrypted body parts.
-
- This is useful for applications like encrypted and signed mailing lists,
- where the outer layer (multipart/encrypted) can be easily removed, while
- the inner multipart/signed part is retained. (PGP only)
-
-208. pgp_show_unusable
-
- Type: boolean
-
- Default: yes
-
- If set, Mutt-ng will display non-usable keys on the PGP key selection
- menu. This includes keys which have been revoked, have expired, or have
- been marked as ``disabled'' by the user. (PGP only)
-
-209. pgp_sign_as
-
- Type: string
-
- Default: ""
-
- If you have more than one key pair, this option allows you to specify
- which of your private keys to use. It is recommended that you use the
- keyid form to specify your key (e.g., ``0x00112233''). (PGP only)
-
-210. pgp_sign_command
-
- Type: string
-
- Default: ""
-
- This command is used to create the detached PGP signature for a
- multipart/signed PGP/MIME body part. (PGP only)
-
-211. pgp_sort_keys
-
- Type: sort order
-
- Default: address
-
- Specifies how the entries in the ``pgp keys'' menu are sorted. The
- following are legal values:
-
- address
-
- sort alphabetically by user id
-
- keyid
-
- sort alphabetically by key id
-
- date
-
- sort by key creation date
-
- trust
-
- sort by the trust of the key
-
- If you prefer reverse order of the above values, prefix it with
- ``reverse-''. (PGP only)
-
-212. pgp_strict_enc
-
- Type: boolean
-
- Default: yes
-
- If set, Mutt-ng will automatically encode PGP/MIME signed messages as
- quoted-printable. Please note that unsetting this variable may lead to
- problems with non-verifyable PGP signatures, so only change this if you
- know what you are doing. (PGP only)
-
-213. pgp_timeout
-
- Type: number
-
- Default: 300
-
- The number of seconds after which a cached passphrase will expire if not
- used. Default: 300. (PGP only)
-
-214. pgp_use_gpg_agent
-
- Type: boolean
-
- Default: no
-
- If set, Mutt-ng will use a possibly-running gpg-agent process. (PGP only)
-
-215. pgp_verify_command
-
- Type: string
-
- Default: ""
-
- This command is used to verify PGP signatures. (PGP only)
-
-216. pgp_verify_key_command
-
- Type: string
-
- Default: ""
-
- This command is used to verify key information from the key selection
- menu. (PGP only)
-
-217. pipe_decode
-
- Type: boolean
-
- Default: no
-
- Used in connection with the pipe-message command. When unset, Mutt-ng will
- pipe the messages without any preprocessing. When set, Mutt-ng will weed
- headers and will attempt to PGP/MIME decode the messages first.
-
-218. pipe_sep
-
- Type: string
-
- Default: "\n"
-
- The separator to add between messages when piping a list of tagged
- messages to an external Unix command.
-
-219. pipe_split
-
- Type: boolean
-
- Default: no
-
- Used in connection with the pipe-message command and the ``tag- prefix''
- or ``tag-prefix-cond'' operators. If this variable is unset, when piping a
- list of tagged messages Mutt-ng will concatenate the messages and will
- pipe them as a single folder. When set, Mutt-ng will pipe the messages one
- by one. In both cases the messages are piped in the current sorted order,
- and the ``$pipe_sep'' separator is added after each message.
-
-220. pop_auth_try_all
-
- Type: boolean
-
- Default: yes
-
- Availability: POP
-
- If set, Mutt-ng will try all available methods. When unset, Mutt-ng will
- only fall back to other authentication methods if the previous methods are
- unavailable. If a method is available but authentication fails, Mutt-ng
- will not connect to the POP server.
-
-221. pop_authenticators
-
- Type: string
-
- Default: ""
-
- Availability: POP
-
- This is a colon-delimited list of authentication methods Mutt-ng may
- attempt to use to log in to an POP server, in the order Mutt-ng should try
- them. Authentication methods are either ``user'', ``apop'' or any SASL
- mechanism, eg ``digest-md5'', ``gssapi'' or ``cram-md5''.
-
- This parameter is case-insensitive. If this parameter is unset (the
- default) Mutt-ng will try all available methods, in order from most-secure
- to least-secure.
-
- Example: set pop_authenticators="digest-md5:apop:user"
-
-222. pop_delete
-
- Type: quadoption
-
- Default: ask-no
-
- Availability: POP
-
- If set, Mutt-ng will delete successfully downloaded messages from the POP
- server when using the ``fetch-mail'' function. When unset, Mutt-ng will
- download messages but also leave them on the POP server.
-
-223. pop_host
-
- Type: string
-
- Default: ""
-
- Availability: POP
-
- The name of your POP server for the ``fetch-mail'' function. You can also
- specify an alternative port, username and password, i.e.:
-
- [pop[s]://][username[:password]@]popserver[:port]
-
- Note: Storing passwords in a configuration file presents a security risk
- since the superuser of your machine may read it regardless of the file's
- permissions.
-
-224. pop_last
-
- Type: boolean
-
- Default: no
-
- Availability: POP
-
- If this variable is set, Mutt-ng will try to use the ``LAST'' POP command
- for retrieving only unread messages from the POP server when using the
- ``fetch-mail'' function.
-
-225. pop_mail_check
-
- Type: number
-
- Default: 60
-
- Availability: POP
-
- This variable configures how often (in seconds) POP should look for new
- mail.