X-Git-Url: https://git.llucax.com/software/mutt-debian.git/blobdiff_plain/14c29200cb58d3c4a0830265f2433849781858d0..3cb0055e1daab973b8d5fd1c4706248f031d10df:/doc/optionalfeatures.html?ds=sidebyside diff --git a/doc/optionalfeatures.html b/doc/optionalfeatures.html index 1647c82..c5fa468 100644 --- a/doc/optionalfeatures.html +++ b/doc/optionalfeatures.html @@ -1,14 +1,35 @@ -Chapter 6. Optional features

Chapter 6. Optional features

Table of Contents

1. General notes
1.1. Enabling/disabling features
1.2. URL syntax
2. SSL/TLS Support
3. POP3 Support
4. IMAP Support
4.1. The Folder Browser
4.2. Authentication
5. SMTP Support
6. Managing multiple accounts
7. Local caching
7.1. Header caching
7.2. Body caching
7.3. Maintenance
8. Exact address generation

1. General notes

1.1. Enabling/disabling features

+Chapter 6. Optional features

Chapter 6. Optional features

1. General notes

1.1. Enabling/disabling features

Mutt supports several of optional features which can be enabled or disabled at compile-time by giving the configure script -certain arguments. These are listed in the ``Optional features'' section of +certain arguments. These are listed in the “Optional features” section of the configure --help output.

Which features are enabled or disabled can later be determined from the output of mutt -v. If a compile option starts with -``+'' it is enabled and disabled if prefixed with ``-''. For example, if +“+” it is enabled and disabled if prefixed with “-”. For example, if mutt was compiled using GnuTLS for encrypted communication instead of OpenSSL, mutt -v would contain:

@@ -22,16 +43,17 @@ proto[s]://[username[:password]@]server[:port]/[path]
 

proto is the communication protocol: imap for IMAP, pop for POP3 and -smtp for SMTP. If ``s'' for ``secure communication'' +smtp for SMTP. If “s” for “secure communication” is appended, mutt will attempt to establish an encrypted communication using SSL or TLS. If no explicit port is given, mutt will use the system's default for the given protocol.

Since all protocols by mutt support authentication, the username may be given directly in the URL instead of using the pop_user or -imap_user variables. A password can be given, too but -is not recommended if the URL is specified in a configuration file on -disk. +imap_user variables. It may contain the “@” symbol +being used by many mail systems as part of the login name. A password can be +given, too but is not recommended if the URL is specified in a configuration +file on disk.

The optional path is only relevant for IMAP.

@@ -40,16 +62,16 @@ server: imap://imapserver:port/INBOX. You can also username for each folder: imap://username@imapserver[:port]/INBOX or imap://username2@imapserver[:port]/path/to/folder. Replacing imap:// by imaps:// -would make mutt attempt to conect using SSL or TLS on a different port +would make mutt attempt to connect using SSL or TLS on a different port to encrypt the communication.

2. SSL/TLS Support

If mutt is compiled with IMAP, POP3 and/or SMTP support, it can also be compiled with support for SSL or TLS using either OpenSSL or GnuTLS ( -by running the configure script with the +by running the configure script with the --enable-ssl=... option for OpenSSL or --enable-gnutls=... for GnuTLS). Mutt can then attempt to encrypt communication with remote servers if these protocols -are suffixed with ``s'' for ``secure communication''. +are suffixed with “s” for “secure communication”.

3. POP3 Support

If Mutt was compiled with POP3 support (by running the configure script with the --enable-pop flag), it has the ability to work @@ -58,70 +80,67 @@ browsing.

Remote POP3 servers can be accessed using URLs with the pop protocol for unencrypted and pops for encrypted -communication, see Section 1.2, “URL syntax” for details. +communication, see Section 1.2, “URL syntax” for details.

Polling for new mail is more expensive over POP3 than locally. For this reason the frequency at which Mutt will check for mail remotely can be controlled by the -$pop_checkinterval +$pop_checkinterval variable, which defaults to every 60 seconds. -

