]> git.llucax.com Git - software/mutt-debian.git/blob - doc/advancedusage.html
Imported Upstream version 1.5.21
[software/mutt-debian.git] / doc / advancedusage.html
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 4. Advanced Usage</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="The Mutt E-Mail Client" /><link rel="up" href="index.html" title="The Mutt E-Mail Client" /><link rel="prev" href="configuration.html" title="Chapter 3. Configuration" /><link rel="next" href="mimesupport.html" title="Chapter 5. Mutt's MIME Support" /><style xmlns="" type="text/css">
4       body { margin-left:2%; margin-right:2%; font-family:serif; }
5 .toc, .list-of-tables, .list-of-examples { font-family:sans-serif; }
6 h1, h2, h3, h4, h5, h6 { font-family:sans-serif; }
7 p { text-align:justify; }
8 div.table p.title, div.example p.title { font-size:smaller; font-family:sans-serif; }
9 .email, .email a { font-family:monospace; }
10 div.table-contents table, div.informaltable table { border-collapse:collapse; border:1px solid #c0c0c0; }
11 div.table-contents table td, div.informaltable td, div.table-contents table th, div.informaltable table th { padding:5px; text-align:left; }
12 div.table-contents table th, div.informaltable table th {
13     font-family:sans-serif;
14     background:#d0d0d0;
15     font-weight:normal;
16     vertical-align:top;
17 }
18 div.cmdsynopsis { border-left:1px solid #707070; padding-left:5px; }
19 li div.cmdsynopsis { border-left:none; padding-left:0px; }
20 pre.screen, div.note { background:#f0f0f0; border:1px solid #c0c0c0; padding:5px; margin-left:2%; margin-right:2%; }
21 div.example p.title { margin-left:2%; }
22 div.note h3 { font-size:small; font-style:italic; font-variant: small-caps; }
23 div.note h3:after { content: ":" }
24 div.note { margin-bottom: 5px; }
25 .command { font-family: monospace; font-weight: normal; }
26 .command strong { font-weight: normal; }
27 tr { vertical-align: top; }
28 .comment { color:#707070; }
29
30     </style></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Advanced Usage</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="configuration.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="mimesupport.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 4. Advanced Usage"><div class="titlepage"><div><div><h2 class="title"><a id="advancedusage"></a>Chapter 4. Advanced Usage</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="advancedusage.html#charset-handling">1. Character Set Handling</a></span></dt><dt><span class="sect1"><a href="advancedusage.html#regexp">2. Regular Expressions</a></span></dt><dt><span class="sect1"><a href="advancedusage.html#patterns">3. Patterns: Searching, Limiting and Tagging</a></span></dt><dd><dl><dt><span class="sect2"><a href="advancedusage.html#patterns-modifier">3.1. Pattern Modifier</a></span></dt><dt><span class="sect2"><a href="advancedusage.html#simple-searches">3.2. Simple Searches</a></span></dt><dt><span class="sect2"><a href="advancedusage.html#complex-patterns">3.3. Nesting and Boolean Operators</a></span></dt><dt><span class="sect2"><a href="advancedusage.html#date-patterns">3.4. Searching by Date</a></span></dt></dl></dd><dt><span class="sect1"><a href="advancedusage.html#tags">4. Using Tags</a></span></dt><dt><span class="sect1"><a href="advancedusage.html#hooks">5. Using Hooks</a></span></dt><dd><dl><dt><span class="sect2"><a href="advancedusage.html#pattern-hook">5.1. Message Matching in Hooks</a></span></dt></dl></dd><dt><span class="sect1"><a href="advancedusage.html#query">6. External Address Queries</a></span></dt><dt><span class="sect1"><a href="advancedusage.html#mailbox-formats">7. Mailbox Formats</a></span></dt><dt><span class="sect1"><a href="advancedusage.html#shortcuts">8. Mailbox Shortcuts</a></span></dt><dt><span class="sect1"><a href="advancedusage.html#using-lists">9. Handling Mailing Lists</a></span></dt><dt><span class="sect1"><a href="advancedusage.html#new-mail">10. New Mail Detection</a></span></dt><dd><dl><dt><span class="sect2"><a href="advancedusage.html#new-mail-formats">10.1. How New Mail Detection Works</a></span></dt><dt><span class="sect2"><a href="advancedusage.html#new-mail-polling">10.2. Polling For New Mail</a></span></dt></dl></dd><dt><span class="sect1"><a href="advancedusage.html#editing-threads">11. Editing Threads</a></span></dt><dd><dl><dt><span class="sect2"><a href="advancedusage.html#link-threads">11.1. Linking Threads</a></span></dt><dt><span class="sect2"><a href="advancedusage.html#break-threads">11.2. Breaking Threads</a></span></dt></dl></dd><dt><span class="sect1"><a href="advancedusage.html#dsn">12. Delivery Status Notification (DSN) Support</a></span></dt><dt><span class="sect1"><a href="advancedusage.html#urlview">13. Start a WWW Browser on URLs</a></span></dt><dt><span class="sect1"><a href="advancedusage.html#misc-topics">14. Miscellany</a></span></dt></dl></div><div class="sect1" title="1. Character Set Handling"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="charset-handling"></a>1. Character Set Handling</h2></div></div></div><p>
31 A <span class="quote">“<span class="quote">character set</span>”</span> is basically a mapping between bytes and
32 glyphs and implies a certain character encoding scheme. For example, for
33 the ISO 8859 family of character sets, an encoding of 8bit per character
34 is used. For the Unicode character set, different character encodings
35 may be used, UTF-8 being the most popular. In UTF-8, a character is
36 represented using a variable number of bytes ranging from 1 to 4.
37 </p><p>
38 Since Mutt is a command-line tool run from a shell, and delegates
39 certain tasks to external tools (such as an editor for composing/editing
40 messages), all of these tools need to agree on a character set and
41 encoding. There exists no way to reliably deduce the character set a
42 plain text file has. Interoperability is gained by the use of
43 well-defined environment variables. The full set can be printed by
44 issuing <code class="literal">locale</code> on the command line.
45 </p><p>
46 Upon startup, Mutt determines the character set on its own using
47 routines that inspect locale-specific environment variables. Therefore,
48 it is generally not necessary to set the <code class="literal">$charset</code>
49 variable in Mutt. It may even be counter-productive as Mutt uses system
50 and library functions that derive the character set themselves and on
51 which Mutt has no influence. It's safest to let Mutt work out the locale
52 setup itself.
53 </p><p>
54 If you happen to work with several character sets on a regular basis,
55 it's highly advisable to use Unicode and an UTF-8 locale. Unicode can
56 represent nearly all characters in a message at the same time.  When not
57 using a Unicode locale, it may happen that you receive messages with
58 characters not representable in your locale. When displaying such a
59 message, or replying to or forwarding it, information may get lost
60 possibly rendering the message unusable (not only for you but also for
61 the recipient, this breakage is not reversible as lost information
62 cannot be guessed).
63 </p><p>
64 A Unicode locale makes all conversions superfluous which eliminates the
65 risk of conversion errors. It also eliminates potentially wrong
66 expectations about the character set between Mutt and external programs.
67 </p><p>
68 The terminal emulator used also must be properly configured for the
69 current locale. Terminal emulators usually do <span class="emphasis"><em>not</em></span>
70 derive the locale from environment variables, they need to be configured
71 separately. If the terminal is incorrectly configured, Mutt may display
72 random and unexpected characters (question marks, octal codes, or just
73 random glyphs), format strings may not work as expected, you may not be
74 abled to enter non-ascii characters, and possible more.  Data is always
75 represented using bytes and so a correct setup is very important as to
76 the machine, all character sets <span class="quote">“<span class="quote">look</span>”</span> the same.
77 </p><p>
78 Warning: A mismatch between what system and library functions think the
79 locale is and what Mutt was told what the locale is may make it behave
80 badly with non-ascii input: it will fail at seemingly random places.
81 This warning is to be taken seriously since not only local mail handling
82 may suffer: sent messages may carry wrong character set information the
83 <span class="emphasis"><em>receiver</em></span> has too deal with. The need to set
84 <code class="literal">$charset</code> directly in most cases points at terminal
85 and environment variable setup problems, not Mutt problems.
86 </p><p>
87 A list of officially assigned and known character sets can be found at
88 <a class="ulink" href="http://www.iana.org/assignments/character-sets" target="_top">IANA</a>,
89 a list of locally supported locales can be obtained by running
90 <code class="literal">locale -a</code>.
91 </p></div><div class="sect1" title="2. Regular Expressions"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="regexp"></a>2. Regular Expressions</h2></div></div></div><p>
92 All string patterns in Mutt including those in more complex <a class="link" href="advancedusage.html#patterns" title="3. Patterns: Searching, Limiting and Tagging">patterns</a> must be specified using regular
93 expressions (regexp) in the <span class="quote">“<span class="quote">POSIX extended</span>”</span> syntax (which
94 is more or less the syntax used by egrep and GNU awk).  For your
95 convenience, we have included below a brief description of this syntax.
96 </p><p>
97 The search is case sensitive if the pattern contains at least one upper
98 case letter, and case insensitive otherwise.
99 </p><div class="note" title="Note"><h3 class="title">Note</h3><p>
100 <span class="quote">“<span class="quote">\</span>”</span> must be quoted if used for a regular expression in an
101 initialization command: <span class="quote">“<span class="quote">\\</span>”</span>.
102 </p></div><p>
103 A regular expression is a pattern that describes a set of strings.
104 Regular expressions are constructed analogously to arithmetic
105 expressions, by using various operators to combine smaller expressions.
106 </p><div class="note" title="Note"><h3 class="title">Note</h3><p>
107 The regular expression can be enclosed/delimited by either " or ' which
108 is useful if the regular expression includes a white-space character.
109 See <a class="xref" href="configuration.html#muttrc-syntax" title="2. Syntax of Initialization Files">Syntax of Initialization Files</a> for more information on " and '
110 delimiter processing.  To match a literal " or ' you must preface it
111 with \ (backslash).
112 </p></div><p>
113 The fundamental building blocks are the regular expressions that match a
114 single character.  Most characters, including all letters and digits,
115 are regular expressions that match themselves.  Any metacharacter with
116 special meaning may be quoted by preceding it with a backslash.
117 </p><p>
118 The period <span class="quote">“<span class="quote">.</span>”</span> matches any single character.  The caret
119 <span class="quote">“<span class="quote">^</span>”</span> and the dollar sign <span class="quote">“<span class="quote">$</span>”</span> are metacharacters
120 that respectively match the empty string at the beginning and end of a
121 line.
122 </p><p>
123 A list of characters enclosed by <span class="quote">“<span class="quote">[</span>”</span> and <span class="quote">“<span class="quote">]</span>”</span>
124 matches any single character in that list; if the first character of the
125 list is a caret <span class="quote">“<span class="quote">^</span>”</span> then it matches any character
126 <span class="emphasis"><em>not</em></span> in the list.  For example, the regular
127 expression <span class="emphasis"><em>[0123456789]</em></span> matches any single digit.
128 A range of ASCII characters may be specified by giving the first and
129 last characters, separated by a hyphen <span class="quote">“<span class="quote">-</span>”</span>.  Most
130 metacharacters lose their special meaning inside lists.  To include a
131 literal <span class="quote">“<span class="quote">]</span>”</span> place it first in the list.  Similarly, to
132 include a literal <span class="quote">“<span class="quote">^</span>”</span> place it anywhere but first.
133 Finally, to include a literal hyphen <span class="quote">“<span class="quote">-</span>”</span> place it last.
134 </p><p>
135 Certain named classes of characters are predefined.  Character classes
136 consist of <span class="quote">“<span class="quote">[:</span>”</span>, a keyword denoting the class, and
137 <span class="quote">“<span class="quote">:]</span>”</span>.  The following classes are defined by the POSIX
138 standard in
139 <a class="xref" href="advancedusage.html#posix-regex-char-classes" title="Table 4.1. POSIX regular expression character classes">Table 4.1, “POSIX regular expression character classes”</a>
140 </p><div class="table"><a id="posix-regex-char-classes"></a><p class="title"><b>Table 4.1. POSIX regular expression character classes</b></p><div class="table-contents"><table summary="POSIX regular expression character classes" border="1"><colgroup><col /><col /></colgroup><thead><tr><th>Character class</th><th>Description</th></tr></thead><tbody><tr><td>[:alnum:]</td><td>Alphanumeric characters</td></tr><tr><td>[:alpha:]</td><td>Alphabetic characters</td></tr><tr><td>[:blank:]</td><td>Space or tab characters</td></tr><tr><td>[:cntrl:]</td><td>Control characters</td></tr><tr><td>[:digit:]</td><td>Numeric characters</td></tr><tr><td>[:graph:]</td><td>Characters that are both printable and visible. (A space is printable, but not visible, while an <span class="quote">“<span class="quote">a</span>”</span> is both)</td></tr><tr><td>[:lower:]</td><td>Lower-case alphabetic characters</td></tr><tr><td>[:print:]</td><td>Printable characters (characters that are not control characters)</td></tr><tr><td>[:punct:]</td><td>Punctuation characters (characters that are not letter, digits, control characters, or space characters)</td></tr><tr><td>[:space:]</td><td>Space characters (such as space, tab and formfeed, to name a few)</td></tr><tr><td>[:upper:]</td><td>Upper-case alphabetic characters</td></tr><tr><td>[:xdigit:]</td><td>Characters that are hexadecimal digits</td></tr></tbody></table></div></div><br class="table-break" /><p>
141 A character class is only valid in a regular expression inside the
142 brackets of a character list.
143 </p><div class="note" title="Note"><h3 class="title">Note</h3><p>
144 Note that the brackets in these class names are part of the symbolic
145 names, and must be included in addition to the brackets delimiting the
146 bracket list. For example, <span class="emphasis"><em>[[:digit:]]</em></span> is
147 equivalent to <span class="emphasis"><em>[0-9]</em></span>.
148 </p></div><p>
149 Two additional special sequences can appear in character lists.  These
150 apply to non-ASCII character sets, which can have single symbols (called
151 collating elements) that are represented with more than one character,
152 as well as several characters that are equivalent for collating or
153 sorting purposes:
154 </p><div class="variablelist"><dl><dt><span class="term">Collating Symbols</span></dt><dd><p>
155 A collating symbol is a multi-character collating element enclosed in
156 <span class="quote">“<span class="quote">[.</span>”</span> and <span class="quote">“<span class="quote">.]</span>”</span>.  For example, if
157 <span class="quote">“<span class="quote">ch</span>”</span> is a collating element, then
158 <span class="emphasis"><em>[[.ch.]]</em></span> is a regexp that matches this collating
159 element, while <span class="emphasis"><em>[ch]</em></span> is a regexp that matches either
160 <span class="quote">“<span class="quote">c</span>”</span> or <span class="quote">“<span class="quote">h</span>”</span>.
161 </p></dd><dt><span class="term">Equivalence Classes</span></dt><dd><p>
162 An equivalence class is a locale-specific name for a list of characters
163 that are equivalent. The name is enclosed in <span class="quote">“<span class="quote">[=</span>”</span> and
164 <span class="quote">“<span class="quote">=]</span>”</span>.  For example, the name <span class="quote">“<span class="quote">e</span>”</span> might be used
165 to represent all of <span class="quote">“<span class="quote">e</span>”</span> with grave
166 (<span class="quote">“<span class="quote">è</span>”</span>), <span class="quote">“<span class="quote">e</span>”</span> with acute
167 (<span class="quote">“<span class="quote">é</span>”</span>) and <span class="quote">“<span class="quote">e</span>”</span>.  In this case,
168 <span class="emphasis"><em>[[=e=]]</em></span> is a regexp that matches any of:
169 <span class="quote">“<span class="quote">e</span>”</span> with grave (<span class="quote">“<span class="quote">è</span>”</span>), <span class="quote">“<span class="quote">e</span>”</span>
170 with acute (<span class="quote">“<span class="quote">é</span>”</span>) and <span class="quote">“<span class="quote">e</span>”</span>.
171 </p></dd></dl></div><p>
172 A regular expression matching a single character may be followed by one
173 of several repetition operators described in <a class="xref" href="advancedusage.html#regex-repeat" title="Table 4.2. Regular expression repetition operators">Table 4.2, “Regular expression repetition operators”</a>.
174 </p><div class="table"><a id="regex-repeat"></a><p class="title"><b>Table 4.2. Regular expression repetition operators</b></p><div class="table-contents"><table summary="Regular expression repetition operators" border="1"><colgroup><col /><col /></colgroup><thead><tr><th>Operator</th><th>Description</th></tr></thead><tbody><tr><td>?</td><td>The preceding item is optional and matched at most once</td></tr><tr><td>*</td><td>The preceding item will be matched zero or more times</td></tr><tr><td>+</td><td>The preceding item will be matched one or more times</td></tr><tr><td>{n}</td><td>The preceding item is matched exactly <span class="emphasis"><em>n</em></span> times</td></tr><tr><td>{n,}</td><td>The preceding item is matched <span class="emphasis"><em>n</em></span> or more times</td></tr><tr><td>{,m}</td><td>The preceding item is matched at most <span class="emphasis"><em>m</em></span> times</td></tr><tr><td>{n,m}</td><td>The preceding item is matched at least <span class="emphasis"><em>n</em></span> times, but no more than <span class="emphasis"><em>m</em></span> times</td></tr></tbody></table></div></div><br class="table-break" /><p>
175 Two regular expressions may be concatenated; the resulting regular
176 expression matches any string formed by concatenating two substrings
177 that respectively match the concatenated subexpressions.
178 </p><p>
179 Two regular expressions may be joined by the infix operator
180 <span class="quote">“<span class="quote">|</span>”</span>; the resulting regular expression matches any string
181 matching either subexpression.
182 </p><p>
183 Repetition takes precedence over concatenation, which in turn takes
184 precedence over alternation.  A whole subexpression may be enclosed in
185 parentheses to override these precedence rules.
186 </p><div class="note" title="Note"><h3 class="title">Note</h3><p>
187 If you compile Mutt with the included regular expression engine, the
188 following operators may also be used in regular expressions as described
189 in <a class="xref" href="advancedusage.html#regex-gnu-ext" title="Table 4.3. GNU regular expression extensions">Table 4.3, “GNU regular expression extensions”</a>.
190 </p></div><div class="table"><a id="regex-gnu-ext"></a><p class="title"><b>Table 4.3. GNU regular expression extensions</b></p><div class="table-contents"><table summary="GNU regular expression extensions" border="1"><colgroup><col /><col /></colgroup><thead><tr><th>Expression</th><th>Description</th></tr></thead><tbody><tr><td>\\y</td><td>Matches the empty string at either the beginning or the end of a word</td></tr><tr><td>\\B</td><td>Matches the empty string within a word</td></tr><tr><td>\\&lt;</td><td>Matches the empty string at the beginning of a word</td></tr><tr><td>\\&gt;</td><td>Matches the empty string at the end of a word</td></tr><tr><td>\\w</td><td>Matches any word-constituent character (letter, digit, or underscore)</td></tr><tr><td>\\W</td><td>Matches any character that is not word-constituent</td></tr><tr><td>\\`</td><td>Matches the empty string at the beginning of a buffer (string)</td></tr><tr><td>\\'</td><td>Matches the empty string at the end of a buffer</td></tr></tbody></table></div></div><br class="table-break" /><p>
191 Please note however that these operators are not defined by POSIX, so
192 they may or may not be available in stock libraries on various systems.
193 </p></div><div class="sect1" title="3. Patterns: Searching, Limiting and Tagging"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="patterns"></a>3. Patterns: Searching, Limiting and Tagging</h2></div></div></div><div class="sect2" title="3.1. Pattern Modifier"><div class="titlepage"><div><div><h3 class="title"><a id="patterns-modifier"></a>3.1. Pattern Modifier</h3></div></div></div><p>
194 Many of Mutt's commands allow you to specify a pattern to match
195 (<code class="literal">limit</code>, <code class="literal">tag-pattern</code>,
196 <code class="literal">delete-pattern</code>, etc.). <a class="xref" href="advancedusage.html#tab-patterns" title="Table 4.4. Pattern modifiers">Table 4.4, “Pattern modifiers”</a>
197 shows several ways to select messages.
198 </p><div class="table"><a id="tab-patterns"></a><p class="title"><b>Table 4.4. Pattern modifiers</b></p><div class="table-contents"><table summary="Pattern modifiers" border="1"><colgroup><col /><col /></colgroup><thead><tr><th>Pattern modifier</th><th>Description</th></tr></thead><tbody><tr><td>~A</td><td>all messages</td></tr><tr><td>~b <span class="emphasis"><em>EXPR</em></span></td><td>messages which contain <span class="emphasis"><em>EXPR</em></span> in the message body</td></tr><tr><td>=b <span class="emphasis"><em>STRING</em></span></td><td>messages which contain <span class="emphasis"><em>STRING</em></span> in the message body. If IMAP is enabled, searches for <span class="emphasis"><em>STRING</em></span> on the server, rather than downloading each message and searching it locally.</td></tr><tr><td>~B <span class="emphasis"><em>EXPR</em></span></td><td>messages which contain <span class="emphasis"><em>EXPR</em></span> in the whole message</td></tr><tr><td>~c <span class="emphasis"><em>EXPR</em></span></td><td>messages carbon-copied to <span class="emphasis"><em>EXPR</em></span></td></tr><tr><td>%c <span class="emphasis"><em>GROUP</em></span></td><td>messages carbon-copied to any member of <span class="emphasis"><em>GROUP</em></span></td></tr><tr><td>~C <span class="emphasis"><em>EXPR</em></span></td><td>messages either to: or cc: <span class="emphasis"><em>EXPR</em></span></td></tr><tr><td>%C <span class="emphasis"><em>GROUP</em></span></td><td>messages either to: or cc: to any member of <span class="emphasis"><em>GROUP</em></span></td></tr><tr><td>~d [<span class="emphasis"><em>MIN</em></span>]-[<span class="emphasis"><em>MAX</em></span>]</td><td>messages with <span class="quote">“<span class="quote">date-sent</span>”</span> in a Date range</td></tr><tr><td>~D</td><td>deleted messages</td></tr><tr><td>~e <span class="emphasis"><em>EXPR</em></span></td><td>messages which contains <span class="emphasis"><em>EXPR</em></span> in the <span class="quote">“<span class="quote">Sender</span>”</span> field</td></tr><tr><td>%e <span class="emphasis"><em>GROUP</em></span></td><td>messages which contain a member of <span class="emphasis"><em>GROUP</em></span> in the <span class="quote">“<span class="quote">Sender</span>”</span> field</td></tr><tr><td>~E</td><td>expired messages</td></tr><tr><td>~F</td><td>flagged messages</td></tr><tr><td>~f <span class="emphasis"><em>EXPR</em></span></td><td>messages originating from <span class="emphasis"><em>EXPR</em></span></td></tr><tr><td>%f <span class="emphasis"><em>GROUP</em></span></td><td>messages originating from any member of <span class="emphasis"><em>GROUP</em></span></td></tr><tr><td>~g</td><td>cryptographically signed messages</td></tr><tr><td>~G</td><td>cryptographically encrypted messages</td></tr><tr><td>~h <span class="emphasis"><em>EXPR</em></span></td><td>messages which contain <span class="emphasis"><em>EXPR</em></span> in the message header</td></tr><tr><td>~H <span class="emphasis"><em>EXPR</em></span></td><td>messages with a spam attribute matching <span class="emphasis"><em>EXPR</em></span></td></tr><tr><td>~i <span class="emphasis"><em>EXPR</em></span></td><td>messages which match <span class="emphasis"><em>EXPR</em></span> in the <span class="quote">“<span class="quote">Message-ID</span>”</span> field</td></tr><tr><td>~k</td><td>messages which contain PGP key material</td></tr><tr><td>~L <span class="emphasis"><em>EXPR</em></span></td><td>messages either originated or received by <span class="emphasis"><em>EXPR</em></span></td></tr><tr><td>%L <span class="emphasis"><em>GROUP</em></span></td><td>message either originated or received by any member of <span class="emphasis"><em>GROUP</em></span></td></tr><tr><td>~l</td><td>messages addressed to a known mailing list</td></tr><tr><td>~m [<span class="emphasis"><em>MIN</em></span>]-[<span class="emphasis"><em>MAX</em></span>]</td><td>messages in the range <span class="emphasis"><em>MIN</em></span> to <span class="emphasis"><em>MAX</em></span> *)</td></tr><tr><td>~n [<span class="emphasis"><em>MIN</em></span>]-[<span class="emphasis"><em>MAX</em></span>]</td><td>messages with a score in the range <span class="emphasis"><em>MIN</em></span> to <span class="emphasis"><em>MAX</em></span> *)</td></tr><tr><td>~N</td><td>new messages</td></tr><tr><td>~O</td><td>old messages</td></tr><tr><td>~p</td><td>messages addressed to you (consults <span class="command"><strong>alternates</strong></span>)</td></tr><tr><td>~P</td><td>messages from you (consults <span class="command"><strong>alternates</strong></span>)</td></tr><tr><td>~Q</td><td>messages which have been replied to</td></tr><tr><td>~r [<span class="emphasis"><em>MIN</em></span>]-[<span class="emphasis"><em>MAX</em></span>]</td><td>messages with <span class="quote">“<span class="quote">date-received</span>”</span> in a Date range</td></tr><tr><td>~R</td><td>read messages</td></tr><tr><td>~s <span class="emphasis"><em>EXPR</em></span></td><td>messages having <span class="emphasis"><em>EXPR</em></span> in the <span class="quote">“<span class="quote">Subject</span>”</span> field.</td></tr><tr><td>~S</td><td>superseded messages</td></tr><tr><td>~t <span class="emphasis"><em>EXPR</em></span></td><td>messages addressed to <span class="emphasis"><em>EXPR</em></span></td></tr><tr><td>~T</td><td>tagged messages</td></tr><tr><td>~u</td><td>messages addressed to a subscribed mailing list</td></tr><tr><td>~U</td><td>unread messages</td></tr><tr><td>~v</td><td>messages part of a collapsed thread.</td></tr><tr><td>~V</td><td>cryptographically verified messages</td></tr><tr><td>~x <span class="emphasis"><em>EXPR</em></span></td><td>messages which contain <span class="emphasis"><em>EXPR</em></span> in the <span class="quote">“<span class="quote">References</span>”</span> or <span class="quote">“<span class="quote">In-Reply-To</span>”</span> field</td></tr><tr><td>~X [<span class="emphasis"><em>MIN</em></span>]-[<span class="emphasis"><em>MAX</em></span>]</td><td>messages with <span class="emphasis"><em>MIN</em></span> to <span class="emphasis"><em>MAX</em></span> attachments *)</td></tr><tr><td>~y <span class="emphasis"><em>EXPR</em></span></td><td>messages which contain <span class="emphasis"><em>EXPR</em></span> in the <span class="quote">“<span class="quote">X-Label</span>”</span> field</td></tr><tr><td>~z [<span class="emphasis"><em>MIN</em></span>]-[<span class="emphasis"><em>MAX</em></span>]</td><td>messages with a size in the range <span class="emphasis"><em>MIN</em></span> to <span class="emphasis"><em>MAX</em></span> *) **)</td></tr><tr><td>~=</td><td>duplicated messages (see <a class="link" href="reference.html#duplicate-threads" title="3.56. duplicate_threads">$duplicate_threads</a>)</td></tr><tr><td>~$</td><td>unreferenced messages (requires threaded view)</td></tr><tr><td>~(<span class="emphasis"><em>PATTERN</em></span>)</td><td>messages in threads
199 containing messages matching <span class="emphasis"><em>PATTERN</em></span>, e.g. all
200 threads containing messages from you: ~(~P)</td></tr></tbody></table></div></div><br class="table-break" /><p>
201 Where <span class="emphasis"><em>EXPR</em></span> is a <a class="link" href="advancedusage.html#regexp" title="2. Regular Expressions">regular expression</a>, and <span class="emphasis"><em>GROUP</em></span> is an
202 <a class="link" href="configuration.html#addrgroup" title="3. Address Groups">address group</a>.
203 </p><p>
204 *) The forms <span class="quote">“<span class="quote">&lt;[<span class="emphasis"><em>MAX</em></span>]</span>”</span>,
205 <span class="quote">“<span class="quote">&gt;[<span class="emphasis"><em>MIN</em></span>]</span>”</span>,
206 <span class="quote">“<span class="quote">[<span class="emphasis"><em>MIN</em></span>]-</span>”</span> and
207 <span class="quote">“<span class="quote">-[<span class="emphasis"><em>MAX</em></span>]</span>”</span> are allowed, too.
208 </p><p>
209 **) The suffixes <span class="quote">“<span class="quote">K</span>”</span> and <span class="quote">“<span class="quote">M</span>”</span> are allowed to
210 specify kilobyte and megabyte respectively.
211 </p><p>
212 Special attention has to be payed when using regular expressions inside
213 of patterns.  Specifically, Mutt's parser for these patterns will strip
214 one level of backslash (<span class="quote">“<span class="quote">\</span>”</span>), which is normally used for
215 quoting.  If it is your intention to use a backslash in the regular
216 expression, you will need to use two backslashes instead
217 (<span class="quote">“<span class="quote">\\</span>”</span>). You can force Mutt to treat
218 <span class="emphasis"><em>EXPR</em></span> as a simple string instead of a regular
219 expression by using = instead of ~ in the pattern name. For example,
220 <code class="literal">=b *.*</code> will find all messages that contain the
221 literal string <span class="quote">“<span class="quote">*.*</span>”</span>. Simple string matches are less
222 powerful than regular expressions but can be considerably faster. This
223 is especially true for IMAP folders, because string matches can be
224 performed on the server instead of by fetching every message. IMAP
225 treats <code class="literal">=h</code> specially: it must be of the form
226 <span class="quote">“<span class="quote">header: substring</span>”</span> and will not partially match header
227 names. The substring part may be omitted if you simply wish to find
228 messages containing a particular header without regard to its value.
229 </p><p>
230 Patterns matching lists of addresses (notably c, C, p, P and t) match if
231 there is at least one match in the whole list. If you want to make sure
232 that all elements of that list match, you need to prefix your pattern
233 with <span class="quote">“<span class="quote">^</span>”</span>.  This example matches all mails which only has
234 recipients from Germany.
235 </p><div class="example"><a id="ex-recips"></a><p class="title"><b>Example 4.1. Matching all addresses in address lists</b></p><div class="example-contents"><pre class="screen">
236 ^~C \.de$
237 </pre></div></div><br class="example-break" /></div><div class="sect2" title="3.2. Simple Searches"><div class="titlepage"><div><div><h3 class="title"><a id="simple-searches"></a>3.2. Simple Searches</h3></div></div></div><p>
238 Mutt supports two versions of so called <span class="quote">“<span class="quote">simple
239 searches</span>”</span>. These are issued if the query entered for searching,
240 limiting and similar operations does not seem to contain a valid pattern
241 modifier (i.e. it does not contain one of these characters:
242 <span class="quote">“<span class="quote">~</span>”</span>, <span class="quote">“<span class="quote">=</span>”</span> or <span class="quote">“<span class="quote">%</span>”</span>). If the query is
243 supposed to contain one of these special characters, they must be
244 escaped by prepending a backslash (<span class="quote">“<span class="quote">\</span>”</span>).
245 </p><p>
246 The first type is by checking whether the query string equals
247 a keyword case-insensitively from <a class="xref" href="advancedusage.html#tab-simplesearch-keywords" title="Table 4.5. Simple search keywords">Table 4.5, “Simple search keywords”</a>:
248 If that is the case, Mutt will use the shown pattern modifier instead.
249 If a keyword would conflict with your search keyword, you need to turn
250 it into a regular expression to avoid matching the keyword table. For
251 example, if you want to find all messages matching <span class="quote">“<span class="quote">flag</span>”</span>
252 (using <a class="link" href="reference.html#simple-search" title="3.237. simple_search">$simple_search</a>)
253 but don't want to match flagged messages, simply search for
254 <span class="quote">“<span class="quote"><code class="literal">[f]lag</code></span>”</span>.
255 </p><div class="table"><a id="tab-simplesearch-keywords"></a><p class="title"><b>Table 4.5. Simple search keywords</b></p><div class="table-contents"><table summary="Simple search keywords" border="1"><colgroup><col /><col /></colgroup><thead><tr><th>Keyword</th><th>Pattern modifier</th></tr></thead><tbody><tr><td>all</td><td>~A</td></tr><tr><td>.</td><td>~A</td></tr><tr><td>^</td><td>~A</td></tr><tr><td>del</td><td>~D</td></tr><tr><td>flag</td><td>~F</td></tr><tr><td>new</td><td>~N</td></tr><tr><td>old</td><td>~O</td></tr><tr><td>repl</td><td>~Q</td></tr><tr><td>read</td><td>~R</td></tr><tr><td>tag</td><td>~T</td></tr><tr><td>unread</td><td>~U</td></tr></tbody></table></div></div><br class="table-break" /><p>
256 The second type of simple search is to build a complex search pattern
257 using <a class="link" href="reference.html#simple-search" title="3.237. simple_search">$simple_search</a> as a
258 template. Mutt will insert your query properly quoted and search for the
259 composed complex query.
260 </p></div><div class="sect2" title="3.3. Nesting and Boolean Operators"><div class="titlepage"><div><div><h3 class="title"><a id="complex-patterns"></a>3.3. Nesting and Boolean Operators</h3></div></div></div><p>
261 Logical AND is performed by specifying more than one criterion.  For
262 example:
263 </p><pre class="screen">
264 ~t mutt ~f elkins
265 </pre><p>
266 would select messages which contain the word <span class="quote">“<span class="quote">mutt</span>”</span> in the
267 list of recipients <span class="emphasis"><em>and</em></span> that have the word
268 <span class="quote">“<span class="quote">elkins</span>”</span> in the <span class="quote">“<span class="quote">From</span>”</span> header field.
269 </p><p>
270 Mutt also recognizes the following operators to create more complex
271 search patterns:
272 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
273 ! — logical NOT operator
274 </p></li><li class="listitem"><p>
275 | — logical OR operator
276 </p></li><li class="listitem"><p>
277 () — logical grouping operator
278 </p></li></ul></div><p>
279 Here is an example illustrating a complex search pattern.  This pattern
280 will select all messages which do not contain <span class="quote">“<span class="quote">mutt</span>”</span> in the
281 <span class="quote">“<span class="quote">To</span>”</span> or <span class="quote">“<span class="quote">Cc</span>”</span> field and which are from
282 <span class="quote">“<span class="quote">elkins</span>”</span>.
283 </p><div class="example"><a id="ex-pattern-bool"></a><p class="title"><b>Example 4.2. Using boolean operators in patterns</b></p><div class="example-contents"><pre class="screen">
284 !(~t mutt|~c mutt) ~f elkins
285 </pre></div></div><br class="example-break" /><p>
286 Here is an example using white space in the regular expression (note the
287 <span class="quote">“<span class="quote">'</span>”</span> and <span class="quote">“<span class="quote">"</span>”</span> delimiters).  For this to match,
288 the mail's subject must match the <span class="quote">“<span class="quote">^Junk +From +Me$</span>”</span> and it
289 must be from either <span class="quote">“<span class="quote">Jim +Somebody</span>”</span> or <span class="quote">“<span class="quote">Ed
290 +SomeoneElse</span>”</span>:
291 </p><pre class="screen">
292 '~s "^Junk +From +Me$" ~f ("Jim +Somebody"|"Ed +SomeoneElse")'
293 </pre><div class="note" title="Note"><h3 class="title">Note</h3><p>
294 If a regular expression contains parenthesis, or a vertical bar ("|"),
295 you <span class="emphasis"><em>must</em></span> enclose the expression in double or single
296 quotes since those characters are also used to separate different parts
297 of Mutt's pattern language.  For example: <code class="literal">~f
298 "me@(mutt\.org|cs\.hmc\.edu)"</code> Without the quotes, the
299 parenthesis wouldn't end.  This would be separated to two OR'd patterns:
300 <span class="emphasis"><em>~f me@(mutt\.org</em></span> and
301 <span class="emphasis"><em>cs\.hmc\.edu)</em></span>. They are never what you want.
302 </p></div></div><div class="sect2" title="3.4. Searching by Date"><div class="titlepage"><div><div><h3 class="title"><a id="date-patterns"></a>3.4. Searching by Date</h3></div></div></div><p>
303 Mutt supports two types of dates, <span class="emphasis"><em>absolute</em></span> and
304 <span class="emphasis"><em>relative</em></span>.
305 </p><div class="sect3" title="3.4.1. Absolute Dates"><div class="titlepage"><div><div><h4 class="title"><a id="date-absolute"></a>3.4.1. Absolute Dates</h4></div></div></div><p>
306 Dates <span class="emphasis"><em>must</em></span> be in DD/MM/YY format (month and year
307 are optional, defaulting to the current month and year).  An example of
308 a valid range of dates is:
309 </p><pre class="screen">
310 Limit to messages matching: ~d 20/1/95-31/10
311 </pre><p>
312 If you omit the minimum (first) date, and just specify
313 <span class="quote">“<span class="quote">-DD/MM/YY</span>”</span>, all messages <span class="emphasis"><em>before</em></span> the
314 given date will be selected.  If you omit the maximum (second) date, and
315 specify <span class="quote">“<span class="quote">DD/MM/YY-</span>”</span>, all messages
316 <span class="emphasis"><em>after</em></span> the given date will be selected.  If you
317 specify a single date with no dash (<span class="quote">“<span class="quote">-</span>”</span>), only messages
318 sent on the given date will be selected.
319 </p><p>
320 You can add error margins to absolute dates.  An error margin is a sign
321 (+ or -), followed by a digit, followed by one of the units in <a class="xref" href="advancedusage.html#tab-date-units" title="Table 4.6. Date units">Table 4.6, “Date units”</a>. As a special case, you can replace the sign
322 by a <span class="quote">“<span class="quote">*</span>”</span> character, which is equivalent to giving identical
323 plus and minus error margins.
324 </p><div class="table"><a id="tab-date-units"></a><p class="title"><b>Table 4.6. Date units</b></p><div class="table-contents"><table summary="Date units" border="1"><colgroup><col /><col /></colgroup><thead><tr><th>Unit</th><th>Description</th></tr></thead><tbody><tr><td>y</td><td>Years</td></tr><tr><td>m</td><td>Months</td></tr><tr><td>w</td><td>Weeks</td></tr><tr><td>d</td><td>Days</td></tr></tbody></table></div></div><br class="table-break" /><p>
325 Example: To select any messages two weeks around January 15, 2001, you'd
326 use the following pattern:
327 </p><pre class="screen">
328 Limit to messages matching: ~d 15/1/2001*2w
329 </pre></div><div class="sect3" title="3.4.2. Relative Dates"><div class="titlepage"><div><div><h4 class="title"><a id="dates-relative"></a>3.4.2. Relative Dates</h4></div></div></div><p>
330 This type of date is relative to the current date, and may be specified
331 as:
332 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
333 &gt;<span class="emphasis"><em>offset</em></span> for messages older than
334 <span class="emphasis"><em>offset</em></span> units
335 </p></li><li class="listitem"><p>
336 &lt;<span class="emphasis"><em>offset</em></span> for messages newer than
337 <span class="emphasis"><em>offset</em></span> units
338 </p></li><li class="listitem"><p>
339 =<span class="emphasis"><em>offset</em></span> for messages exactly
340 <span class="emphasis"><em>offset</em></span> units old
341 </p></li></ul></div><p>
342 <span class="emphasis"><em>offset</em></span> is specified as a positive number with one
343 of the units from <a class="xref" href="advancedusage.html#tab-date-units" title="Table 4.6. Date units">Table 4.6, “Date units”</a>.
344 </p><p>
345 Example: to select messages less than 1 month old, you would use
346 </p><pre class="screen">
347 Limit to messages matching: ~d &lt;1m
348 </pre><div class="note" title="Note"><h3 class="title">Note</h3><p>
349 All dates used when searching are relative to the
350 <span class="emphasis"><em>local</em></span> time zone, so unless you change the setting
351 of your <a class="link" href="reference.html#index-format" title="3.114. index_format">$index_format</a> to include a
352 <code class="literal">%[...]</code> format, these are <span class="emphasis"><em>not</em></span> the
353 dates shown in the main index.
354 </p></div></div></div></div><div class="sect1" title="4. Using Tags"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tags"></a>4. Using Tags</h2></div></div></div><p>
355 Sometimes it is desirable to perform an operation on a group of messages
356 all at once rather than one at a time.  An example might be to save
357 messages to a mailing list to a separate folder, or to delete all
358 messages with a given subject.  To tag all messages matching a pattern,
359 use the <code class="literal">&lt;tag-pattern&gt;</code> function, which is bound
360 to <span class="quote">“<span class="quote">shift-T</span>”</span> by default.  Or you can select individual
361 messages by hand using the <code class="literal">&lt;tag-message&gt;</code>
362 function, which is bound to <span class="quote">“<span class="quote">t</span>”</span> by default.  See <a class="link" href="advancedusage.html#patterns" title="3. Patterns: Searching, Limiting and Tagging">patterns</a> for Mutt's pattern matching syntax.
363 </p><p>
364 Once you have tagged the desired messages, you can use the
365 <span class="quote">“<span class="quote">tag-prefix</span>”</span> operator, which is the <span class="quote">“<span class="quote">;</span>”</span>
366 (semicolon) key by default.  When the <span class="quote">“<span class="quote">tag-prefix</span>”</span> operator
367 is used, the <span class="emphasis"><em>next</em></span> operation will be applied to all
368 tagged messages if that operation can be used in that manner.  If the
369 <a class="link" href="reference.html#auto-tag" title="3.17. auto_tag">$auto_tag</a> variable is set, the next
370 operation applies to the tagged messages automatically, without
371 requiring the <span class="quote">“<span class="quote">tag-prefix</span>”</span>.
372 </p><p>
373 In <a class="link" href="configuration.html#macro" title="8. Keyboard Macros"><span class="command"><strong>macro</strong></span>s</a> or <a class="link" href="configuration.html#push" title="22. Adding Key Sequences to the Keyboard Buffer"><span class="command"><strong>push</strong></span></a> commands, you can use the
374 <code class="literal">&lt;tag-prefix-cond&gt;</code> operator.  If there are no
375 tagged messages, Mutt will <span class="quote">“<span class="quote">eat</span>”</span> the rest of the macro to
376 abort it's execution.  Mutt will stop <span class="quote">“<span class="quote">eating</span>”</span> the macro
377 when it encounters the <code class="literal">&lt;end-cond&gt;</code> operator;
378 after this operator the rest of the macro will be executed as normal.
379 </p></div><div class="sect1" title="5. Using Hooks"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="hooks"></a>5. Using Hooks</h2></div></div></div><p>
380 A <span class="emphasis"><em>hook</em></span> is a concept found in many other programs
381 which allows you to execute arbitrary commands before performing some
382 operation.  For example, you may wish to tailor your configuration based
383 upon which mailbox you are reading, or to whom you are sending mail.  In
384 the Mutt world, a <span class="emphasis"><em>hook</em></span> consists of a <a class="link" href="advancedusage.html#regexp" title="2. Regular Expressions">regular expression</a> or <a class="link" href="advancedusage.html#patterns" title="3. Patterns: Searching, Limiting and Tagging">pattern</a> along with a configuration
385 option/command.  See:
386
387 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
388 <a class="link" href="optionalfeatures.html#account-hook" title="6. Managing Multiple Accounts"><span class="command"><strong>account-hook</strong></span></a>
389 </p></li><li class="listitem"><p>
390 <a class="link" href="configuration.html#charset-hook" title="6. Defining Aliases for Character Sets"><span class="command"><strong>charset-hook</strong></span></a>
391 </p></li><li class="listitem"><p>
392 <a class="link" href="configuration.html#crypt-hook" title="21. Choosing the Cryptographic Key of the Recipient"><span class="command"><strong>crypt-hook</strong></span></a>
393 </p></li><li class="listitem"><p>
394 <a class="link" href="configuration.html#fcc-hook" title="17. Specify Default Fcc: Mailbox When Composing"><span class="command"><strong>fcc-hook</strong></span></a>
395 </p></li><li class="listitem"><p>
396 <a class="link" href="configuration.html#fcc-save-hook" title="18. Specify Default Save Filename and Default Fcc: Mailbox at Once"><span class="command"><strong>fcc-save-hook</strong></span></a>
397 </p></li><li class="listitem"><p>
398 <a class="link" href="configuration.html#folder-hook" title="7. Setting Variables Based Upon Mailbox"><span class="command"><strong>folder-hook</strong></span></a>
399 </p></li><li class="listitem"><p>
400 <a class="link" href="configuration.html#iconv-hook"><span class="command"><strong>iconv-hook</strong></span></a>
401 </p></li><li class="listitem"><p>
402 <a class="link" href="configuration.html#mbox-hook" title="13. Using Multiple Spool Mailboxes"><span class="command"><strong>mbox-hook</strong></span></a>
403 </p></li><li class="listitem"><p>
404 <a class="link" href="configuration.html#message-hook" title="20. Change Settings Before Formatting a Message"><span class="command"><strong>message-hook</strong></span></a>
405 </p></li><li class="listitem"><p>
406 <a class="link" href="configuration.html#reply-hook"><span class="command"><strong>reply-hook</strong></span></a>
407 </p></li><li class="listitem"><p>
408 <a class="link" href="configuration.html#save-hook" title="16. Specify Default Save Mailbox"><span class="command"><strong>save-hook</strong></span></a>
409 </p></li><li class="listitem"><p>
410 <a class="link" href="configuration.html#send-hook" title="19. Change Settings Based Upon Message Recipients"><span class="command"><strong>send-hook</strong></span></a>
411 </p></li><li class="listitem"><p>
412 <a class="link" href="configuration.html#send2-hook"><span class="command"><strong>send2-hook</strong></span></a>
413 </p></li></ul></div><p>
414
415 for specific details on each type of <span class="emphasis"><em>hook</em></span> available.
416 </p><div class="note" title="Note"><h3 class="title">Note</h3><p>
417 If a hook changes configuration settings, these changes remain effective
418 until the end of the current Mutt session. As this is generally not
419 desired, a <span class="quote">“<span class="quote">default</span>”</span> hook needs to be added before all
420 other hooks of that type to restore configuration defaults.
421 </p></div><div class="example"><a id="ex-default-hook"></a><p class="title"><b>Example 4.3. Specifying a <span class="quote">“<span class="quote">default</span>”</span> hook</b></p><div class="example-contents"><pre class="screen">
422 send-hook . 'unmy_hdr From:'
423 send-hook ~C'^b@b\.b$' my_hdr from: c@c.c
424 </pre></div></div><br class="example-break" /><p>
425 In <a class="xref" href="advancedusage.html#ex-default-hook" title="Example 4.3. Specifying a “default” hook">Example 4.3, “Specifying a <span class="quote">“<span class="quote">default</span>”</span> hook”</a>, by default the value of <a class="link" href="reference.html#from" title="3.75. from">$from</a> and <a class="link" href="reference.html#realname" title="3.210. realname">$realname</a> is not overridden. When sending
426 messages either To: or Cc: to <code class="literal">&lt;b@b.b&gt;</code>, the
427 From: header is changed to <code class="literal">&lt;c@c.c&gt;</code>.
428 </p><div class="sect2" title="5.1. Message Matching in Hooks"><div class="titlepage"><div><div><h3 class="title"><a id="pattern-hook"></a>5.1. Message Matching in Hooks</h3></div></div></div><p>
429 Hooks that act upon messages (<span class="command"><strong>message-hook</strong></span>,
430 <span class="command"><strong>reply-hook</strong></span>, <span class="command"><strong>send-hook</strong></span>,
431 <span class="command"><strong>send2-hook</strong></span>, <span class="command"><strong>save-hook</strong></span>,
432 <span class="command"><strong>fcc-hook</strong></span>) are evaluated in a slightly different
433 manner. For the other types of hooks, a <a class="link" href="advancedusage.html#regexp" title="2. Regular Expressions">regular
434 expression</a> is sufficient.  But in dealing with messages a finer
435 grain of control is needed for matching since for different purposes you
436 want to match different criteria.
437 </p><p>
438 Mutt allows the use of the <a class="link" href="advancedusage.html#patterns" title="3. Patterns: Searching, Limiting and Tagging">search
439 pattern</a> language for matching messages in hook commands.  This
440 works in exactly the same way as it would when
441 <span class="emphasis"><em>limiting</em></span> or <span class="emphasis"><em>searching</em></span> the
442 mailbox, except that you are restricted to those operators which match
443 information Mutt extracts from the header of the message (i.e., from,
444 to, cc, date, subject, etc.).
445 </p><p>
446 For example, if you wanted to set your return address based upon sending
447 mail to a specific address, you could do something like:
448 </p><pre class="screen">
449 send-hook '~t ^me@cs\.hmc\.edu$' 'my_hdr From: Mutt User &lt;user@host&gt;'
450 </pre><p>
451 which would execute the given command when sending mail to
452 <span class="emphasis"><em>me@cs.hmc.edu</em></span>.
453 </p><p>
454 However, it is not required that you write the pattern to match using
455 the full searching language.  You can still specify a simple
456 <span class="emphasis"><em>regular expression</em></span> like the other hooks, in which
457 case Mutt will translate your pattern into the full language, using the
458 translation specified by the <a class="link" href="reference.html#default-hook" title="3.48. default_hook">$default_hook</a> variable.  The pattern is
459 translated at the time the hook is declared, so the value of <a class="link" href="reference.html#default-hook" title="3.48. default_hook">$default_hook</a> that is in effect at that
460 time will be used.
461 </p></div></div><div class="sect1" title="6. External Address Queries"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="query"></a>6. External Address Queries</h2></div></div></div><p>
462 Mutt supports connecting to external directory databases such as LDAP,
463 ph/qi, bbdb, or NIS through a wrapper script which connects to Mutt
464 using a simple interface.  Using the <a class="link" href="reference.html#query-command" title="3.204. query_command">$query_command</a> variable, you specify the
465 wrapper command to use.  For example:
466 </p><pre class="screen">
467 set query_command = "mutt_ldap_query.pl %s"
468 </pre><p>
469 The wrapper script should accept the query on the command-line.  It
470 should return a one line message, then each matching response on a
471 single line, each line containing a tab separated address then name then
472 some other optional information.  On error, or if there are no matching
473 addresses, return a non-zero exit code and a one line error message.
474 </p><p>
475 An example multiple response output:
476 </p><pre class="screen">
477 Searching database ... 20 entries ... 3 matching:
478 me@cs.hmc.edu           Michael Elkins  mutt dude
479 blong@fiction.net       Brandon Long    mutt and more
480 roessler@does-not-exist.org        Thomas Roessler mutt pgp
481 </pre><p>
482 There are two mechanisms for accessing the query function of Mutt.  One
483 is to do a query from the index menu using the
484 <code class="literal">&lt;query&gt;</code> function (default: Q).  This will
485 prompt for a query, then bring up the query menu which will list the
486 matching responses.  From the query menu, you can select addresses to
487 create aliases, or to mail.  You can tag multiple addresses to mail,
488 start a new query, or have a new query appended to the current
489 responses.
490 </p><p>
491 The other mechanism for accessing the query function is for address
492 completion, similar to the alias completion.  In any prompt for address
493 entry, you can use the <code class="literal">&lt;complete-query&gt;</code>
494 function (default: ^T) to run a query based on the current address you
495 have typed.  Like aliases, Mutt will look for what you have typed back
496 to the last space or comma.  If there is a single response for that
497 query, Mutt will expand the address in place.  If there are multiple
498 responses, Mutt will activate the query menu.  At the query menu, you
499 can select one or more addresses to be added to the prompt.
500 </p></div><div class="sect1" title="7. Mailbox Formats"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="mailbox-formats"></a>7. Mailbox Formats</h2></div></div></div><p>
501 Mutt supports reading and writing of four different local mailbox
502 formats: mbox, MMDF, MH and Maildir.  The mailbox type is auto detected,
503 so there is no need to use a flag for different mailbox types.  When
504 creating new mailboxes, Mutt uses the default specified with the <a class="link" href="reference.html#mbox-type" title="3.128. mbox_type">$mbox_type</a> variable. A short description of
505 the formats follows.
506 </p><p>
507 <span class="emphasis"><em>mbox</em></span>.  This is a widely used mailbox format for
508 UNIX.  All messages are stored in a single file.  Each message has a
509 line of the form:
510 </p><pre class="screen">
511 From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST
512 </pre><p>
513 to denote the start of a new message (this is often referred to as the
514 <span class="quote">“<span class="quote">From_</span>”</span> line). The mbox format requires mailbox locking, is
515 prone to mailbox corruption with concurrently writing clients or
516 misinterpreted From_ lines. Depending on the environment, new mail
517 detection can be unreliable. Mbox folders are fast to open and easy to
518 archive.
519 </p><p>
520 <span class="emphasis"><em>MMDF</em></span>.  This is a variant of the
521 <span class="emphasis"><em>mbox</em></span> format.  Each message is surrounded by lines
522 containing <span class="quote">“<span class="quote">^A^A^A^A</span>”</span> (four times control-A's). The same
523 problems as for mbox apply (also with finding the right message
524 separator as four control-A's may appear in message bodies).
525 </p><p>
526 <span class="emphasis"><em>MH</em></span>. A radical departure from
527 <span class="emphasis"><em>mbox</em></span> and <span class="emphasis"><em>MMDF</em></span>, a mailbox
528 consists of a directory and each message is stored in a separate file.
529 The filename indicates the message number (however, this is may not
530 correspond to the message number Mutt displays). Deleted messages are
531 renamed with a comma (<span class="quote">“<span class="quote">,</span>”</span>) prepended to the filename. Mutt
532 detects this type of mailbox by looking for either
533 <code class="literal">.mh_sequences</code> or <code class="literal">.xmhcache</code> files
534 (needed to distinguish normal directories from MH mailboxes). MH is more
535 robust with concurrent clients writing the mailbox, but still may suffer
536 from lost flags; message corruption is less likely to occur than with
537 mbox/mmdf. It's usually slower to open compared to mbox/mmdf since many
538 small files have to be read (Mutt provides <a class="xref" href="optionalfeatures.html#header-caching" title="7.1. Header Caching">Section 7.1, “Header Caching”</a> to greatly speed this process up).  Depending
539 on the environment, MH is not very disk-space efficient.
540 </p><p>
541 <span class="emphasis"><em>Maildir</em></span>.  The newest of the mailbox formats, used
542 by the Qmail MTA (a replacement for sendmail).  Similar to
543 <span class="emphasis"><em>MH</em></span>, except that it adds three subdirectories of the
544 mailbox: <span class="emphasis"><em>tmp</em></span>, <span class="emphasis"><em>new</em></span> and
545 <span class="emphasis"><em>cur</em></span>.  Filenames for the messages are chosen in such
546 a way they are unique, even when two programs are writing the mailbox
547 over NFS, which means that no file locking is needed and corruption is
548 very unlikely. Maildir maybe slower to open without caching in Mutt, it
549 too is not very disk-space efficient depending on the environment. Since
550 no additional files are used for metadata (which is embedded in the
551 message filenames) and Maildir is locking-free, it's easy to sync across
552 different machines using file-level synchronization tools.
553 </p></div><div class="sect1" title="8. Mailbox Shortcuts"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="shortcuts"></a>8. Mailbox Shortcuts</h2></div></div></div><p>
554 There are a number of built in shortcuts which refer to specific
555 mailboxes.  These shortcuts can be used anywhere you are prompted for a
556 file or mailbox path or in path-related configuration variables. Note
557 that these only work at the beginning of a string.
558 </p><div class="table"><a id="tab-mailbox-shortcuts"></a><p class="title"><b>Table 4.7. Mailbox shortcuts</b></p><div class="table-contents"><table summary="Mailbox shortcuts" border="1"><colgroup><col /><col /></colgroup><thead><tr><th>Shortcut</th><th>Refers to...</th></tr></thead><tbody><tr><td><code class="literal">!</code></td><td>your <a class="link" href="reference.html#spoolfile" title="3.270. spoolfile">$spoolfile</a> (incoming) mailbox</td></tr><tr><td><code class="literal">&gt;</code></td><td>your <a class="link" href="reference.html#mbox" title="3.127. mbox">$mbox</a> file</td></tr><tr><td><code class="literal">&lt;</code></td><td>your <a class="link" href="reference.html#record" title="3.212. record">$record</a> file</td></tr><tr><td><code class="literal">^</code></td><td>the current mailbox</td></tr><tr><td><code class="literal">-</code> or <code class="literal">!!</code></td><td>the file you've last visited</td></tr><tr><td><code class="literal">~</code></td><td>your home directory</td></tr><tr><td><code class="literal">=</code> or <code class="literal">+</code></td><td>your <a class="link" href="reference.html#folder" title="3.66. folder">$folder</a> directory</td></tr><tr><td><span class="emphasis"><em>@alias</em></span></td><td>to the <a class="link" href="configuration.html#save-hook" title="16. Specify Default Save Mailbox">default save folder</a> as determined by the address of the alias</td></tr></tbody></table></div></div><br class="table-break" /><p>
559 For example, to store a copy of outgoing messages in the folder they
560 were composed in, a <a class="link" href="configuration.html#folder-hook" title="7. Setting Variables Based Upon Mailbox"><span class="command"><strong>folder-hook</strong></span></a> can be used
561 to set <a class="link" href="reference.html#record" title="3.212. record">$record</a>:
562 </p><pre class="screen">
563 folder-hook . 'set record=^'</pre></div><div class="sect1" title="9. Handling Mailing Lists"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="using-lists"></a>9. Handling Mailing Lists</h2></div></div></div><p>
564 Mutt has a few configuration options that make dealing with large
565 amounts of mail easier.  The first thing you must do is to let Mutt know
566 what addresses you consider to be mailing lists (technically this does
567 not have to be a mailing list, but that is what it is most often used
568 for), and what lists you are subscribed to.  This is accomplished
569 through the use of the <a class="link" href="configuration.html#lists" title="12. Mailing Lists"><span class="command"><strong>lists</strong></span>
570 and <span class="command"><strong>subscribe</strong></span></a> commands in your
571 <code class="literal">.muttrc</code>.
572 </p><p>
573 Now that Mutt knows what your mailing lists are, it can do several
574 things, the first of which is the ability to show the name of a list
575 through which you received a message (i.e., of a subscribed list) in the
576 <span class="emphasis"><em>index</em></span> menu display.  This is useful to distinguish
577 between personal and list mail in the same mailbox.  In the <a class="link" href="reference.html#index-format" title="3.114. index_format">$index_format</a> variable, the expando
578 <span class="quote">“<span class="quote">%L</span>”</span> will print the string <span class="quote">“<span class="quote">To &lt;list&gt;</span>”</span>
579 when <span class="quote">“<span class="quote">list</span>”</span> appears in the <span class="quote">“<span class="quote">To</span>”</span> field, and
580 <span class="quote">“<span class="quote">Cc &lt;list&gt;</span>”</span> when it appears in the <span class="quote">“<span class="quote">Cc</span>”</span>
581 field (otherwise it prints the name of the author).
582 </p><p>
583 Often times the <span class="quote">“<span class="quote">To</span>”</span> and <span class="quote">“<span class="quote">Cc</span>”</span> fields in
584 mailing list messages tend to get quite large. Most people do not bother
585 to remove the author of the message they reply to from the list,
586 resulting in two or more copies being sent to that person.  The
587 <code class="literal">&lt;list-reply&gt;</code> function, which by default is
588 bound to <span class="quote">“<span class="quote">L</span>”</span> in the <span class="emphasis"><em>index</em></span> menu and
589 <span class="emphasis"><em>pager</em></span>, helps reduce the clutter by only replying to
590 the known mailing list addresses instead of all recipients (except as
591 specified by <code class="literal">Mail-Followup-To</code>, see below).
592 </p><p>
593 Mutt also supports the <code class="literal">Mail-Followup-To</code> header.  When
594 you send a message to a list of recipients which includes one or several
595 subscribed mailing lists, and if the <a class="link" href="reference.html#followup-to" title="3.68. followup_to">$followup_to</a> option is set, Mutt will
596 generate a Mail-Followup-To header which contains all the recipients to
597 whom you send this message, but not your address. This indicates that
598 group-replies or list-replies (also known as <span class="quote">“<span class="quote">followups</span>”</span>)
599 to this message should only be sent to the original recipients of the
600 message, and not separately to you - you'll receive your copy through
601 one of the mailing lists you are subscribed to.
602 </p><p>
603 Conversely, when group-replying or list-replying to a message which has
604 a <code class="literal">Mail-Followup-To</code> header, Mutt will respect this
605 header if the <a class="link" href="reference.html#honor-followup-to" title="3.92. honor_followup_to">$honor_followup_to</a> configuration
606 variable is set.  Using <a class="link" href="gettingstarted.html#list-reply">list-reply</a>
607 will in this case also make sure that the reply goes to the mailing
608 list, even if it's not specified in the list of recipients in the
609 <code class="literal">Mail-Followup-To</code>.
610 </p><div class="note" title="Note"><h3 class="title">Note</h3><p>
611 When header editing is enabled, you can create a
612 <code class="literal">Mail-Followup-To</code> header manually.  Mutt will only
613 auto-generate this header if it doesn't exist when you send the message.
614 </p></div><p>
615 The other method some mailing list admins use is to generate a
616 <span class="quote">“<span class="quote">Reply-To</span>”</span> field which points back to the mailing list
617 address rather than the author of the message.  This can create problems
618 when trying to reply directly to the author in private, since most mail
619 clients will automatically reply to the address given in the
620 <span class="quote">“<span class="quote">Reply-To</span>”</span> field.  Mutt uses the <a class="link" href="reference.html#reply-to" title="3.215. reply_to">$reply_to</a> variable to help decide which
621 address to use.  If set to <span class="emphasis"><em>ask-yes</em></span> or
622 <span class="emphasis"><em>ask-no</em></span>, you will be prompted as to whether or not
623 you would like to use the address given in the <span class="quote">“<span class="quote">Reply-To</span>”</span>
624 field, or reply directly to the address given in the <span class="quote">“<span class="quote">From</span>”</span>
625 field.  When set to <span class="emphasis"><em>yes</em></span>, the
626 <span class="quote">“<span class="quote">Reply-To</span>”</span> field will be used when present.
627 </p><p>
628 The <span class="quote">“<span class="quote">X-Label:</span>”</span> header field can be used to further identify
629 mailing lists or list subject matter (or just to annotate messages
630 individually).  The <a class="link" href="reference.html#index-format" title="3.114. index_format">$index_format</a>
631 variable's <span class="quote">“<span class="quote">%y</span>”</span> and <span class="quote">“<span class="quote">%Y</span>”</span> expandos can be used
632 to expand <span class="quote">“<span class="quote">X-Label:</span>”</span> fields in the index, and Mutt's
633 pattern-matcher can match regular expressions to <span class="quote">“<span class="quote">X-Label:</span>”</span>
634 fields with the <span class="quote">“<span class="quote">~y</span>”</span> selector.  <span class="quote">“<span class="quote">X-Label:</span>”</span> is
635 not a standard message header field, but it can easily be inserted by
636 procmail and other mail filtering agents.
637 </p><p>
638 Lastly, Mutt has the ability to <a class="link" href="reference.html#sort" title="3.264. sort">sort</a> the
639 mailbox into <a class="link" href="gettingstarted.html#threads" title="5.3. Threaded Mode">threads</a>.  A thread is a
640 group of messages which all relate to the same subject.  This is usually
641 organized into a tree-like structure where a message and all of its
642 replies are represented graphically.  If you've ever used a threaded
643 news client, this is the same concept.  It makes dealing with large
644 volume mailing lists easier because you can easily delete uninteresting
645 threads and quickly find topics of value.
646 </p></div><div class="sect1" title="10. New Mail Detection"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="new-mail"></a>10. New Mail Detection</h2></div></div></div><p>
647 Mutt supports setups with multiple folders, allowing all of them to be
648 monitored for new mail (see <a class="xref" href="configuration.html#mailboxes" title="14. Monitoring Incoming Mail">Section 14, “Monitoring Incoming Mail”</a> for details).
649 </p><div class="sect2" title="10.1. How New Mail Detection Works"><div class="titlepage"><div><div><h3 class="title"><a id="new-mail-formats"></a>10.1. How New Mail Detection Works</h3></div></div></div><p>
650 For Mbox and Mmdf folders, new mail is detected by comparing access
651 and/or modification times of files: Mutt assumes a folder has new mail
652 if it wasn't accessed after it was last modified. Utilities like
653 <code class="literal">biff</code> or <code class="literal">frm</code> or any other program
654 which accesses the mailbox might cause Mutt to never detect new mail for
655 that mailbox if they do not properly reset the access time. Other
656 possible causes of Mutt not detecting new mail in these folders are
657 backup tools (updating access times) or filesystems mounted without
658 access time update support (for Linux systems, see the
659 <code class="literal">relatime</code> option).
660 </p><div class="note" title="Note"><h3 class="title">Note</h3><p>
661 Contrary to older Mutt releases, it now maintains the new mail status of
662 a folder by properly resetting the access time if the folder contains at
663 least one message which is neither read, nor deleted, nor marked as old.
664 </p></div><p>
665 In cases where new mail detection for Mbox or Mmdf folders appears to be
666 unreliable, the <a class="link" href="reference.html#check-mbox-size" title="3.26. check_mbox_size">$check_mbox_size</a>
667 option can be used to make Mutt track and consult file sizes for new
668 mail detection instead which won't work for size-neutral changes.
669 </p><p>
670 New mail for Maildir is assumed if there is one message in the
671 <code class="literal">new/</code> subdirectory which is not marked deleted (see
672 <a class="link" href="reference.html#maildir-trash" title="3.123. maildir_trash">$maildir_trash</a>). For MH folders, a
673 mailbox is considered having new mail if there's at least one message in
674 the <span class="quote">“<span class="quote">unseen</span>”</span> sequence as specified by <a class="link" href="reference.html#mh-seq-unseen" title="3.140. mh_seq_unseen">$mh_seq_unseen</a>.
675 </p><p>
676 Mutt does not poll POP3 folders for new mail, it only periodically
677 checks the currently opened folder (if it's a POP3 folder).
678 </p><p>
679 For IMAP, by default Mutt uses recent message counts provided by the
680 server to detect new mail. If the <a class="link" href="reference.html#imap-idle" title="3.100. imap_idle">$imap_idle</a> option is set, it'll use the IMAP
681 IDLE extension if advertised by the server.
682 </p></div><div class="sect2" title="10.2. Polling For New Mail"><div class="titlepage"><div><div><h3 class="title"><a id="new-mail-polling"></a>10.2. Polling For New Mail</h3></div></div></div><p>
683 When in the index menu and being idle (also see <a class="link" href="reference.html#timeout" title="3.292. timeout">$timeout</a>), Mutt periodically checks for new
684 mail in all folders which have been configured via the
685 <span class="command"><strong>mailboxes</strong></span> command. The interval depends on the folder
686 type: for local/IMAP folders it consults <a class="link" href="reference.html#mail-check" title="3.118. mail_check">$mail_check</a> and <a class="link" href="reference.html#pop-checkinterval" title="3.188. pop_checkinterval">$pop_checkinterval</a> for POP folders.
687 </p><p>
688 Outside the index menu the directory browser supports checking for new
689 mail using the <code class="literal">&lt;check-new&gt;</code> function which is
690 unbound by default. Pressing TAB will bring up a menu showing the files
691 specified by the <span class="command"><strong>mailboxes</strong></span> command, and indicate
692 which contain new messages. Mutt will automatically enter this mode when
693 invoked from the command line with the <code class="literal">-y</code> option.
694 </p><p>
695 For the pager, index and directory browser menus, Mutt contains the
696 <code class="literal">&lt;buffy-list&gt;</code> function (bound to
697 <span class="quote">“<span class="quote">.</span>”</span> by default) which will print a list of folders with new
698 mail in the command line at the bottom of the screen.
699 </p><p>
700 For the index, by default Mutt displays the number of mailboxes with new
701 mail in the status bar, please refer to the <a class="link" href="reference.html#status-format" title="3.283. status_format">$status_format</a> variable for details.
702 </p><p>
703 When changing folders, Mutt fills the prompt with the first folder from
704 the mailboxes list containing new mail (if any), pressing
705 <code class="literal">&lt;Space&gt;</code> will cycle through folders with new
706 mail.  The (by default unbound) function
707 <code class="literal">&lt;next-unread-mailbox&gt;</code> in the index can be used
708 to immediately open the next folder with unread mail (if any).
709 </p></div></div><div class="sect1" title="11. Editing Threads"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="editing-threads"></a>11. Editing Threads</h2></div></div></div><p>
710 Mutt has the ability to dynamically restructure threads that are broken
711 either by misconfigured software or bad behavior from some
712 correspondents. This allows to clean your mailboxes from these
713 annoyances which make it hard to follow a discussion.
714 </p><div class="sect2" title="11.1. Linking Threads"><div class="titlepage"><div><div><h3 class="title"><a id="link-threads"></a>11.1. Linking Threads</h3></div></div></div><p>
715 Some mailers tend to <span class="quote">“<span class="quote">forget</span>”</span> to correctly set the
716 <span class="quote">“<span class="quote">In-Reply-To:</span>”</span> and <span class="quote">“<span class="quote">References:</span>”</span> headers when
717 replying to a message. This results in broken discussions because Mutt
718 has not enough information to guess the correct threading.  You can fix
719 this by tagging the reply, then moving to the parent message and using
720 the <code class="literal">&lt;link-threads&gt;</code> function (bound to &amp; by
721 default). The reply will then be connected to this parent message.
722 </p><p>
723 You can also connect multiple children at once, tagging them and using
724 the <code class="literal">&lt;tag-prefix&gt;</code> command (<span class="quote">“<span class="quote">;</span>”</span>) or
725 the <a class="link" href="reference.html#auto-tag" title="3.17. auto_tag">$auto_tag</a> option.
726 </p></div><div class="sect2" title="11.2. Breaking Threads"><div class="titlepage"><div><div><h3 class="title"><a id="break-threads"></a>11.2. Breaking Threads</h3></div></div></div><p>
727 On mailing lists, some people are in the bad habit of starting a new
728 discussion by hitting <span class="quote">“<span class="quote">reply</span>”</span> to any message from the list
729 and changing the subject to a totally unrelated one.  You can fix such
730 threads by using the <code class="literal">&lt;break-thread&gt;</code> function
731 (bound by default to #), which will turn the subthread starting from the
732 current message into a whole different thread.
733 </p></div></div><div class="sect1" title="12. Delivery Status Notification (DSN) Support"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="dsn"></a>12. Delivery Status Notification (DSN) Support</h2></div></div></div><p>
734 RFC1894 defines a set of MIME content types for relaying information
735 about the status of electronic mail messages.  These can be thought of
736 as <span class="quote">“<span class="quote">return receipts.</span>”</span>
737 </p><p>
738 To support DSN, there are two variables. <a class="link" href="reference.html#dsn-notify" title="3.54. dsn_notify">$dsn_notify</a> is used to request receipts for
739 different results (such as failed message, message delivered, etc.).
740 <a class="link" href="reference.html#dsn-return" title="3.55. dsn_return">$dsn_return</a> requests how much of your
741 message should be returned with the receipt (headers or full message).
742 </p><p>
743 When using <a class="link" href="reference.html#sendmail" title="3.231. sendmail">$sendmail</a> for mail delivery,
744 you need to use either Berkeley sendmail 8.8.x (or greater) a MTA
745 supporting DSN command line options compatible to Sendmail: The -N and
746 -R options can be used by the mail client to make requests as to what
747 type of status messages should be returned. Please consider your MTA
748 documentation whether DSN is supported.
749 </p><p>
750 For SMTP delivery using <a class="link" href="reference.html#smtp-url" title="3.263. smtp_url">$smtp_url</a>, it
751 depends on the capabilities announced by the server whether Mutt will
752 attempt to request DSN or not.
753 </p></div><div class="sect1" title="13. Start a WWW Browser on URLs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="urlview"></a>13. Start a WWW Browser on URLs</h2></div></div></div><p>
754 If a message contains URLs, it is efficient to get a menu with all the
755 URLs and start a WWW browser on one of them.  This functionality is
756 provided by the external urlview program which can be retrieved at
757 <a class="ulink" href="ftp://ftp.mutt.org/mutt/contrib/" target="_top">ftp://ftp.mutt.org/mutt/contrib/</a>
758 and the configuration commands:
759 </p><pre class="screen">
760 macro index \cb |urlview\n
761 macro pager \cb |urlview\n
762 </pre></div><div class="sect1" title="14. Miscellany"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="misc-topics"></a>14. Miscellany</h2></div></div></div><p>
763 This section documents various features that fit nowhere else.
764 </p><div class="variablelist"><dl><dt><span class="term">
765 Address normalization
766 </span></dt><dd><p>
767 Mutt normalizes all e-mail addresses to the simplest form possible. If
768 an address contains a realname, the form <span class="emphasis"><em>Joe User
769 &lt;joe@example.com&gt;</em></span> is used and the pure e-mail address
770 without angle brackets otherwise, i.e. just
771 <span class="emphasis"><em>joe@example.com</em></span>.
772 </p><p>
773 This normalization affects all headers Mutt generates including aliases.
774 </p></dd><dt><span class="term">
775 Initial folder selection
776 </span></dt><dd><p>
777 The folder Mutt opens at startup is determined as follows: the folder
778 specified in the <code class="literal">$MAIL</code> environment variable if
779 present. Otherwise, the value of <code class="literal">$MAILDIR</code> is taken
780 into account. If that isn't present either, Mutt takes the user's
781 mailbox in the mailspool as determined at compile-time (which may also
782 reside in the home directory). The <a class="link" href="reference.html#spoolfile" title="3.270. spoolfile">$spoolfile</a> setting overrides this
783 selection. Highest priority has the mailbox given with the
784 <code class="literal">-f</code> command line option.
785 </p></dd></dl></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="configuration.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="mimesupport.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 3. Configuration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 5. Mutt's MIME Support</td></tr></table></div></body></html>