]> git.llucax.com Git - software/mutt-debian.git/blob - doc/optionalfeatures.html
removing an article form the Description of mutt-patched to make lintian happy
[software/mutt-debian.git] / doc / optionalfeatures.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 6. Optional Features</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="mimesupport.html" title="Chapter 5. Mutt's MIME Support" /><link rel="next" href="security.html" title="Chapter 7. Security Considerations" /><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 6. Optional Features</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="mimesupport.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="security.html">Next</a></td></tr></table><hr /></div><div class="chapter" title="Chapter 6. Optional Features"><div class="titlepage"><div><div><h2 class="title"><a id="optionalfeatures"></a>Chapter 6. Optional Features</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="optionalfeatures.html#optionalfeatures-notes">1. General Notes</a></span></dt><dd><dl><dt><span class="sect2"><a href="optionalfeatures.html#compile-time-features">1.1. Enabling/Disabling Features</a></span></dt><dt><span class="sect2"><a href="optionalfeatures.html#url-syntax">1.2. URL Syntax</a></span></dt></dl></dd><dt><span class="sect1"><a href="optionalfeatures.html#ssl">2. SSL/TLS Support</a></span></dt><dt><span class="sect1"><a href="optionalfeatures.html#pop">3. POP3 Support</a></span></dt><dt><span class="sect1"><a href="optionalfeatures.html#imap">4. IMAP Support</a></span></dt><dd><dl><dt><span class="sect2"><a href="optionalfeatures.html#imap-browser">4.1. The IMAP Folder Browser</a></span></dt><dt><span class="sect2"><a href="optionalfeatures.html#imap-authentication">4.2. Authentication</a></span></dt></dl></dd><dt><span class="sect1"><a href="optionalfeatures.html#smtp">5. SMTP Support</a></span></dt><dt><span class="sect1"><a href="optionalfeatures.html#account-hook">6. Managing Multiple Accounts</a></span></dt><dt><span class="sect1"><a href="optionalfeatures.html#caching">7. Local Caching</a></span></dt><dd><dl><dt><span class="sect2"><a href="optionalfeatures.html#header-caching">7.1. Header Caching</a></span></dt><dt><span class="sect2"><a href="optionalfeatures.html#body-caching">7.2. Body Caching</a></span></dt><dt><span class="sect2"><a href="optionalfeatures.html#cache-dirs">7.3. Cache Directories</a></span></dt><dt><span class="sect2"><a href="optionalfeatures.html#maint-cache">7.4. Maintenance</a></span></dt></dl></dd><dt><span class="sect1"><a href="optionalfeatures.html#exact-address">8. Exact Address Generation</a></span></dt><dt><span class="sect1"><a href="optionalfeatures.html#sending-mixmaster">9. Sending Anonymous Messages via Mixmaster</a></span></dt></dl></div><div class="sect1" title="1. General Notes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="optionalfeatures-notes"></a>1. General Notes</h2></div></div></div><div class="sect2" title="1.1. Enabling/Disabling Features"><div class="titlepage"><div><div><h3 class="title"><a id="compile-time-features"></a>1.1. Enabling/Disabling Features</h3></div></div></div><p>
31 Mutt supports several of optional features which can be enabled or
32 disabled at compile-time by giving the <span class="emphasis"><em>configure</em></span>
33 script certain arguments. These are listed in the <span class="quote">“<span class="quote">Optional
34 features</span>”</span> section of the <span class="emphasis"><em>configure --help</em></span>
35 output.
36 </p><p>
37 Which features are enabled or disabled can later be determined from the
38 output of <code class="literal">mutt -v</code>. If a compile option starts with
39 <span class="quote">“<span class="quote">+</span>”</span> it is enabled and disabled if prefixed with
40 <span class="quote">“<span class="quote">-</span>”</span>. For example, if Mutt was compiled using GnuTLS for
41 encrypted communication instead of OpenSSL, <code class="literal">mutt -v</code>
42 would contain:
43 </p><pre class="screen">
44 -USE_SSL_OPENSSL +USE_SSL_GNUTLS</pre></div><div class="sect2" title="1.2. URL Syntax"><div class="titlepage"><div><div><h3 class="title"><a id="url-syntax"></a>1.2. URL Syntax</h3></div></div></div><p>
45 Mutt optionally supports the IMAP, POP3 and SMTP protocols which require
46 to access servers using URLs. The canonical syntax for specifying URLs
47 in Mutt is (an item enclosed in <code class="literal">[]</code> means it is
48 optional and may be omitted):
49 </p><pre class="screen">
50 proto[s]://[username[:password]@]server[:port][/path]
51 </pre><p>
52 <span class="emphasis"><em>proto</em></span> is the communication protocol:
53 <code class="literal">imap</code> for IMAP, <code class="literal">pop</code> for POP3 and
54 <code class="literal">smtp</code> for SMTP. If <span class="quote">“<span class="quote">s</span>”</span> for <span class="quote">“<span class="quote">secure
55 communication</span>”</span> is appended, Mutt will attempt to establish an
56 encrypted communication using SSL or TLS.
57 </p><p>
58 Since all protocols supported by Mutt support/require authentication,
59 login credentials may be specified in the URL. This has the advantage
60 that multiple IMAP, POP3 or SMTP servers may be specified (which isn't
61 possible using, for example, <a class="link" href="reference.html#imap-user" title="3.109. imap_user">$imap_user</a>). The username may contain the
62 <span class="quote">“<span class="quote">@</span>”</span> symbol being used by many mail systems as part of the
63 login name. The special characters <span class="quote">“<span class="quote">/</span>”</span>
64 (<code class="literal">%2F</code>), <span class="quote">“<span class="quote">:</span>”</span> (<code class="literal">%3A</code>) and
65 <span class="quote">“<span class="quote">%</span>”</span> (<code class="literal">%25</code>) have to be URL-encoded in
66 usernames using the <code class="literal">%</code>-notation.
67 </p><p>
68 A password can be given, too but is not recommended if the URL is
69 specified in a configuration file on disk.
70 </p><p>
71 If no port number is given, Mutt will use the system's default for the
72 given protocol (usually consulting <code class="literal">/etc/services</code>).
73 </p><p>
74 The optional path is only relevant for IMAP and ignored elsewhere.
75 </p><div class="example"><a id="ex-url"></a><p class="title"><b>Example 6.1. URLs</b></p><div class="example-contents"><pre class="screen">
76 pops://host/
77 imaps://user@host/INBOX/Sent
78 smtp://user@host:587/
79 </pre></div></div><br class="example-break" /></div></div><div class="sect1" title="2. SSL/TLS Support"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="ssl"></a>2. SSL/TLS Support</h2></div></div></div><p>
80 If Mutt is compiled with IMAP, POP3 and/or SMTP support, it can also be
81 compiled with support for SSL or TLS using either OpenSSL or GnuTLS ( by
82 running the <span class="emphasis"><em>configure</em></span> script with the
83 <span class="emphasis"><em>--enable-ssl=...</em></span> option for OpenSSL or
84 <span class="emphasis"><em>--enable-gnutls=...</em></span> for GnuTLS). Mutt can then
85 attempt to encrypt communication with remote servers if these protocols
86 are suffixed with <span class="quote">“<span class="quote">s</span>”</span> for <span class="quote">“<span class="quote">secure
87 communication</span>”</span>.
88 </p></div><div class="sect1" title="3. POP3 Support"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="pop"></a>3. POP3 Support</h2></div></div></div><p>
89 If Mutt is compiled with POP3 support (by running the
90 <span class="emphasis"><em>configure</em></span> script with the
91 <span class="emphasis"><em>--enable-pop</em></span> flag), it has the ability to work with
92 mailboxes located on a remote POP3 server and fetch mail for local
93 browsing.
94 </p><p>
95 Remote POP3 servers can be accessed using URLs with the
96 <code class="literal">pop</code> protocol for unencrypted and
97 <code class="literal">pops</code> for encrypted communication, see <a class="xref" href="optionalfeatures.html#url-syntax" title="1.2. URL Syntax">Section 1.2, “URL Syntax”</a> for details.
98 </p><p>
99 Polling for new mail is more expensive over POP3 than locally. For this
100 reason the frequency at which Mutt will check for mail remotely can be
101 controlled by the <a class="link" href="reference.html#pop-checkinterval" title="3.188. pop_checkinterval">$pop_checkinterval</a> variable, which
102 defaults to every 60 seconds.
103 </p><p>
104 POP is read-only which doesn't allow for some features like editing
105 messages or changing flags. However, using <a class="xref" href="optionalfeatures.html#header-caching" title="7.1. Header Caching">Section 7.1, “Header Caching”</a> and <a class="xref" href="optionalfeatures.html#body-caching" title="7.2. Body Caching">Section 7.2, “Body Caching”</a> Mutt
106 simulates the new/old/read flags as well as flagged and replied.  Mutt
107 applies some logic on top of remote messages but cannot change them so
108 that modifications of flags are lost when messages are downloaded from
109 the POP server (either by Mutt or other tools).
110 </p><a id="fetch-mail"></a><p>
111 Another way to access your POP3 mail is the
112 <code class="literal">&lt;fetch-mail&gt;</code> function (default: G).  It allows
113 to connect to <a class="link" href="reference.html#pop-host" title="3.190. pop_host">$pop_host</a>, fetch all your
114 new mail and place it in the local <a class="link" href="reference.html#spoolfile" title="3.270. spoolfile">$spoolfile</a>.  After this point, Mutt runs
115 exactly as if the mail had always been local.
116 </p><div class="note" title="Note"><h3 class="title">Note</h3><p>
117 If you only need to fetch all messages to a local mailbox you should
118 consider using a specialized program, such as
119 <code class="literal">fetchmail(1)</code>, <code class="literal">getmail(1)</code> or
120 similar.
121 </p></div></div><div class="sect1" title="4. IMAP Support"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="imap"></a>4. IMAP Support</h2></div></div></div><p>
122 If Mutt was compiled with IMAP support (by running the
123 <span class="emphasis"><em>configure</em></span> script with the
124 <span class="emphasis"><em>--enable-imap</em></span> flag), it has the ability to work
125 with folders located on a remote IMAP server.
126 </p><p>
127 You can access the remote inbox by selecting the folder by its URL (see
128 <a class="xref" href="optionalfeatures.html#url-syntax" title="1.2. URL Syntax">Section 1.2, “URL Syntax”</a> for details) using the
129 <code class="literal">imap</code> or <code class="literal">imaps</code> protocol.
130 Alternatively, a pine-compatible notation is also supported, i.e.
131 <code class="literal">{[username@]imapserver[:port][/ssl]}path/to/folder</code>
132 </p><p>
133 Note that not all servers use <span class="quote">“<span class="quote">/</span>”</span> as the hierarchy
134 separator.  Mutt should correctly notice which separator is being used
135 by the server and convert paths accordingly.
136 </p><p>
137 When browsing folders on an IMAP server, you can toggle whether to look
138 at only the folders you are subscribed to, or all folders with the
139 <span class="emphasis"><em>toggle-subscribed</em></span> command.  See also the <a class="link" href="reference.html#imap-list-subscribed" title="3.102. imap_list_subscribed">$imap_list_subscribed</a> variable.
140 </p><p>
141 Polling for new mail on an IMAP server can cause noticeable delays. So,
142 you'll want to carefully tune the <a class="link" href="reference.html#mail-check" title="3.118. mail_check">$mail_check</a> and <a class="link" href="reference.html#timeout" title="3.292. timeout">$timeout</a> variables. Reasonable values are:
143 </p><pre class="screen">
144 set mail_check=90
145 set timeout=15
146 </pre><p>
147 with relatively good results even over slow modem lines.
148 </p><div class="note" title="Note"><h3 class="title">Note</h3><p>
149 Note that if you are using mbox as the mail store on UW servers prior to
150 v12.250, the server has been reported to disconnect a client if another
151 client selects the same folder.
152 </p></div><div class="sect2" title="4.1. The IMAP Folder Browser"><div class="titlepage"><div><div><h3 class="title"><a id="imap-browser"></a>4.1. The IMAP Folder Browser</h3></div></div></div><p>
153 As of version 1.2, Mutt supports browsing mailboxes on an IMAP
154 server. This is mostly the same as the local file browser, with the
155 following differences:
156 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
157 In lieu of file permissions, Mutt displays the string
158 <span class="quote">“<span class="quote">IMAP</span>”</span>, possibly followed by the symbol <span class="quote">“<span class="quote">+</span>”</span>,
159 indicating that the entry contains both messages and subfolders. On
160 Cyrus-like servers folders will often contain both messages and
161 subfolders.
162 </p></li><li class="listitem"><p>
163 For the case where an entry can contain both messages and subfolders,
164 the selection key (bound to <code class="literal">enter</code> by default) will
165 choose to descend into the subfolder view. If you wish to view the
166 messages in that folder, you must use <code class="literal">view-file</code>
167 instead (bound to <code class="literal">space</code> by default).
168 </p></li><li class="listitem"><p>
169 You can create, delete and rename mailboxes with the
170 <code class="literal">&lt;create-mailbox&gt;</code>,
171 <code class="literal">&lt;delete-mailbox&gt;</code>, and
172 <code class="literal">&lt;rename-mailbox&gt;</code> commands (default bindings:
173 <code class="literal">C</code>, <code class="literal">d</code> and <code class="literal">r</code>,
174 respectively). You may also <code class="literal">&lt;subscribe&gt;</code> and
175 <code class="literal">&lt;unsubscribe&gt;</code> to mailboxes (normally these are
176 bound to <code class="literal">s</code> and <code class="literal">u</code>, respectively).
177 </p></li></ul></div></div><div class="sect2" title="4.2. Authentication"><div class="titlepage"><div><div><h3 class="title"><a id="imap-authentication"></a>4.2. Authentication</h3></div></div></div><p>
178 Mutt supports four authentication methods with IMAP servers: SASL,
179 GSSAPI, CRAM-MD5, and LOGIN (there is a patch by Grant Edwards to add
180 NTLM authentication for you poor exchange users out there, but it has
181 yet to be integrated into the main tree). There is also support for the
182 pseudo-protocol ANONYMOUS, which allows you to log in to a public IMAP
183 server without having an account. To use ANONYMOUS, simply make your
184 username blank or <span class="quote">“<span class="quote">anonymous</span>”</span>.
185 </p><p>
186 SASL is a special super-authenticator, which selects among several
187 protocols (including GSSAPI, CRAM-MD5, ANONYMOUS, and DIGEST-MD5) the
188 most secure method available on your host and the server. Using some of
189 these methods (including DIGEST-MD5 and possibly GSSAPI), your entire
190 session will be encrypted and invisible to those teeming network
191 snoops. It is the best option if you have it. To use it, you must have
192 the Cyrus SASL library installed on your system and compile Mutt with
193 the <span class="emphasis"><em>--with-sasl</em></span> flag.
194 </p><p>
195 Mutt will try whichever methods are compiled in and available on the
196 server, in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5,
197 LOGIN.
198 </p><p>
199 There are a few variables which control authentication:
200 </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
201 <a class="link" href="reference.html#imap-user" title="3.109. imap_user">$imap_user</a> - controls the username
202 under which you request authentication on the IMAP server, for all
203 authenticators. This is overridden by an explicit username in the
204 mailbox path (i.e. by using a mailbox name of the form
205 <code class="literal">{user@host}</code>).
206 </p></li><li class="listitem"><p>
207 <a class="link" href="reference.html#imap-pass" title="3.104. imap_pass">$imap_pass</a> - a password which you may
208 preset, used by all authentication methods where a password is needed.
209 </p></li><li class="listitem"><p>
210 <a class="link" href="reference.html#imap-authenticators" title="3.96. imap_authenticators">$imap_authenticators</a> - a
211 colon-delimited list of IMAP authentication methods to try, in the order
212 you wish to try them. If specified, this overrides Mutt's default
213 (attempt everything, in the order listed above).
214 </p></li></ul></div></div></div><div class="sect1" title="5. SMTP Support"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="smtp"></a>5. SMTP Support</h2></div></div></div><p>
215 Besides supporting traditional mail delivery through a
216 sendmail-compatible program, Mutt supports delivery through SMTP if it
217 was configured and built with <code class="literal">--enable-smtp</code>.
218 </p><p>
219 If the configuration variable <a class="link" href="reference.html#smtp-url" title="3.263. smtp_url">$smtp_url</a>
220 is set, Mutt will contact the given SMTP server to deliver messages; if
221 it is unset, Mutt will use the program specified by <a class="link" href="reference.html#sendmail" title="3.231. sendmail">$sendmail</a>.
222 </p><p>
223 For details on the URL syntax, please see <a class="xref" href="optionalfeatures.html#url-syntax" title="1.2. URL Syntax">Section 1.2, “URL Syntax”</a>.
224 </p><p>
225 The built-in SMTP support supports encryption (the
226 <code class="literal">smtps</code> protocol using SSL or TLS) as well as SMTP
227 authentication using SASL. The authentication mechanisms for SASL are
228 specified in <a class="link" href="reference.html#smtp-authenticators" title="3.261. smtp_authenticators">$smtp_authenticators</a> defaulting to
229 an empty list which makes Mutt try all available methods from
230 most-secure to least-secure.
231 </p></div><div class="sect1" title="6. Managing Multiple Accounts"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="account-hook"></a>6. Managing Multiple Accounts</h2></div></div></div><p>
232 Usage:
233 </p><div class="cmdsynopsis"><p><code class="command">account-hook</code>   
234 <em class="replaceable"><code>pattern</code></em>
235    
236 <em class="replaceable"><code>command</code></em>
237  </p></div><p>
238 If you happen to have accounts on multiple IMAP, POP and/or SMTP
239 servers, you may find managing all the authentication settings
240 inconvenient and error-prone. The <a class="link" href="optionalfeatures.html#account-hook" title="6. Managing Multiple Accounts"><span class="command"><strong>account-hook</strong></span></a> command
241 may help. This hook works like <a class="link" href="configuration.html#folder-hook" title="7. Setting Variables Based Upon Mailbox"><span class="command"><strong>folder-hook</strong></span></a> but is
242 invoked whenever Mutt needs to access a remote mailbox (including inside
243 the folder browser), not just when you open the mailbox. This includes
244 (for example) polling for new mail, storing Fcc messages and saving
245 messages to a folder. As a consequence, <a class="link" href="optionalfeatures.html#account-hook" title="6. Managing Multiple Accounts"><span class="command"><strong>account-hook</strong></span></a> should
246 only be used to set connection-related settings such as passwords or
247 tunnel commands but not settings such as sender address or name (because
248 in general it should be considered unpredictable which <a class="link" href="optionalfeatures.html#account-hook" title="6. Managing Multiple Accounts"><span class="command"><strong>account-hook</strong></span></a> was last
249 used).
250 </p><p>
251 Some examples:
252 </p><pre class="screen">
253 account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
254 account-hook imap://host1/ 'set imap_user=me1 imap_pass=foo'
255 account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'
256 account-hook smtp://user@host3/ 'set tunnel="ssh host3 /usr/libexec/smtpd"'
257 </pre><p>
258 To manage multiple accounts with, for example, different values of <a class="link" href="reference.html#record" title="3.212. record">$record</a> or sender addresses, <a class="link" href="configuration.html#folder-hook" title="7. Setting Variables Based Upon Mailbox"><span class="command"><strong>folder-hook</strong></span></a> has to be be
259 used together with the <a class="link" href="configuration.html#mailboxes" title="14. Monitoring Incoming Mail"><span class="command"><strong>mailboxes</strong></span></a> command.
260 </p><div class="example"><a id="ex-multiaccount"></a><p class="title"><b>Example 6.2. Managing multiple accounts</b></p><div class="example-contents"><pre class="screen">
261 mailboxes imap://user@host1/INBOX
262 folder-hook imap://user@host1/ 'set folder=imap://host1/ ; set record=+INBOX/Sent'
263
264 mailboxes imap://user@host2/INBOX
265 folder-hook imap://user@host2/ 'set folder=imap://host2/ ; set record=+INBOX/Sent'
266 </pre></div></div><br class="example-break" /><p>
267 In example <a class="xref" href="optionalfeatures.html#ex-multiaccount" title="Example 6.2. Managing multiple accounts">Example 6.2, “Managing multiple accounts”</a> the folders are defined
268 using <a class="link" href="configuration.html#mailboxes" title="14. Monitoring Incoming Mail"><span class="command"><strong>mailboxes</strong></span></a> so
269 Mutt polls them for new mail. Each <a class="link" href="configuration.html#folder-hook" title="7. Setting Variables Based Upon Mailbox"><span class="command"><strong>folder-hook</strong></span></a> triggers
270 when one mailbox below each IMAP account is opened and sets <a class="link" href="reference.html#folder" title="3.66. folder">$folder</a> to the account's root folder. Next, it
271 sets <a class="link" href="reference.html#record" title="3.212. record">$record</a> to the
272 <span class="emphasis"><em>INBOX/Sent</em></span> folder below the newly set <a class="link" href="reference.html#folder" title="3.66. folder">$folder</a>. Please notice that the value the
273 <span class="quote">“<span class="quote">+</span>”</span> <a class="link" href="advancedusage.html#shortcuts" title="8. Mailbox Shortcuts">mailbox shortcut</a>
274 refers to depends on the <span class="emphasis"><em>current</em></span> value of <a class="link" href="reference.html#folder" title="3.66. folder">$folder</a> and therefore has to be set separately
275 per account. Setting other values like <a class="link" href="reference.html#from" title="3.75. from">$from</a>
276 or <a class="link" href="reference.html#signature" title="3.236. signature">$signature</a> is analogous to setting
277 <a class="link" href="reference.html#record" title="3.212. record">$record</a>.
278 </p></div><div class="sect1" title="7. Local Caching"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="caching"></a>7. Local Caching</h2></div></div></div><p>
279 Mutt contains two types of local caching: <span class="emphasis"><em>(1)</em></span> the
280 so-called <span class="quote">“<span class="quote">header caching</span>”</span> and <span class="emphasis"><em>(2)</em></span> the
281 so-called <span class="quote">“<span class="quote">body caching</span>”</span> which are both described in this
282 section.
283 </p><p>
284 Header caching is optional as it depends on external libraries, body
285 caching is always enabled if Mutt is compiled with POP and/or IMAP
286 support as these use it (body caching requires no external library).
287 </p><div class="sect2" title="7.1. Header Caching"><div class="titlepage"><div><div><h3 class="title"><a id="header-caching"></a>7.1. Header Caching</h3></div></div></div><p>
288 Mutt provides optional support for caching message headers for the
289 following types of folders: IMAP, POP, Maildir and MH. Header caching
290 greatly speeds up opening large folders because for remote folders,
291 headers usually only need to be downloaded once. For Maildir and MH,
292 reading the headers from a single file is much faster than looking at
293 possibly thousands of single files (since Maildir and MH use one file
294 per message.)
295 </p><p>
296 Header caching can be enabled via the configure script and the
297 <span class="emphasis"><em>--enable-hcache</em></span> option. It's not turned on by
298 default because external database libraries are required: one of
299 tokyocabinet, qdbm, gdbm or bdb must be present.
300 </p><p>
301 If enabled, <a class="link" href="reference.html#header-cache" title="3.79. header_cache">$header_cache</a> can be
302 used to either point to a file or a directory. If set to point to a
303 file, one database file for all folders will be used (which may result
304 in lower performance), but one file per folder if it points to a
305 directory.
306 </p></div><div class="sect2" title="7.2. Body Caching"><div class="titlepage"><div><div><h3 class="title"><a id="body-caching"></a>7.2. Body Caching</h3></div></div></div><p>
307 Both cache methods can be combined using the same directory for storage
308 (and for IMAP/POP even provide meaningful file names) which simplifies
309 manual maintenance tasks.
310 </p><p>
311 In addition to caching message headers only, Mutt can also cache whole
312 message bodies. This results in faster display of messages for POP and
313 IMAP folders because messages usually have to be downloaded only once.
314 </p><p>
315 For configuration, the variable <a class="link" href="reference.html#message-cachedir" title="3.133. message_cachedir">$message_cachedir</a> must point to a directory. There, Mutt will
316 create a hierarchy of subdirectories named like the account and mailbox
317 path the cache is for.
318 </p></div><div class="sect2" title="7.3. Cache Directories"><div class="titlepage"><div><div><h3 class="title"><a id="cache-dirs"></a>7.3. Cache Directories</h3></div></div></div><p>
319 For using both, header and body caching, <a class="link" href="reference.html#header-cache" title="3.79. header_cache">$header_cache</a> and <a class="link" href="reference.html#message-cachedir" title="3.133. message_cachedir">$message_cachedir</a> can be safely set
320 to the same value.
321 </p><p>
322 In a header or body cache directory, Mutt creates a directory hierarchy
323 named like: <code class="literal">proto:user@hostname</code> where
324 <code class="literal">proto</code> is either <span class="quote">“<span class="quote">pop</span>”</span> or
325 <span class="quote">“<span class="quote">imap.</span>”</span> Within there, for each folder, Mutt stores messages
326 in single files and header caches in files with the
327 <span class="quote">“<span class="quote">.hcache</span>”</span> extension.  All files can be removed as needed if
328 the consumed disk space becomes an issue as Mutt will silently fetch
329 missing items again. Pathnames are always stored in UTF-8 encoding.
330 </p><p>
331 For Maildir and MH, the header cache files are named after the MD5
332 checksum of the path.
333 </p></div><div class="sect2" title="7.4. Maintenance"><div class="titlepage"><div><div><h3 class="title"><a id="maint-cache"></a>7.4. Maintenance</h3></div></div></div><p>
334 Mutt does not (yet) support maintenance features for header cache
335 database files so that files have to be removed in case they grow too
336 big. It depends on the database library used for header caching whether
337 disk space freed by removing messages is re-used.
338 </p><p>
339 For body caches, Mutt can keep the local cache in sync with the remote
340 mailbox if the <a class="link" href="reference.html#message-cache-clean" title="3.132. message_cache_clean">$message_cache_clean</a> variable is
341 set. Cleaning means to remove messages from the cache which are no
342 longer present in the mailbox which only happens when other mail clients
343 or instances of Mutt using a different body cache location delete
344 messages (Mutt itself removes deleted messages from the cache when
345 syncing a mailbox). As cleaning can take a noticeable amount of time, it
346 should not be set in general but only occasionally.
347 </p></div></div><div class="sect1" title="8. Exact Address Generation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="exact-address"></a>8. Exact Address Generation</h2></div></div></div><p>
348 Mutt supports the <span class="quote">“<span class="quote">Name &lt;user@host&gt;</span>”</span> address syntax
349 for reading and writing messages, the older <span class="quote">“<span class="quote">user@host
350 (Name)</span>”</span> syntax is only supported when reading messages. The
351 <span class="emphasis"><em>--enable-exact-address</em></span> switch can be given to
352 configure to build it with write-support for the latter
353 syntax. <code class="literal">EXACT_ADDRESS</code> in the output of <code class="literal">mutt
354 -v</code> indicates whether it's supported.
355 </p></div><div class="sect1" title="9. Sending Anonymous Messages via Mixmaster"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sending-mixmaster"></a>9. Sending Anonymous Messages via Mixmaster</h2></div></div></div><p>
356 You may also have compiled Mutt to co-operate with Mixmaster, an
357 anonymous remailer.  Mixmaster permits you to send your messages
358 anonymously using a chain of remailers. Mixmaster support in Mutt is for
359 mixmaster version 2.04 or later.
360 </p><p>
361 To use it, you'll have to obey certain restrictions.  Most important,
362 you cannot use the <code class="literal">Cc</code> and <code class="literal">Bcc</code>
363 headers.  To tell Mutt to use mixmaster, you have to select a remailer
364 chain, using the mix function on the compose menu.
365 </p><p>
366 The chain selection screen is divided into two parts.  In the (larger)
367 upper part, you get a list of remailers you may use.  In the lower part,
368 you see the currently selected chain of remailers.
369 </p><p>
370 You can navigate in the chain using the
371 <code class="literal">&lt;chain-prev&gt;</code> and
372 <code class="literal">&lt;chain-next&gt;</code> functions, which are by default
373 bound to the left and right arrows and to the <code class="literal">h</code> and
374 <code class="literal">l</code> keys (think vi keyboard bindings).  To insert a
375 remailer at the current chain position, use the
376 <code class="literal">&lt;insert&gt;</code> function.  To append a remailer behind
377 the current chain position, use <code class="literal">&lt;select-entry&gt;</code>
378 or <code class="literal">&lt;append&gt;</code>.  You can also delete entries from
379 the chain, using the corresponding function.  Finally, to abandon your
380 changes, leave the menu, or <code class="literal">&lt;accept&gt;</code> them
381 pressing (by default) the <code class="literal">Return</code> key.
382 </p><p>
383 Note that different remailers do have different capabilities, indicated
384 in the %c entry of the remailer menu lines (see <a class="link" href="reference.html#mix-entry-format" title="3.144. mix_entry_format">$mix_entry_format</a>).  Most important is
385 the <span class="quote">“<span class="quote">middleman</span>”</span> capability, indicated by a capital
386 <span class="quote">“<span class="quote">M</span>”</span>: This means that the remailer in question cannot be
387 used as the final element of a chain, but will only forward messages to
388 other mixmaster remailers.  For details on the other capabilities,
389 please have a look at the mixmaster documentation.
390 </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="mimesupport.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="security.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 5. Mutt's MIME Support </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 7. Security Considerations</td></tr></table></div></body></html>