-Another way to access your POP3 mail is the fetch-mail function -(default: G). It allows to connect to $pop_host, fetch all your new mail and place it in the -local $spoolfile. After this +

+Another way to access your POP3 mail is the <fetch-mail$ function +(default: G). It allows to connect to $pop_host, fetch all your new mail and place it in the +local $spoolfile. After this point, Mutt runs exactly as if the mail had always been local. -

-Note: If you only need to fetch all messages to a +

Note

+If you only need to fetch all messages to a local mailbox you should consider using a specialized program, such as fetchmail, getmail or similar. -

4. IMAP Support

+

4. IMAP Support

If Mutt was compiled with IMAP support (by running the configure script with the --enable-imap flag), it has the ability to work with folders located on a remote IMAP server.

You can access the remote inbox by selecting the folder by its URL -(see Section 1.2, “URL syntax” for details) using the +(see Section 1.2, “URL syntax” for details) using the imap or imaps protocol. Alternatively, a pine-compatible notation is also supported, ie {[username@]imapserver[:port][/ssl]}path/to/folder

-Note that not all servers use ``/'' as the hierarchy separator. Mutt should +Note that not all servers use “/” as the hierarchy separator. Mutt should correctly notice which separator is being used by the server and convert paths accordingly.

When browsing folders on an IMAP server, you can toggle whether to look at only the folders you are subscribed to, or all folders with the -toggle-subscribed command. See also the -$imap_list_subscribed variable. +toggle-subscribed command. See also the +$imap_list_subscribed variable.

Polling for new mail on an IMAP server can cause noticeable delays. So, you'll want to carefully tune the -$mail_check +$mail_check and -$timeout +$timeout variables. Personally I use -

 set mail_check=90
 set timeout=15
 

- with relatively good results over my slow modem line. -

+

Note

Note that if you are using mbox as the mail store on UW servers prior to v12.250, the server has been reported to disconnect a client if another client selects the same folder. -

4.1. The Folder Browser

+

4.1. The Folder Browser

As of version 1.2, mutt supports browsing mailboxes on an IMAP server. This is mostly the same as the local file browser, with the following differences: -

  • In lieu of file permissions, mutt displays the string "IMAP", possibly followed by the symbol "+", indicating that the entry contains both messages and subfolders. On Cyrus-like servers folders will often contain both messages and -subfolders. +subfolders.

  • For the case where an entry can contain both messages and subfolders, the selection key (bound to enter by default) @@ -135,9 +154,7 @@ You can create, delete and rename mailboxes with the d and r, respectively). You may also subscribe and unsubscribe to mailboxes (normally these are bound to s and u, respectively). -

- -

4.2. Authentication

+

4.2. Authentication

Mutt supports four authentication methods with IMAP servers: SASL, GSSAPI, CRAM-MD5, and LOGIN (there is a patch by Grant Edwards to add NTLM authentication for you poor exchange users out there, but it has @@ -157,40 +174,37 @@ installed on your system and compile mutt with the -- Mutt will try whichever methods are compiled in and available on the server, in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5, LOGIN.

-There are a few variables which control authentication: - +There are a few variables which control authentication:

  • -$imap_user - controls +$imap_user - controls the username under which you request authentication on the IMAP server, for all authenticators. This is overridden by an explicit username in the mailbox path (ie by using a mailbox name of the form {user@host}).

  • -$imap_pass - a +$imap_pass - a password which you may preset, used by all authentication methods where a password is needed.

  • -$imap_authenticators - a colon-delimited list of IMAP +$imap_authenticators - a colon-delimited list of IMAP authentication methods to try, in the order you wish to try them. If specified, this overrides mutt's default (attempt everything, in the order listed above). -

- -

5. SMTP Support

+

5. SMTP Support

Besides supporting traditional mail delivery through a sendmail-compatible program, mutt supports delivery through SMTP if it was configured and built with --enable-smtp.

-If the configuration variable -$smtp_url is set, mutt -will contact the given SMTP server to deliver messages; if it is unset, -mutt will use the program specified by $sendmail. +If the configuration variable +$smtp_url is set, mutt +will contact the given SMTP server to deliver messages; if it is unset, +mutt will use the program specified by $sendmail.

-For details on the URL syntax, please see Section 1.2, “URL syntax”. +For details on the URL syntax, please see Section 1.2, “URL syntax”.

The built-in SMTP support supports encryption (the smtps protocol using SSL or TLS) as well as SMTP authentication using SASL. The authentication mechanisms -for SASL are specified in $smtp_authenticators +for SASL are specified in $smtp_authenticators defaulting to an empty list which makes mutt try all available methods from most-secure to least-secure.

6. Managing multiple accounts

@@ -199,22 +213,23 @@ you may find managing all the authentication settings inconvenient and error-prone. The account-hook command may help. This hook works like folder-hook but is invoked whenever you access a remote mailbox (including inside the folder browser), not just when you open the -mailbox. +mailbox which includes (for example) polling for new mail, storing Fcc +messages and saving messages to a folder. As a consequence, +account-hook should only be used to set connection-related settings such +as passwords or tunnel commands but not settings such as sender +address or name (because in general it should be considered unpredictable +which account-hook was last used).

Some examples: -

-

 account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
 account-hook imap://host1/ 'set imap_user=me1 imap_pass=foo'
 account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'
 account-hook smtp://user@host3/ 'set tunnel="ssh host3 /usr/libexec/smtpd"'
-

- -

7. Local caching

+

7. Local caching

Mutt contains two types of local caching: (1) -the so-called ``header caching'' and (2) the -so-called ``body caching'' which are both described in this section. +the so-called “header caching” and (2) the +so-called “body caching” which are both described in this section.

Header caching is optional as it depends on external libraries, body caching is always enabled if mutt is compiled with POP and/or IMAP @@ -230,9 +245,9 @@ thousands of single files (since Maildir and MH use one file per message.) Header caching can be enabled via the configure script and the --enable-hcache option. It's not turned on by default because external database libraries are required: one -of qdbm, gdbm or bdb must be present. +of tokyocabinet, qdbm, gdbm or bdb must be present.

-If enabled, $header_cache can be +If enabled, $header_cache can be used to either point to a file or a directory. If set to point to a file, one database file for all folders will be used (which may result in lower performance), but one file per folder if it points @@ -244,11 +259,9 @@ folders will be named by the MD5 checksums of their path. These database files may be safely removed if a system is short on space. You can compute the name of the header cache file for a particular local folder through a command like the following: -

 $ printf '%s' '/path/to/folder' | md5sum
 

-

The md5sum command may also be named md5, depending on your operating system.

7.2. Body caching

@@ -261,10 +274,10 @@ whole message bodies. This results in faster display of messages for POP and IMAP folders because messages usually have to be downloaded only once.

-For configuration, the variable $message_cachedir must point to a +For configuration, the variable $message_cachedir must point to a directory. There, mutt will create a hierarchy of subdirectories named like: proto:user@hostname where -proto is either ``pop'' or ``imap.'' Within +proto is either “pop” or “imap.” Within there for each folder, mutt stores messages in single files (just like Maildir) so that with manual symlink creation these cache directories can be examined with mutt as read-only Maildir folders. @@ -279,7 +292,7 @@ disk space freed by removing messages is re-used.

For body caches, mutt can keep the local cache in sync with the remote mailbox if the -$message_cache_clean +$message_cache_clean variable is set. Cleaning means to remove messages from the cache which are no longer present in the mailbox which only happens when other mail clients or instances of mutt using a different body cache location @@ -287,8 +300,8 @@ delete messages (Mutt itself removes deleted messages from the cache when syncing a mailbox). As cleaning can take a noticeable amount of time, it should not be set in general but only occasionally.

8. Exact address generation

-Mutt supports the ``Name <user@host>'' address syntax for reading and -writing messages, the older ``user@host (Name)'' syntax is only supported when +Mutt supports the “Name <user@host>” address syntax for reading and +writing messages, the older “user@host (Name)” syntax is only supported when reading messages. The --enable-exact-address switch can be given to configure to build it with write-support for the latter syntax. EXACT_ADDRESS in the output of