1 The Mutt Next Generation E-Mail Client
15 Michael Elinks on mutt, circa 1995: ``All mail clients suck. This one just
18 Sven Guckes on mutt, ca. 2003: ``But it still sucks!''
20 --------------------------------------------------------------------------
32 4. Software Distribution Sites
46 1.1. Screens and Menus
78 3. Moving Around in Menus
80 4. Editing Input Fields
82 5. Reading Mail - The Index and Pager
84 5.1. The Message Index
90 5.4. Miscellaneous Functions
94 6.1. Composing new messages
98 6.3. Editing the message header
100 6.4. Using Mutt-ng with PGP
102 6.5. Sending anonymous messages via mixmaster
104 7. Forwarding and Bouncing Mail
110 1. Locations of Configuration Files
112 2. Basic Syntax of Initialization Files
114 3. Expansion within variables
116 3.1. Commands' Output
118 3.2. Environment Variables
120 3.3. Configuration Variables
122 3.4. Self-Defined Variables
124 3.5. Pre-Defined Variables
126 3.6. Type Conversions
128 4. Defining/Using aliases
130 5. Changing the default key bindings
132 6. Defining aliases for character sets
134 7. Setting variables based upon mailbox
138 9. Using color and mono video attributes
140 10. Ignoring (weeding) unwanted message headers
142 11. Alternative addresses
148 12.2. Receiving: Display Setup
152 12.4. Additional Notes
156 14. Using Multiple spool mailboxes
158 15. Defining mailboxes which receive mail
160 16. User defined headers
162 17. Defining the order of headers when viewing messages
164 18. Specify default save filename
166 19. Specify default Fcc: mailbox when composing
168 20. Specify default save filename and default Fcc: mailbox at
171 21. Change settings based upon message recipients
173 22. Change settings before formatting a message
175 23. Choosing the cryptographic key of the recipient
177 24. Adding key sequences to the keyboard buffer
179 25. Executing functions
185 28. Setting variables
187 29. Reading initialization commands from another file
197 31.3. Conditional parts
199 32. Obsolete Variables
203 1. Regular Expressions
207 2.1. Complex Patterns
209 2.2. Patterns and Dates
215 3.2. Conditional Expansion
217 3.3. Modifications and Padding
223 5.1. Message Matching in Hooks
227 7. External Address Queries
233 10. Handling Mailing Lists
237 11.1. Linking threads
239 11.2. Breaking threads
241 12. Delivery Status Notification (DSN) Support
243 13. POP3 Support (OPTIONAL)
245 14. IMAP Support (OPTIONAL)
247 14.1. The Folder Browser
251 15. NNTP Support (OPTIONAL)
255 16. SMTP Support (OPTIONAL)
257 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
259 18. Start a WWW Browser on URLs (EXTERNAL)
261 19. Compressed folders Support (OPTIONAL)
263 19.1. Open a compressed mailbox for reading
265 19.2. Write a compressed mailbox
267 19.3. Append a message to a compressed mailbox
269 19.4. Encrypted folders
271 5. Mutt-ng's MIME Support
273 1. Using MIME in Mutt
275 1.1. Viewing MIME messages in the pager
277 1.2. The Attachment Menu
279 1.3. The Compose Menu
281 2. MIME Type configuration with mime.types
283 3. MIME Viewer configuration with mailcap
285 3.1. The Basics of the mailcap file
287 3.2. Secure use of mailcap
289 3.3. Advanced mailcap Usage
291 3.4. Example mailcap files
295 5. MIME Multipart/Alternative
299 6. Security Considerations
307 3.1. Message-ID: headers
309 3.2. mailto:-style links
311 4. External applications
319 1. Command line options
323 3. Configuration Commands
325 4. Configuration variables
355 B. Hacking Documentation
361 2.1. Most commonly used movement bindings
363 2.2. Line Editor Functions
365 2.3. Most commonly used Index Bindings
367 2.4. Most commonly used Pager Bindings
369 2.5. ANSI Escape Sequences
373 2.7. Most commonly used thread-related bindings
375 2.8. Most commonly used Mail Composition Bindings
377 2.9. Most commonly used Compose Menu Bindings
379 2.10. PGP Key Menu Flags
381 3.1. Alternative Key Names
383 7.1. Reference: Command Line Options
385 7.2. Reference: Patterns
387 7.3. Reference: Obsolete Variables
389 7.4. Reference: Default Generic Function Bindings
391 7.5. Reference: Default Index Function Bindings
393 7.6. Reference: Default Pager Function Bindings
395 7.7. Reference: Default Alias Menu Function Bindings
397 7.8. Reference: Default Query Menu Function Bindings
399 7.9. Reference: Default Attachment Menu Function Bindings
401 7.10. Reference: Default Compose Menu Function Bindings
403 7.11. Reference: Default Postpone Menu Function Bindings
405 7.12. Reference: Default Browser Menu Function Bindings
407 7.13. Reference: Default PGP Menu Function Bindings
409 7.14. Reference: Default Editor Function Bindings
411 7.15. Referene: Default Sidebar Function Bindings
413 Chapter 1. Introduction
423 4. Software Distribution Sites
431 8. Manual Conventions
435 Mutt-ng is a small but very powerful text-based MIME mail client. Mutt-ng
436 is highly configurable, and is well suited to the mail power user with
437 advanced features like key bindings, keyboard macros, mail threading,
438 regular expression searches and a powerful pattern matching language for
439 selecting groups of messages.
441 This documentation additionally contains documentation to Mutt-NG ,a fork
442 from Mutt with the goal to fix all the little annoyances of Mutt, to
443 integrate all the Mutt patches that are floating around in the web, and to
444 add other new features. Features specific to Mutt-ng will be discussed in
445 an extra section. Don't be confused when most of the documentation talk
446 about Mutt and not Mutt-ng, Mutt-ng contains all Mutt features, plus many
451 <http://www.muttng.org/>
455 o <mutt-ng-users@lists.berlios.de>: This is where the mutt-ng user
458 o <mutt-ng-devel@lists.berlios.de>: The development mailing list for
461 4. Software Distribution Sites
463 So far, there are no official releases of Mutt-ng, but you can download
464 daily snapshots from <http://mutt-ng.berlios.de/snapshots/>
468 Visit channel #muttng on irc.freenode.net (www.freenode.net) to chat with
469 other people interested in Mutt-ng.
473 If you want to read fresh news about the latest development in Mutt-ng,
474 and get informed about stuff like interesting, Mutt-ng-related articles
475 and packages for your favorite distribution, you can read and/or subscribe
476 to our Mutt-ng development weblog.
480 Mutt is Copyright (C) 1996-2000 Michael R. Elkins <me@cs.hmc.edu> and
483 This program is free software; you can redistribute it and/or modify it
484 under the terms of the GNU General Public License as published by the Free
485 Software Foundation; either version 2 of the License, or (at your option)
488 This program is distributed in the hope that it will be useful, but
489 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
490 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
493 You should have received a copy of the GNU General Public License along
494 with this program; if not, write to the Free Software Foundation, Inc., 59
495 Temple Place - Suite 330, Boston, MA 02111, USA.
497 8. Manual Conventions
499 This manual contains several (hopefully consistent) conventions to
500 specially layout different items in different fashions.
502 o Configuration and environment variables will be printed in a
503 typewriter font and both prefixed with a dollar sign as it's common
504 for UNIX-like environments. Configuration variables are lower-case
505 only while environment variables are upper-case only.
507 o Muttng-specific commands are enclosed in <> and printed in a
508 typewriter font, too.
510 o As common for UNIX-like environments, references to manual pages are
511 printed with the section enclosed in braces, as in vi(1) or
512 muttngrc(5). Execute man [section] [name] to view the manual page.
514 If, while reading this fine manual, you find any inconsistencies of
515 whatever kind, please contact the developers via
516 <mutt-ng-devel@lists.berlios.de> to report it.
518 Chapter 2. Getting Started
524 1.1. Screens and Menus
556 3. Moving Around in Menus
558 4. Editing Input Fields
560 5. Reading Mail - The Index and Pager
562 5.1. The Message Index
568 5.4. Miscellaneous Functions
572 6.1. Composing new messages
576 6.3. Editing the message header
578 6.4. Using Mutt-ng with PGP
580 6.5. Sending anonymous messages via mixmaster
582 7. Forwarding and Bouncing Mail
588 1.1. Screens and Menus
590 mutt-ng offers different screens of which every has its special purpose:
592 o The index displays the contents of the currently opened mailbox.
594 o The pager is responsible for displaying messages, that is, the header,
595 the body and all attached parts.
597 o The file browser offers operations on and displays information of all
598 folders mutt-ng should watch for mail.
600 o The sidebar offers a permanent view of which mailboxes contain how
601 many total, new and/or flagged mails.
603 o The help screen lists for all currently available commands how to
604 invoke them as well as a short description.
606 o The compose menu is a comfortable interface take last actions before
607 sending mail: change subjects, attach files, remove attachements, etc.
609 o The attachement menu gives a summary and the tree structure of the
610 attachements of the current message.
612 o The alias menu lists all or a fraction of the aliases a user has
615 o The key menu used in connection with encryption lets users choose the
616 right key to encrypt with.
618 When mutt-ng is started without any further options, it'll open the users
619 default mailbox and display the index.
623 Mutt-ng does not feature an internal configuration interface or menu due
624 to the simple fact that this would be too complex to handle (currently
625 there are several hundred variables which fine-tune the behaviour.)
627 Mutt-ng is configured using configuration files which allow users to add
628 comments or manage them via version control systems to ease maintenance.
630 Also, mutt-ng comes with a shell script named grml-muttng kindly
631 contributed by users which really helps and eases the creation of a user's
632 configuration file. When downloading the source code via a snapshot or via
633 subversion, it can be found in the contrib directory.
637 Mutt-ng offers great flexibility due to the use of functions: internally,
638 every action a user can make mutt-ng perform is named ``function.'' Those
639 functions are assigned to keys (or even key sequences) and may be
640 completely adjusted to user's needs. The basic idea is that the impatient
641 users get a very intuitive interface to start off with and advanced users
642 virtually get no limits to adjustments.
646 Mutt-ng has two basic concepts of user interaction:
648 1. There is one dedicated line on the screen used to query the user for
649 input, issue any command, query variables and display error and
650 informational messages. As for every type of user input, this requires
651 manual action leading to the need of input.
653 2. The automatized interface for interaction are the so called hooks.
654 Hooks specify actions the user wants to be performed at well-defined
655 situations: what to do when entering which folder, what to do when
656 displaying or replying to what kind of message, etc. These are
657 optional, i.e. a user doesn't need to specify them but can do so.
661 Although mutt-ng has many functionality built-in, many features can be
662 delegated to external tools to increase flexibility: users can define
663 programs to filter a message through before displaying, users can use any
664 program they want for displaying a message, message types (such as PDF or
665 PostScript) for which mutt-ng doesn't have a built-in filter can be
666 rendered by arbitrary tools and so forth. Although mutt-ng has an alias
667 mechanism built-in, it features using external tools to query for nearly
668 every type of addresses from sources like LDAP, databases or just the list
669 of locally known users.
673 Mutt-ng has a built-in pattern matching ``language'' which is as widely
674 used as possible to present a consistent interface to users. The same
675 ``pattern terms'' can be used for searching, scoring, message selection
682 The index is the screen that you usually see first when you start mutt-ng.
683 It gives an overview over your emails in the currently opened mailbox. By
684 default, this is your system mailbox. The information you see in the index
685 is a list of emails, each with its number on the left, its flags (new
686 email, important email, email that has been forwarded or replied to,
687 tagged email, ...), the date when email was sent, its sender, the email
688 size, and the subject. Additionally, the index also shows thread
689 hierarchies: when you reply to an email, and the other person replies
690 back, you can see the other's person email in a "sub-tree" below. This is
691 especially useful for personal email between a group of people or when
692 you've subscribed to mailing lists.
696 The pager is responsible for showing the email content. On the top of the
697 pager you have an overview over the most important email headers like the
698 sender, the recipient, the subject, and much more information. How much
699 information you actually see depends on your configuration, which we'll
702 Below the headers, you see the email body which usually contains the
703 message. If the email contains any attachments, you will see more
704 information about them below the email body, or, if the attachments are
705 text files, you can view them directly in the pager.
707 To give the user a good overview, it is possible to configure mutt-ng to
708 show different things in the pager with different colors. Virtually
709 everything that can be described with a regular expression can be colored,
710 e.g. URLs, email addresses or smileys.
714 The file browser is the interface to the local or remote file system. When
715 selecting a mailbox to open, the browser allows custom sorting of items,
716 limiting the items shown by a regular expression and a freely adjustable
717 format of what to display in which way. It also allows for easy navigation
718 through the file system when selecting file(s) to attach to a message,
719 select multiple files to attach and many more.
723 The sidebar comes in handy to manage mails which are spread over different
724 folders. All folders users setup mutt-ng to watch for new mail will be
725 listed. The listing includes not only the name but also the number of
726 total messages, the number of new and flagged messages. Items with new
727 mail may be colored different from those with flagged mail, items may be
728 shortened or compress if they're they to long to be printed in full form
729 so that by abbreviated names, user still now what the name stands for.
733 The help screen is meant to offer a quick help to the user. It lists the
734 current configuration of key bindings and their associated commands
735 including a short description, and currently unbound functions that still
736 need to be associated with a key binding (or alternatively, they can be
737 called via the mutt-ng command prompt).
741 The compose menu features a split screen containing the information which
742 really matter before actually sending a message by mail or posting an
743 article to a newsgroup: who gets the message as what (recipient,
744 newsgroup, who gets what kind of copy). Additionally, users may set
745 security options like deciding whether to sign, encrypt or sign and
746 encrypt a message with/for what keys.
748 Also, it's used to attach messages, news articles or files to a message,
749 to re-edit any attachment including the message itself.
753 The alias menu is used to help users finding the recipients of messages.
754 For users who need to contact many people, there's no need to remember
755 addresses or names completely because it allows for searching, too. The
756 alias mechanism and thus the alias menu also features grouping several
757 addresses by a shorter nickname, the actual alias, so that users don't
758 have to select each single recipient manually.
762 As will be later discussed in detail, mutt-ng features a good and stable
763 MIME implementation, that is, is greatly supports sending and receiving
764 messages of arbitrary type. The attachment menu displays a message's
765 structure in detail: what content parts are attached to which parent part
766 (which gives a true tree structure), which type is of what type and what
767 size. Single parts may saved, deleted or modified to offer great and easy
768 access to message's internals.
774 3. Moving Around in Menus
776 Information is presented in menus, very similar to ELM. Here is a
777 tableshowing the common keys used to navigate menus in Mutt-ng.
779 Table 2.1. Most commonly used movement bindings
781 Key Function Description
782 j or Down <next-entry> move to the next entry
783 k or Up <previous-entry> move to the previous entry
784 z or PageDn <page-down> go to the next page
785 Z or PageUp <page-up> go to the previous page
786 = or Home <first-entry> jump to the first entry
787 * or End <last-entry> jump to the last entry
788 q <quit> exit the current menu
789 ? <help> list all key bindings for the current menu
791 4. Editing Input Fields
793 Mutt-ng has a builtin line editor which is used as the primary way to
794 input textual data such as email addresses or filenames. The keys used to
795 move around while editing are very similar to those of Emacs.
797 Table 2.2. Line Editor Functions
799 Key Function Description
800 ^A or <Home> <bol> move to the start of the line
801 ^B or <Left> <backward-char> move back one char
802 Esc B <backward-word> move back one word
803 ^D or <Delete> <delete-char> delete the char under the cursor
804 ^E or <End> <eol> move to the end of the line
805 ^F or <Right> <forward-char> move forward one char
806 Esc F <forward-word> move forward one word
807 <Tab> <complete> complete filename or alias
808 ^T <complete-query> complete address with query
809 ^K <kill-eol> delete to the end of the line
810 ESC d <kill-eow> delete to the end of the word
811 ^W <kill-word> kill the word in front of the cursor
812 ^U <kill-line> delete entire line
813 ^V <quote-char> quote the next typed key
814 <Up> <history-up> recall previous string from history
815 <Down> <history-down> recall next string from history
816 <BackSpace> <backspace> kill the char in front of the cursor
817 Esc u <upcase-word> convert word to upper case
818 Esc l <downcase-word> convert word to lower case
819 Esc c <capitalize-word> capitalize the word
821 <Return> n/a finish editing
823 You can remap the editor functions using the bind command. For example, to
824 make the Delete key delete the character in front of the cursor rather
825 than under, you could use
827 bind editor <delete> backspace
829 5. Reading Mail - The Index and Pager
831 Similar to many other mail clients, there are two modes in which mail
832 isread in Mutt-ng. The first is the index of messages in the mailbox,
833 which is called the ``index'' in Mutt-ng. The second mode is the display
834 of the message contents. This is called the ``pager.''
836 The next few sections describe the functions provided in each of these
839 5.1. The Message Index
841 Table 2.3. Most commonly used Index Bindings
843 Key Function Description
844 c change to a different mailbox
845 ESC c change to a folder in read-only mode
846 C copy the current message to another mailbox
847 ESC C decode a message and copy it to a folder
848 ESC s decode a message and save it to a folder
849 D delete messages matching a pattern
850 d delete the current message
852 l show messages matching a pattern
853 N mark message as new
854 o change the current sort method
855 O reverse sort the mailbox
856 q save changes and exit
858 T tag messages matching a pattern
859 t toggle the tag on a message
860 ESC t toggle tag on entire message thread
861 U undelete messages matching a pattern
864 x abort changes and exit
865 <Return> display-message
866 <Tab> jump to the next new or unread message
867 @ show the author's full e-mail address
868 $ save changes to mailbox
871 ^L clear and redraw the screen
872 ^T untag messages matching a pattern
876 In addition to who sent the message and the subject, a short summary of
877 the disposition of each message is printed beside the message number. Zero
878 or more of the following ``flags'' may appear, which mean:
882 message is deleted (is marked for deletion)
886 message have attachments marked for deletion
890 contains a PGP public key
902 message is PGP encrypted
906 message has been replied to
910 message is signed, and the signature is succesfully verified
924 Some of the status flags can be turned on or off using
926 o set-flag (default: w)
928 o clear-flag (default: W)
930 Furthermore, the following flags reflect who the message is addressed to.
931 They can be customized with the $to_chars variable.
935 message is to you and you only
939 message is to you, but also to or cc'ed to others
943 message is cc'ed to you
951 message is sent to a subscribed mailing list
955 By default, Mutt-ng uses its builtin pager to display the body of
956 messages. The pager is very similar to the Unix program less though not
957 nearly as featureful.
959 Table 2.4. Most commonly used Pager Bindings
961 Key Function Description
962 <Return> go down one line
963 <Space> display the next page (or next message if at the end of
965 - go back to the previous page
966 n search for next match
967 S skip beyond quoted text
968 T toggle display of quoted text
970 / search for a regular expression (pattern)
971 ESC / search backwards for a regular expression
972 \ toggle search pattern coloring
973 ^ jump to the top of the message
975 In addition, many of the functions from the index are available in the
976 pager, such as delete-message or copy-message (this is one advantage over
977 using an external pager to view messages).
979 Also, the internal pager supports a couple other advanced features. For
980 one, it will accept and translate the ``standard'' nroff sequences forbold
981 and underline. These sequences are a series of either the letter,
982 backspace (^H), the letter again for bold or the letter, backspace, ``_''
983 for denoting underline. Mutt-ng will attempt to display these in bold and
984 underline respectively if your terminal supports them. If not, you can use
985 the bold and underline color objects to specify a color or mono attribute
988 Additionally, the internal pager supports the ANSI escape sequences for
989 character attributes. Mutt-ng translates them into the correct color and
990 character settings. The sequences Mutt-ng supports are: ESC [
991 Ps;Ps;Ps;...;Ps m (see table below for possible values for Ps).
993 Table 2.5. ANSI Escape Sequences
1001 3x Foreground color is x (see table below)
1002 4x Background color is x (see table below)
1004 Table 2.6. ANSI Colors
1016 Mutt-ng uses these attributes for handling text/enriched messages, and
1017 they can also be used by an external auto_view script for highlighting
1018 purposes. Note: If you change the colors for your display, for example by
1019 changing the color associated with color2 for your xterm, then that color
1020 will be used instead of green.
1024 When the mailbox is sorted by threads ,there are a few additional
1025 functions available in the index and pager modes.
1027 Table 2.7. Most commonly used thread-related bindings
1029 Key Function Description
1030 ^D <delete-thread> delete all messages in the current thread
1031 ^U <undelete-thread> undelete all messages in the current thread
1032 ^N <next-thread> jump to the start of the next thread
1033 ^P <previous-thread> jump to the start of the previous thread
1034 ^R <read-thread> mark the current thread as read
1035 ESC d <delete-subthread> delete all messages in the current subthread
1036 ESC u <undelete-subthread> undelete all messages in the current subthread
1037 ESC n <next-subthread> jump to the start of the next subthread
1038 ESC p <previous-subthread> jump to the start of the previous subthread
1039 ESC r <read-subthread> mark the current subthread as read
1040 ESC t <tag-thread> toggle the tag on the current thread
1041 ESC v <collapse-thread> toggle collapse for the current thread
1042 ESC V <collapse-all> toggle collapse for all threads
1043 P <parent-message> jump to parent message in thread
1045 Note: Collapsing a thread displays only the first message in the thread
1046 and hides the others. This is useful when threads contain so many messages
1047 that you can only see a handful of threads onthe screen. See %M in
1050 For example, you could use %?M?(#%03M)&(%4l)? in $index_format to
1051 optionally display the number of hidden messages if the thread is
1054 See also the $strict_threads variable.
1056 5.4. Miscellaneous Functions
1058 <create-alias> (default: a)
1060 Creates a new alias based upon the current message (or prompts for a new
1061 one). Once editing is complete, an alias command is added to the file
1062 specified by the $alias_file variable for future use. Note: Specifying an
1063 $alias_file does not add the aliases specified there-in, you must also
1066 <check-traditional-pgp> (default: ESC P)
1068 This function will search the current message for content signed or
1069 encrypted with PGP the "traditional" way, that is, without proper MIME
1070 tagging. Technically, this function will temporarily change the MIME
1071 content types of the body parts containing PGP data; this is similar to
1072 the <edit-type> function's effect.
1074 <display-toggle-weed> (default: h)
1076 Toggles the weeding of message header fields specified by ignore commands.
1080 This command (available in the ``index'' and ``pager'') allows you to edit
1081 the raw current message as it's present in the mail folder. After you have
1082 finished editing, the changed message will be appended to the current
1083 folder, and the original message will be marked for deletion.
1085 <edit-type> (default: ) (default: ^E on the attachment menu, and in the
1086 pager and index menus; ^T on the compose menu)
1088 This command is used to temporarily edit an attachment's content type to
1089 fix, for instance, bogus character set parameters. When invoked from the
1090 index or from the pager, you'll have the opportunity to edit the top-level
1091 attachment's content type. On the attach-menu, you can change any
1092 attachment's content type. These changes are not persistent, and get lost
1093 upon changing folders.
1095 Note that this command is also available on the compose-menu .There, it's
1096 used to fine-tune the properties of attachments you are going to send.
1098 <enter-command> (default: :)
1100 This command is used to execute any command you would normally put in a
1101 configuration file. A common use is to check the settings of variables, or
1102 in conjunction with macro to change settings on the fly.
1104 <extract-keys> (default: ^K)
1106 This command extracts PGP public keys from the current or tagged
1107 message(s) and adds them to your PGP public key ring.
1109 <forget-passphrase> (default: ^F)
1111 This command wipes the passphrase(s) from memory. It is useful, if you
1112 misspelled the passphrase.
1114 <list-reply> (default: L)
1116 Reply to the current or tagged message(s) by extracting any addresses
1117 which match the regular expressions given by the lists commands, but also
1118 honor any Mail-Followup-To header(s) if the $honor_followup_to
1119 configuration variable is set. Using this when replying to messages posted
1120 to mailing lists helps avoid duplicate copies being sent to the author of
1121 the message you are replying to.
1123 <pipe-message> (default: )
1125 Asks for an external Unix command and pipes the current or tagged
1126 message(s) to it. The variables $pipe_decode, $pipe_split, $pipe_decode
1127 and $wait_key control the exact behavior of this function.
1129 <resend-message> (default: ESC e)
1131 With resend-message, mutt takes the current message as a template for a
1132 new message. This function is best described as "recall from arbitrary
1133 folders". It can conveniently be used to forward MIME messages while
1134 preserving the original mail structure. Note that the amount of headers
1135 included here depends on the value of the $weed variable.
1137 This function is also available from the attachment menu. You can use this
1138 to easily resend a message which was included with a bounce message as a
1139 message/rfc822 body part.
1141 <shell-escape> (default: !)
1143 Asks for an external Unix command and executes it. The $wait_key can be
1144 used to control whether Mutt-ng will wait for a key to be pressed when the
1145 command returns (presumably to let the user read the output of the
1146 command), based on the return status of the named command.
1148 <toggle-quoted> (default: T)
1150 The pager uses the $quote_regexp variable to detect quoted text when
1151 displaying the body of the message. This function toggles the displayof
1152 the quoted material in the message. It is particularly useful when are
1153 interested in just the response and there is a large amount of quoted text
1156 <skip-quoted> (default: S)
1158 This function will go to the next line of non-quoted text which come after
1159 a line of quoted text in the internal pager.
1163 The following bindings are available in the index for sending messages.
1165 Table 2.8. Most commonly used Mail Composition Bindings
1167 Key Function Description
1168 m <compose> compose a new message
1169 r <reply> reply to sender
1170 g <group-reply> reply to all recipients
1171 L <list-reply> reply to mailing list address
1172 f <forward> forward message
1173 b <bounce> bounce (remail) message
1174 ESC k <mail-key> mail a PGP public key to someone
1176 Bouncing a message sends the message as is to the recipient you specify.
1177 Forwarding a message allows you to add comments or modify the message you
1178 are forwarding. These items are discussed in greater detail in the next
1179 chapter forwarding-mail.
1181 6.1. Composing new messages
1183 When you want to send an email using mutt-ng, simply press m on your
1184 keyboard. Then, mutt-ng asks for the recipient via a prompt in the last
1189 After you've finished entering the recipient(s), press return. If you want
1190 to send an email to more than one recipient, separate the email addresses
1191 using the comma ",". Mutt-ng then asks you for the email subject. Again,
1192 press return after you've entered it. After that, mutt-ng got the most
1193 important information from you, and starts up an editor where you can then
1196 The editor that is called is selected in the following way: you can e.g.
1197 set it in the mutt-ng configuration:
1199 set editor = "vim +/^$/ -c ':set tw=72'"
1201 set editor = "emacs"
1203 If you don't set your preferred editor in your configuration, mutt-ng
1204 first looks whether the environment variable $VISUAL is set, and if so, it
1205 takes its value as editor command. Otherwise, it has a look at $EDITOR and
1206 takes its value if it is set. If no editor command can be found, mutt-ng
1207 simply assumes vi(1) to be the default editor, since it's the most
1208 widespread editor in the Unix world and it's pretty safe to assume that it
1209 is installed and available.
1211 When you've finished entering your message, save it and quit your editor.
1212 Mutt-ng will then present you with a summary screen, the compose menu. On
1213 the top, you see a summary of the most important available key commands.
1214 Below that, you see the sender, the recipient(s), Cc and/or Bcc
1215 recipient(s), the subject, the reply-to address, and optionally
1216 information where the sent email will be stored and whether it should be
1217 digitally signed and/or encrypted.
1219 Below that, you see a list of "attachments". The mail you've just entered
1220 before is also an attachment, but due to its special type (it's plain
1221 text), it will be displayed as the normal message on the receiver's side.
1223 At this point, you can add more attachments, pressing a, you can edit the
1224 recipient addresses, pressing t for the "To:" field, c for the "Cc:"
1225 field, and b for the "Bcc: field. You can also edit the subject the
1226 subject by simply pressing s or the email message that you've entered
1227 before by pressing e. You will then again return to the editor. You can
1228 even edit the sender, by pressing <esc>f, but this shall only be used with
1231 Alternatively, you can configure mutt-ng in a way that most of the above
1232 settings can be edited using the editor. Therefore, you only need to add
1233 the following to your configuration:
1237 Once you have finished editing the body of your mail message, you are
1238 returned to the compose menu. The following options are available:
1240 Table 2.9. Most commonly used Compose Menu Bindings
1242 Key Function Description
1243 a <attach-file> attach a file
1244 A <attach-message> attach message(s) to the message
1245 ESC k <attach-key> attach a PGP public key
1246 d <edit-description> edit description on attachment
1247 D <detach-file> detach a file
1248 t <edit-to> edit the To field
1249 ESC f <edit-from> edit the From field
1250 r <edit-reply-to> edit the Reply-To field
1251 c <edit-cc> edit the Cc field
1252 b <edit-bcc> edit the Bcc field
1253 y <send-message> send the message
1254 s <edit-subject> edit the Subject
1255 S <smime-menu> select S/MIME options
1256 f <edit-fcc> specify an ``Fcc'' mailbox
1257 p <pgp-menu> select PGP options
1258 P <postpone-message> postpone this message until later
1259 q <quit> quit (abort) sending the message
1260 w <write-fcc> write the message to a folder
1261 i <ispell> check spelling (if available on your system)
1262 ^F <forget-passphrase> wipe passphrase(s) from memory
1264 Note: The attach-message function will prompt you for a folder to attach
1265 messages from. You can now tag messages in that folder and theywill be
1266 attached to the message you are sending. Note that certainoperations like
1267 composing a new mail, replying, forwarding, etc. are not permitted when
1268 you are in that folder. The %r in $status_format will change to a 'A' to
1269 indicate that you are in attach-message mode.
1273 6.2.1. Simple Replies
1275 When you want to reply to an email message, select it in the index menu
1276 and then press r. Mutt-ng's behaviour is then similar to the behaviour
1277 when you compose a message: first, you will be asked for the recipient,
1278 then for the subject, and then, mutt-ng will start the editor with the
1279 quote attribution and the quoted message. This can e.g. look like the
1282 On Mon, Mar 07, 2005 at 05:02:12PM +0100, Michael Svensson wrote:
1283 > Bill, can you please send last month's progress report to Mr.
1284 > Morgan? We also urgently need the cost estimation for the new
1285 > production server that we want to set up before our customer's
1286 > project will go live.
1288 You can start editing the email message. It is strongly recommended to put
1289 your answer below the quoted text and to only quote what is really
1290 necessary and that you refer to. Putting your answer on top of the quoted
1291 message, is, although very widespread, very often not considered to be a
1292 polite way to answer emails.
1294 The quote attribution is configurable, by default it is set to
1296 set attribution = "On %d, %n wrote:"
1298 It can also be set to something more compact, e.g.
1300 set attribution = "attribution="* %n <%a> [%(%y-%m-%d %H:%M)]:"
1302 The example above results in the following attribution:
1304 * Michael Svensson <svensson@foobar.com> [05-03-06 17:02]:
1305 > Bill, can you please send last month's progress report to Mr.
1306 > Morgan? We also urgently need the cost estimation for the new
1307 > production server that we want to set up before our customer's
1308 > project will go live.
1310 Generally, try to keep your attribution short yet information-rich. It is
1311 not the right place for witty quotes, long "attribution" novels or
1312 anything like that: the right place for such things is - if at all - the
1313 email signature at the very bottom of the message.
1315 When you're done with writing your message, save and quit the editor. As
1316 before, you will return to the compose menu, which is used in the same way
1319 6.2.2. Group Replies
1321 In the situation where a group of people uses email as a discussion, most
1322 of the emails will have one or more recipients, and probably several "Cc:"
1323 recipients. The group reply functionalityensures that when you press g
1324 instead of r to do a reply, each and every recipient that is contained in
1325 the original message will receive a copy of the message, either as normal
1326 recipient or as "Cc:" recipient.
1330 When you use mailing lists, it's generally better to send your reply to a
1331 message only to the list instead of the list and the original author. To
1332 make this easy to use, mutt-ng features list replies.
1334 To do a list reply, simply press L. If the email contains a
1335 Mail-Followup-To: header, its value will be used as reply address.
1336 Otherwise, mutt-ng searches through all mail addresses in the original
1337 message and tries to match them a list of regular expressions which can be
1338 specified using the lists command. If any of the regular expression
1339 matches, a mailing list address has been found, and it will be used as
1342 lists linuxevent@luga\.at vuln-dev@ mutt-ng-users@
1344 Nowadays, most mailing list software like GNU Mailman adds a
1345 Mail-Followup-To: header to their emails anyway, so setting lists is
1346 hardly ever necessary in practice.
1348 6.3. Editing the message header
1350 When editing the header of your outgoing message, there are a couple of
1351 special features available.
1353 If you specify Fcc:filename Mutt-ng will pick up filename just as if you
1354 had used the edit-fcc function in the compose menu.
1356 You can also attach files to your message by specifying
1358 Attach: filename [description]
1360 where filename is the file to attach and description is an optional string
1361 to use as the description of the attached file.
1363 When replying to messages, if you remove the In-Reply-To: field from the
1364 header field, Mutt-ng will not generate a References: field, which allows
1365 you to create a new message thread.
1367 Also see the $edit_headers and $editor_headers variables
1369 6.4. Using Mutt-ng with PGP
1371 If you want to use PGP, you can specify
1375 ``E'' encrypts, ``S'' signs and ``S<id>'' signs with the given key,
1376 setting $pgp_sign_as permanently.
1378 If you have told mutt to PGP encrypt a message, it will guide you through
1379 a key selection process when you try to send the message. Mutt-ng will not
1380 ask you any questions about keys which have a certified user ID matching
1381 one of the message recipients' mail addresses. However, there may be
1382 situations in which there are several keys, weakly certified user ID
1383 fields, or where no matching keys can be found.
1385 In these cases, you are dropped into a menu with a list of keys from which
1386 you can select one. When you quit this menu, or mutt can't find any
1387 matching keys, you are prompted for a user ID. You can, as usually, abort
1388 this prompt using ^G. When you do so, mutt will return to the compose
1391 Once you have successfully finished the key selection, the message will be
1392 encrypted using the selected public keys, and sent out.
1394 Most fields of the entries in the key selection menu (see also
1395 $pgp_entry_format) have obvious meanings. But some explanations on the
1396 capabilities, flags, and validity fields are in order.
1398 The flags sequence (%f) will expand to one of the following flags:
1400 Table 2.10. PGP Key Menu Flags
1403 R The key has been revoked and can't be used.
1404 X The key is expired and can't be used.
1405 d You have marked the key as disabled.
1406 c There are unknown critical self-signature packets.
1408 The capabilities field (%c) expands to a two-character
1409 sequencerepresenting a key's capabilities. The first character gives the
1410 key's encryption capabilities: A minus sign (- )means that the key cannot
1411 be used for encryption. A dot (. )means that it's marked as a signature
1412 key in one of the user IDs, but may also be used for encryption. The
1413 letter e indicates that this key can be used for encryption.
1415 The second character indicates the key's signing capabilities. Once again,
1416 a ``-'' implies ``not for signing'', ``.'' implies that the key is marked
1417 as an encryption key in one of the user-ids, and ``s'' denotes a key which
1418 can be used for signing.
1420 Finally, the validity field (%t) indicates how well-certified a user-id
1421 is. A question mark (?) indicates undefined validity, a minus character
1422 (-) marks an untrusted association, a space character means a partially
1423 trusted association, and a plus character (+ ) indicates complete
1426 6.5. Sending anonymous messages via mixmaster
1428 You may also have configured mutt to co-operate with Mixmaster, an
1429 anonymous remailer. Mixmaster permits you to send your messages
1430 anonymously using a chain of remailers. Mixmaster support in mutt is for
1431 mixmaster version 2.04 (beta 45 appears to be the latest) and 2.03. It
1432 does not support earlier versions or the later so-called version 3 betas,
1433 of which the latest appears to be called 2.9b23.
1435 To use it, you'll have to obey certain restrictions. Most important, you
1436 cannot use the Cc and Bcc headers. To tell Mutt-ng to use mixmaster, you
1437 have to select a remailer chain, using the mix function on the compose
1440 The chain selection screen is divided into two parts. In the (larger)
1441 upper part, you get a list of remailers you may use. In the lower part,
1442 you see the currently selected chain of remailers.
1444 You can navigate in the chain using the chain-prev and chain-next
1445 functions, which are by default bound to the left and right arrows and to
1446 the h and l keys (think vi keyboard bindings). To insert a remailer at the
1447 current chain position, use the insert function. To append a remailer
1448 behind the current chain position, use select-entry or append . You can
1449 also delete entries from the chain, using the corresponding function.
1450 Finally, to abandon your changes, leave the menu, or accept them pressing
1451 (by default) the Return key.
1453 Note that different remailers do have different capabilities, indicated in
1454 the %c entry of the remailer menu lines (see $mix_entry_format). Most
1455 important is the ``middleman'' capability, indicated by a capital ``M'':
1456 This means that the remailer in question cannot be used as the final
1457 element of a chain, but will only forward messages to other mixmaster
1458 remailers. For details on the other capabilities, please have a look at
1459 the mixmaster documentation.
1461 7. Forwarding and Bouncing Mail
1463 Often, it is necessary to forward mails to other people. Therefore,
1464 mutt-ng supports forwarding messages in two different ways.
1466 The first one is regular forwarding, as you probably know it from other
1467 mail clients. You simply press f, enter the recipient email address, the
1468 subject of the forwarded email, and then you can edit the message to be
1469 forwarded in the editor. The forwarded message is separated from the rest
1470 of the message via the two following markers:
1472 ----- Forwarded message from Lucas User <luser@example.com> -----
1474 From: Lucas User <luser@example.com>
1475 Date: Thu, 02 Dec 2004 03:08:34 +0100
1476 To: Michael Random <mrandom@example.com>
1477 Subject: Re: blackmail
1479 Pay me EUR 50,000.- cash or your favorite stuffed animal will die
1482 ----- End forwarded message -----
1484 When you're done with editing the mail, save and quit the editor, and you
1485 will return to the compose menu, the same menu you also encounter when
1486 composing or replying to mails.
1488 The second mode of forwarding emails with mutt-ng is the so-called
1489 bouncing: when you bounce an email to another address, it will be sent in
1490 practically the same format you send it (except for headers that are
1491 created during transporting the message). To bounce a message, press b and
1492 enter the recipient email address. By default, you are then asked whether
1493 you really want to bounce the message to the specified recipient. If you
1494 answer with yes, the message will then be bounced.
1496 To the recipient, the bounced email will look as if he got it like a
1497 regular email where he was Bcc: recipient. The only possibility to find
1498 out whether it was a bounced email is to carefully study the email headers
1499 and to find out which host really sent the email.
1503 At times it is desirable to delay sending a message that you have already
1504 begun to compose. When the postpone-message function is used in the
1505 compose menu, the body of your message and attachments are stored in the
1506 mailbox specified by the $postponed variable. This means that you can
1507 recall the message even if you exit Mutt-ng and then restart it at a later
1510 Once a message is postponed, there are several ways to resume it. From the
1511 command line you can use the ``-p'' option, or if you compose a new
1512 message from the index or pager you will be prompted if postponed messages
1513 exist. If multiple messages are currently postponed, the postponed menu
1514 will pop up and you can select which message you would like to resume.
1516 Note: If you postpone a reply to a message, the reply setting of the
1517 message is only updated when you actually finish the message and send it.
1518 Also, you must be in the same folder with the message you replied to for
1519 the status of the message to be updated.
1521 See also the $postpone quad-option.
1523 Chapter 3. Configuration
1527 1. Locations of Configuration Files
1529 2. Basic Syntax of Initialization Files
1531 3. Expansion within variables
1533 3.1. Commands' Output
1535 3.2. Environment Variables
1537 3.3. Configuration Variables
1539 3.4. Self-Defined Variables
1541 3.5. Pre-Defined Variables
1543 3.6. Type Conversions
1545 4. Defining/Using aliases
1547 5. Changing the default key bindings
1549 6. Defining aliases for character sets
1551 7. Setting variables based upon mailbox
1555 9. Using color and mono video attributes
1557 10. Ignoring (weeding) unwanted message headers
1559 11. Alternative addresses
1565 12.2. Receiving: Display Setup
1569 12.4. Additional Notes
1573 14. Using Multiple spool mailboxes
1575 15. Defining mailboxes which receive mail
1577 16. User defined headers
1579 17. Defining the order of headers when viewing messages
1581 18. Specify default save filename
1583 19. Specify default Fcc: mailbox when composing
1585 20. Specify default save filename and default Fcc: mailbox at once
1587 21. Change settings based upon message recipients
1589 22. Change settings before formatting a message
1591 23. Choosing the cryptographic key of the recipient
1593 24. Adding key sequences to the keyboard buffer
1595 25. Executing functions
1601 28. Setting variables
1603 29. Reading initialization commands from another file
1609 31.1. Character Sets
1611 31.2. Modularization
1613 31.3. Conditional parts
1615 32. Obsolete Variables
1617 1. Locations of Configuration Files
1619 While the default configuration (or ``preferences'') make Mutt-ng usable
1620 right out of the box, it is often desirable to tailor Mutt-ng to suit your
1621 own tastes. When Mutt-ng is first invoked, it will attempt to read the
1622 ``system'' configuration file (defaults set by your local system
1623 administrator), unless the ``-n'' commandline option is specified. This
1624 file is typically /usr/local/share/muttng/Muttngrc or /etc/Muttngrc ,
1625 Mutt-ng users will find this file in /usr/local/share/muttng/Muttrc or
1626 /etc/Muttngrc. Mutt will next look for a file named .muttrc in your home
1627 directory, Mutt-ng will look for .muttngrc. If this file does not exist
1628 and your home directory has a subdirectory named .mutt , mutt try to load
1629 a file named .muttng/muttngrc.
1631 .muttrc (or .muttngrc for Mutt-ng) is the file where you will usually
1632 place your commands to configure Mutt-ng.
1634 2. Basic Syntax of Initialization Files
1636 An initialization file consists of a series of commands. Each line of the
1637 file may contain one or more commands. When multiple commands are used,
1638 they must be separated by a semicolon (;).
1640 set realname='Mutt-ng user' ; ignore x-
1642 The hash mark, or pound sign (``#''), is used as a ``comment'' character.
1643 You can use it to annotate your initialization file. All text after the
1644 comment character to the end of the line is ignored. For example,
1646 my_hdr X-Disclaimer: Why are you listening to me? # This is a comment
1648 Single quotes (') and double quotes (") can be used to quote strings which
1649 contain spaces or other special characters. The difference between the two
1650 types of quotes is similar to that of many popular shell programs, namely
1651 that a single quote is used to specify a literal string (one that is not
1652 interpreted for shell variables or quoting with a backslash (see next
1653 paragraph), while double quotes indicate a string for which should be
1654 evaluated. For example, backtics are evaluated inside of double quotes,
1655 but not for single quotes.
1657 \ quotes the next character, just as in shells such as bash and zsh. For
1658 example, if want to put quotes ``"'' inside of a string, you can use ``\''
1659 to force the next character to be a literal instead of interpreted
1662 set realname="Michael \"MuttDude\" Elkins"
1664 ``\\'' means to insert a literal ``\'' into the line. ``\n'' and ``\r''
1665 have their usual C meanings of linefeed and carriage-return, respectively.
1667 A \ at the end of a line can be used to split commands over multiple
1668 lines, provided that the split points don't appear in the middle of
1671 Please note that, unlike the various shells, mutt-ng interprets a ``\'' at
1672 the end of a line also in comments. This allows you to disable a command
1673 split over multiple lines with only one ``#''.
1676 set realname="Michael \"MuttDude\" Elkins"
1678 When testing your config files, beware the following caveat. The backslash
1679 at the end of the commented line extends the current line with the next
1680 line - then referred to as a ``continuation line''. As the first line is
1681 commented with a hash (#) all following continuation lines are also part
1682 of a comment and therefore are ignored, too. So take care of comments when
1683 continuation lines are involved within your setup files!
1693 line1 ``continues'' until line4. however, the part after the # is a
1694 comment which includes line3 and line4. line5 is a new line of its own and
1695 thus is interpreted again.
1697 The commands understood by mutt are explained in the next paragraphs. For
1698 a complete list, see the commands.
1700 3. Expansion within variables
1702 Besides just assign static content to variables, there's plenty of ways of
1703 adding external and more or less dynamic content.
1705 3.1. Commands' Output
1707 It is possible to substitute the output of a Unix command in an
1708 initialization file. This is accomplished by enclosing the command in
1709 backquotes (``) as in, for example:
1711 my_hdr X-Operating-System: `uname -a`
1713 The output of the Unix command ``uname -a'' will be substituted before the
1714 line is parsed. Note that since initialization files are line oriented,
1715 only the first line of output from the Unix command will be substituted.
1717 3.2. Environment Variables
1719 UNIX environments can be accessed like the way it is done in shells like
1720 sh and bash: Prepend the name of the environment by a ``$'' sign. For
1723 set record=+sent_on_$HOSTNAME
1725 sets the $record variable to the string +sent_on_ and appends the value of
1726 the evironment variable $HOSTNAME.
1728 Note: There will be no warning if an environment variable is not defined.
1729 The result will of the expansion will then be empty.
1731 3.3. Configuration Variables
1733 As for environment variables, the values of all configuration variables as
1734 string can be used in the same way, too. For example,
1736 set imap_home_namespace = $folder
1738 would set the value of $imap_home_namespace to the value to which $folder
1739 is currently set to.
1741 Note: There're no logical links established in such cases so that the the
1742 value for $imap_home_namespace won't change even if $folder gets changed.
1744 Note: There will be no warning if a configuration variable is not defined
1745 or is empty. The result will of the expansion will then be empty.
1747 3.4. Self-Defined Variables
1749 Mutt-ng flexibly allows users to define their own variables. To avoid
1750 conflicts with the standard set and to prevent misleading error messages,
1751 there's a reserved namespace for them: all user-defined variables must be
1752 prefixed with user_ and can be used just like any ordinary configuration
1753 or environment variable.
1755 For example, to view the manual, users can either define two macros like
1758 macro generic <F1> "!less -r /path/to/manual" "Show manual"
1759 macro pager <F1> "!less -r /path/to/manual" "Show manual"
1761 for generic, pager and index .The alternative is to define a custom
1764 set user_manualcmd = "!less -r /path/to_manual"
1765 macro generic <F1> "$user_manualcmd<enter>" "Show manual"
1766 macro pager <F1> "$user_manualcmd<enter>" "Show manual"
1767 macro index <F1> "$user_manualcmd<enter>" "Show manual"
1769 to re-use the command sequence as in:
1771 macro index <F2> "$user_manualcmd | grep '\^[ ]\\+~. '" "Show Patterns"
1773 Using this feature, arbitrary sequences can be defined once and recalled
1774 and reused where necessary. More advanced scenarios could include to save
1775 a variable's value at the beginning of macro sequence and restore it at
1778 When the variable is first defined, the first value it gets assigned is
1779 also the initial value to which it can be reset using the reset command.
1781 The complete removal is done via the unset keyword.
1783 After the following sequence:
1788 the variable $user_foo has a current value of 666 and an initial of 42.
1793 will show 666. After doing the reset via
1797 a following query will give 42 as the result. After unsetting it via
1801 any query or operation (except the noted expansion within other
1802 statements) will lead to an error message.
1804 3.5. Pre-Defined Variables
1806 In order to allow users to share one setup over a number of different
1807 machines without having to change its contents, there's a number of
1808 pre-defined variables. These are prefixed with muttng_ and are read-only,
1809 i.e. they cannot be set, unset or reset. The reference chapter lists all
1810 available variables.
1812 Please consult the local copy of your manual for their values as they may
1813 differ from different manual sources. Where the manual is installed in can
1814 be queried (already using such a variable) by running:
1816 muttng -Q muttng_docdir
1818 To extend the example for viewing the manual via self-defined variables,
1819 it can be made more readable and more portable by changing the real path
1822 set user_manualcmd = '!less -r /path/to_manual'
1826 set user_manualcmd = "!less -r $muttng_docdir/manual.txt"
1828 which works everywhere if a manual is installed.
1830 Please note that by the type of quoting, muttng determines when to expand
1831 these values: when it finds double quotes, the value will be expanded
1832 during reading the setup files but when it finds single quotes, it'll
1833 expand it at runtime as needed.
1835 For example, the statement
1837 folder-hook . "set user_current_folder = $muttng_folder_name"
1839 will be already be translated to the following when reading the startup
1842 folder-hook . "set user_current_folder = some_folder"
1844 with some_folder being the name of the first folder muttng opens. On the
1847 folder-hook . 'set user_current_folder = $muttng_folder_name'
1849 will be executed at runtime because of the single quotes so that
1850 user_current_folder will always have the value of the currently opened
1853 A more practical example is:
1855 folder-hook . 'source ~/.mutt/score-$muttng_folder_name'
1857 which can be used to source files containing score commands depending on
1858 the folder the user enters.
1860 3.6. Type Conversions
1862 A note about variable's types during conversion: internally values are
1863 stored in internal types but for any dump/query or set operation they're
1864 converted to and from string. That means that there's no need to worry
1865 about types when referencing any variable. As an example, the following
1866 can be used without harm (besides makeing muttng very likely behave
1870 set folder = $read_inc
1871 set read_inc = $folder
1872 set user_magic_number = 42
1873 set folder = $user_magic_number
1875 4. Defining/Using aliases
1877 Usage: aliaskeyaddress [, address,...]
1879 It's usually very cumbersome to remember or type out the address of
1880 someone you are communicating with. Mutt-ng allows you to create
1881 ``aliases'' which map a short string to a full address.
1883 Note: if you want to create an alias for a group (by specifying more than
1884 one address), you must separate the addresses with a comma (``,'').
1886 To remove an alias or aliases (``*'' means all aliases):
1888 unalias [* | key...]
1890 alias muttdude me@cs.hmc.edu (Michael Elkins)
1891 alias theguys manny, moe, jack
1893 Unlike other mailers, Mutt-ng doesn't require aliases to be defined in a
1894 special file. The alias command can appear anywhere in a configuration
1895 file, as long as this file is source. Consequently, you can have multiple
1896 alias files, or you can have all aliases defined in your muttrc.
1898 On the other hand, the <create-alias> function can use only one file, the
1899 one pointed to by the $alias_file variable (which is ~/.muttrc by
1900 default). This file is not special either, in the sense that Mutt-ng will
1901 happily append aliases to any file, but in order for the new aliases to
1902 take effect you need to explicitly source this file too.
1906 source /usr/local/share/Mutt-ng.aliases
1907 source ~/.mail_aliases
1908 set alias_file=~/.mail_aliases
1910 To use aliases, you merely use the alias at any place in mutt where
1911 muttprompts for addresses, such as the To: or Cc: prompt. You can also
1912 enter aliases in your editor at the appropriate headers if you have the
1913 $editor_headers variable set.
1915 In addition, at the various address prompts, you can use the tab character
1916 to expand a partial alias to the full alias. If there are multiple
1917 matches, mutt will bring up a menu with the matching aliases. In order to
1918 be presented with the full list of aliases, you must hit tab with out a
1919 partial alias, such as at the beginning of the prompt or after a comma
1920 denoting multiple addresses.
1922 In the alias menu, you can select as many aliases as you want with the
1923 select-entry key (default: RET), and use the exit key (default: q) to
1924 return to the address prompt.
1926 5. Changing the default key bindings
1928 Usage: bindmapkeyfunction
1930 This command allows you to change the default key bindings (operation
1931 invoked when pressing a key).
1933 map specifies in which menu the binding belongs. Multiple maps may be
1934 specified by separating them with commas (no additional whitespace
1935 isallowed). The currently defined maps are:
1939 This is not a real menu, but is used as a fallback for all of the
1940 other menus except for the pager and editor modes. If a key is not
1941 defined in another menu, Mutt-ng will look for a binding to use in
1942 this menu. This allows you to bind a key to a certain function in
1943 multiple menus instead of having multiple bind statements to
1944 accomplish the same task.
1948 The alias menu is the list of your personal aliases as defined in
1949 your muttrc. It is the mapping from a short alias name to the full
1950 email address(es) of the recipient(s).
1954 The attachment menu is used to access the attachments on received
1959 The browser is used for both browsing the local directory
1960 structure, and for listing all of your incoming mailboxes.
1964 The editor is the line-based editor the user enters text data.
1968 The index is the list of messages contained in a mailbox.
1972 The compose menu is the screen used when sending a new message.
1976 The pager is the mode used to display message/attachment data, and
1981 The pgp menu is used to select the OpenPGP keys used for
1982 encrypting outgoing messages.
1986 The postpone menu is similar to the index menu, except is used
1987 when recalling a message the user was composing, but saved until
1990 key is the key (or key sequence) you wish to bind. To specify a control
1991 character, use the sequence \Cx, where x is the letter of the control
1992 character (for example, to specify control-A use ``\Ca''). Note that the
1993 case of x as well as \C is ignored, so that \CA, \Ca, \cA and \ca are all
1994 equivalent. An alternative form is to specify the key as a three digit
1995 octal number prefixed with a ``\'' (for example \177 is equivalent to
1998 In addition, key may consist of:
2000 Table 3.1. Alternative Key Names
2002 Sequence Description
2005 <backtab> backtab / shift-tab
2015 <pagedown> Page Down
2016 <backspace> Backspace
2025 <f10> function key 10
2027 key does not need to be enclosed in quotes unless it contains a space (``
2030 function specifies which action to take when key is pressed. For a
2031 complete list of functions, see the functions. The special function noop
2032 unbinds the specified key sequence.
2034 6. Defining aliases for character sets
2036 Usage: charset-hookaliascharset
2038 Usage: iconv-hookcharsetlocal-charset
2040 The charset-hook command defines an alias for a character set. This is
2041 useful to properly display messages which are tagged with a character set
2042 name not known to mutt.
2044 The iconv-hook command defines a system-specific name for a character set.
2045 This is helpful when your systems character conversion library insists on
2046 using strange, system-specific names for character sets.
2048 7. Setting variables based upon mailbox
2050 Usage: folder-hook [!]regexpcommand
2052 It is often desirable to change settings based on which mailbox you are
2053 reading. The folder-hook command provides a method by which you can
2054 execute any configuration command. regexp is a regular expression
2055 specifying in which mailboxes to execute command before loading. If a
2056 mailbox matches multiple folder-hook's, they are executed in the order
2057 given in the muttrc.
2059 Note: if you use the ``!'' shortcut for $spoolfile at the beginning of the
2060 pattern, you must place it inside of double or single quotes in order to
2061 distinguish it from the logical not operator for the expression.
2063 Note that the settings are not restored when you leave the mailbox. For
2064 example, a command action to perform is to change the sorting methodbased
2065 upon the mailbox being read:
2067 folder-hook mutt set sort=threads
2069 However, the sorting method is not restored to its previous value when
2070 reading a different mailbox. To specify a default command, use the pattern
2073 folder-hook . set sort=date-sent
2077 Usage: macromenukeysequence [description]
2079 Macros are useful when you would like a single key to perform a series of
2080 actions. When you press key in menu menu ,Mutt-ng will behave as if you
2081 had typed sequence. So if you have a common sequence of commands you type,
2082 you can create a macro to execute those commands with a singlekey.
2084 menu is the maps which the macro will be bound. Multiple maps may be
2085 specified by separating multiple menu arguments by commas. Whitespace may
2086 not be used in between the menu arguments and thecommas separating them.
2088 key and sequence are expanded by the same rules as the bind. There are
2089 some additions however. The first is that control characters in sequence
2090 can also be specified as ^x. In order to get a caret (`^'') you need to
2091 use ^^. Secondly, to specify a certain key such as up or to invoke a
2092 function directly, you can use the format <key name> and <function name>
2093 .For a listing of key names see the section on bind. Functions are listed
2096 The advantage with using function names directly is that the macros
2097 willwork regardless of the current key bindings, so they are not dependent
2098 on the user having particular key definitions. This makes them more
2099 robustand portable, and also facilitates defining of macros in files used
2100 by more than one user (eg. the system Muttngrc).
2102 Optionally you can specify a descriptive text after sequence, which is
2103 shown in the help screens.
2105 Note: Macro definitions (if any) listed in the help screen(s), are
2106 silently truncated at the screen width, and are not wrapped.
2108 9. Using color and mono video attributes
2110 Usage: colorobjectforegroundbackground [regexp]
2112 Usage: color index foregroundbackgroundpattern
2114 Usage: uncolor index pattern[pattern...]
2116 If your terminal supports color, you can spice up Mutt-ng by creating your
2117 own color scheme. To define the color of an object (type of information),
2118 you must specify both a foreground color and a background color (it is not
2119 possible to only specify one or the other).
2121 object can be one of:
2125 o body (match regexp in the body of messages)
2127 o bold (highlighting bold patterns in the body of messages)
2129 o error (error messages printed by Mutt-ng)
2131 o header (match regexp in the message header)
2133 o hdrdefault (default color of the message header in the pager)
2135 o index (match pattern in the message index)
2137 o indicator (arrow or bar used to indicate the current item in a menu)
2139 o markers (the ``+'' markers at the beginning of wrapped lines in the
2142 o message (informational messages)
2146 o quoted (text matching $quote_regexp in the body of a message)
2148 o quoted1, quoted2, ..., quotedN (higher levels of quoting)
2150 o search (highlighting of words in the pager)
2154 o status (mode lines used to display info about the mailbox or message)
2156 o tilde (the ``~'' used to pad blank lines in the pager)
2158 o tree (thread tree drawn in the message index and attachment menu)
2160 o underline (highlighting underlined patterns in the body of messages)
2162 foreground and background can be one of the following:
2184 foreground can optionally be prefixed with the keyword bright to make the
2185 foreground color boldfaced (e.g., brightred).
2187 If your terminal supports it, the special keyword default can be used as a
2188 transparent color. The value brightdefault is also valid. If Mutt-ng is
2189 linked against the S-Lang library, you also need to set the $COLORFGBG
2190 environment variable to the default colors of your terminal for this to
2191 work; for example (for Bourne-like shells):
2193 set COLORFGBG="green;black"
2196 Note: The S-Lang library requires you to use the lightgray and brown
2197 keywords instead of white and yellow when setting this variable.
2199 Note: The uncolor command can be applied to the index object only. It
2200 removes entries from the list. You must specify the same pattern specified
2201 in the color command for it to be removed. The pattern ``*'' is a special
2202 token which means to clear the color index list of all entries.
2204 Mutt-ng also recognizes the keywords color0, color1 ,..., colorN-1 (N
2205 being the number of colors supported by your terminal). This is useful
2206 when you remap the colors for your display (for example by changing the
2207 color associated with color2 for your xterm), since color names may then
2208 lose their normal meaning.
2210 If your terminal does not support color, it is still possible change the
2211 video attributes through the use of the ``mono'' command:
2213 Usage: mono<object> <attribute>[regexp]
2215 Usage: mono index attributepattern
2217 Usage: unmono index pattern [pattern...]
2219 where attribute is one of the following:
2231 10. Ignoring (weeding) unwanted message headers
2233 Usage: ignorepattern [pattern...]
2235 Usage: unignorepattern [pattern...]
2237 Messages often have many header fields added by automatic processing
2238 systems, or which may not seem useful to display on the screen. This
2239 command allows you to specify header fields which you don't normally want
2242 You do not need to specify the full header field name. For example,
2243 ``ignore content-'' will ignore all header fields that begin with the
2244 pattern ``content-''. ``ignore *'' will ignore all headers.
2246 To remove a previously added token from the list, use the ``unignore''
2247 command. The ``unignore'' command will make Mutt-ng display headers with
2248 the given pattern. For example, if you do ``ignore x-'' it is possible to
2249 ``unignore x-mailer''.
2251 ``unignore *'' will remove all tokens from the ignore list.
2255 # Sven's draconian header weeding
2257 unignore from date subject to cc
2258 unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
2261 11. Alternative addresses
2263 Usage: alternatesregexp [regexp...]
2265 Usage: unalternatesregexp [regexp...]
2267 With various functions, mutt will treat messages differently, depending on
2268 whether you sent them or whether you received them from someone else. For
2269 instance, when replying to a message that you sent to a different party,
2270 mutt will automatically suggest to send the response to the original
2271 message's recipients--responding to yourself won't make much sense in many
2272 cases. (See $reply_to.)
2274 Many users receive e-mail under a number of different addresses. To fully
2275 use mutt's features here, the program must be able to recognize what
2276 e-mail addresses you receive mail under. That's the purpose of the
2277 alternates command: It takes a list of regular expressions, each of which
2278 can identify an address under which you receive e-mail.
2280 The unalternates command can be used to write exceptions to alternates
2281 patterns. If an address matches something in an alternates command, but
2282 you nonetheless do not think it is from you, you can list a more precise
2283 pattern under an unalternates command.
2285 To remove a regular expression from the alternates list, use the
2286 unalternates command with exactly the same regexp . Likewise, if the
2287 regexp for a alternates command matches an entry on the unalternates list,
2288 that unalternates entry will be removed. If the regexp for unalternates is
2289 ``*'', all entries on alternates will be removed.
2295 Mutt-ng contains support for so-called format=flowed messages. In the
2296 beginning of email, each message had a fixed line width, and it was enough
2297 for displaying them on fixed-size terminals. But times changed, and
2298 nowadays hardly anybody still uses fixed-size terminals: more people
2299 nowaydays use graphical user interfaces, with dynamically resizable
2300 windows. This led to the demand of a new email format that makes it
2301 possible for the email client to make the email look nice in a resizable
2302 window without breaking quoting levels and creating an incompatible email
2303 format that can also be displayed nicely on old fixed-size terminals.
2305 For introductory information on format=flowed messages, see
2306 <http://www.joeclark.org/ffaq.html>.
2308 12.2. Receiving: Display Setup
2310 When you receive emails that are marked as format=flowed messages, and is
2311 formatted correctly, mutt-ng will try to reformat the message to optimally
2312 fit on your terminal. If you want a fixed margin on the right side of your
2313 terminal, you can set the following:
2317 The code above makes the line break 10 columns before the right side of
2320 If your terminal is so wide that the lines are embarrassingly long, you
2321 can also set a maximum line length:
2323 set max_line_length = 120
2325 The example above will give you lines not longer than 120 characters.
2327 When you view at format=flowed messages, you will often see the quoting
2328 hierarchy like in the following example:
2330 >Bill, can you please send last month's progress report to Mr.
2331 >Morgan? We also urgently need the cost estimation for the new
2332 >production server that we want to set up before our customer's
2333 >project will go live.
2335 This obviously doesn't look very nice, and it makes it very hard to
2336 differentiate between text and quoting character. The solution is to
2337 configure mutt-ng to "stuff" the quoting:
2341 This will lead to a nicer result that is easier to read:
2343 > Bill, can you please send last month's progress report to Mr.
2344 > Morgan? We also urgently need the cost estimation for the new
2345 > production server that we want to set up before our customer's
2346 > project will go live.
2350 If you want mutt-ng to send emails with format=flowed set, you need to
2355 Additionally, you have to use an editor which supports writing
2356 format=flowed-conforming emails. For vim(1), this is done by adding w to
2357 the formatoptions (see :h formatoptions and :h fo-table) when writing
2360 Also note that format=flowed knows about ``space-stuffing'', that is, when
2361 sending messages, some kinds of lines have to be indented with a single
2362 space on the sending side. On the receiving side, the first space (if any)
2363 is removed. As a consequence and in addition to the above simple setting,
2364 please keep this in mind when making manual formattings within the editor.
2365 Also note that mutt-ng currently violates the standard (RfC 3676) as it
2366 does not space-stuff lines starting with:
2368 o > This is not the quote character but a right angle used for other
2371 Please make sure that you manually prepend a space to each of them.
2373 12.4. Additional Notes
2375 For completeness, the $delete_space variable provides the mechanism to
2376 generate a DelSp=yes parameter on outgoing messages. According to the
2377 standard, clients receiving a format=flowed messages should delete the
2378 last space of a flowed line but still interpret the line as flowed.
2379 Because flowed lines usually contain only one space at the end, this
2380 parameter would make the receiving client concatenate the last word of the
2381 previous with the first of the current line without a space. This makes
2382 ordinary text unreadable and is intended for languages rarely using
2383 spaces. So please use this setting only if you're sure what you're doing.
2387 Usage: listsregexp [regexp...]
2389 Usage: unlistsregexp [regexp...]
2391 Usage: subscriberegexp [regexp...]
2393 Usage: unsubscriberegexp [regexp...]
2395 Mutt-ng has a few nice features for using-lists. In order to take
2396 advantage of them, you must specify which addresses belong to mailing
2397 lists, and which mailing lists you are subscribed to. Once you have done
2398 this, the list-reply function will work for all known lists. Additionally,
2399 when you send a message to a subscribed list, mutt will add a
2400 Mail-Followup-To header to tell other users' mail user agents not to send
2401 copies of replies to your personal address. Note that the Mail-Followup-To
2402 header is a non-standard extension which is not supported by all mail user
2403 agents. Adding it is not bullet-proof against receiving personal CCs of
2404 list messages. Also note that the generation of the Mail-Followup-To
2405 header is controlled by the $followup_to configuration variable.
2407 More precisely, Mutt-ng maintains lists of patterns for the addresses of
2408 known and subscribed mailing lists. Every subscribed mailing list is
2409 known. To mark a mailing list as known, use the ``lists'' command. To mark
2410 it as subscribed, use ``subscribe''.
2412 You can use regular expressions with both commands. To mark all messages
2413 sent to a specific bug report's address on mutt's bug tracking system as
2414 list mail, for instance, you could say ``subscribe [0-9]*@bugs.guug.de''.
2415 Often, it's sufficient to just give a portion of the list's e-mail
2418 Specify as much of the address as you need to to remove ambiguity. For
2419 example, if you've subscribed to the Mutt-ng mailing list, you will
2420 receive mail addressed to mutt-users@mutt.org. So, to tell Mutt-ng that
2421 this is a mailing list, you could add ``lists mutt-users'' to your
2422 initialization file. To tell mutt that you are subscribed to it, add
2423 ``subscribe mutt-users'' to your initialization file instead. If you also
2424 happen to get mail from someone whose address is mutt-users@example.com,
2425 you could use ``lists mutt-users@mutt\\.org'' or ``subscribe
2426 mutt-users@mutt\\.org'' to match only mail from the actual list.
2428 The ``unlists'' command is used to remove a token from the list of known
2429 and subscribed mailing-lists. Use ``unlists *'' to remove all tokens.
2431 To remove a mailing list from the list of subscribed mailing lists, but
2432 keep it on the list of known mailing lists, use ``unsubscribe''.
2434 14. Using Multiple spool mailboxes
2436 Usage: mbox-hook [!]patternmailbox
2438 This command is used to move read messages from a specified mailbox to
2439 adifferent mailbox automatically when you quit or change folders. pattern
2440 is a regular expression specifying the mailbox to treat as a ``spool''
2441 mailbox and mailbox specifies where mail should be saved when read.
2443 Unlike some of the other hook commands, only the first matching pattern is
2444 used (it is not possible to save read mail in more than a single mailbox).
2446 15. Defining mailboxes which receive mail
2448 Usage: mailboxes [!]filename [filename...]
2450 Usage: unmailboxes [!]filename [filename...]
2452 This command specifies folders which can receive mail and which will be
2453 checked for new messages. By default, the main menu status bar displays
2454 how many of these folders have new messages.
2456 When changing folders, pressing space will cycle through folders with new
2459 Pressing TAB in the directory browser will bring up a menu showing the
2460 files specified by the mailboxes command, and indicate which contain new
2461 messages. Mutt-ng will automatically enter this mode when invoked from the
2462 command line with the -y option.
2464 The ``unmailboxes'' command is used to remove a token from the list of
2465 folders which receive mail. Use ``unmailboxes *'' to remove all tokens.
2467 Note: new mail is detected by comparing the last modification time to the
2468 last access time. Utilities like biff or frm or any other program which
2469 accesses the mailbox might cause Mutt-ng to never detect new mail for that
2470 mailbox if they do not properly reset the access time. Backup tools are
2471 another common reason for updated access times.
2473 Note: the filenames in the mailboxes command are resolved when the command
2474 is executed, so if these names contain shortcuts (such as ``='' and
2475 ``!''), any variable definition that affect these characters (like $folder
2476 and $spoolfile) should be executed before the mailboxes command.
2478 16. User defined headers
2482 Usage: unmy_hdrfield [field...]
2484 The ``my_hdr'' command allows you to create your own header fields which
2485 will be added to every message you send.
2487 For example, if you would like to add an ``Organization:'' header field to
2488 all of your outgoing messages, you can put the command
2490 my_hdr Organization: A Really Big Company, Anytown, USA
2494 Note: space characters are not allowed between the keyword and the colon
2495 (``:''). The standard for electronic mail (RfC 822) says that space is
2496 illegal there, so Mutt-ng enforces the rule.
2498 If you would like to add a header field to a single message, you should
2499 either set the $edit_headers variable, or use the edit-headers function
2500 (default: ``E'') in the send-menu so that you can edit the header of your
2501 message along with the body.
2503 To remove user defined header fields, use the ``unmy_hdr'' command. You
2504 may specify an asterisk (``*'') to remove all header fields, or the fields
2505 to remove. For example, to remove all ``To'' and ``Cc'' header fields, you
2510 17. Defining the order of headers when viewing messages
2512 Usage: hdr_orderheader1header2header3
2514 With this command, you can specify an order in which mutt will attempt to
2515 present headers to you when viewing messages.
2517 ``unhdr_order *'' will clear all previous headers from the order list,
2518 thus removing the header order effects set by the system-wide startup
2521 hdr_order From Date: From: To: Cc: Subject:
2523 18. Specify default save filename
2525 Usage: save-hook [!]patternfilename
2527 This command is used to override the default filename used when saving
2528 messages. filename will be used as the default filename if the message is
2529 From: an address matching regexp or if you are the author and the message
2530 is addressed to: something matching regexp .
2532 See pattern-hook for information on the exact format of pattern.
2536 save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
2537 save-hook aol\\.com$ +spam
2539 Also see the fcc-save-hook command.
2541 19. Specify default Fcc: mailbox when composing
2543 Usage: fcc-hook [!]patternmailbox
2545 This command is used to save outgoing mail in a mailbox other than
2546 $record. Mutt-ng searches the initial list of message recipients for the
2547 first matching regexp and uses mailbox as the default Fcc: mailbox. If no
2548 match is found the message will be saved to $record mailbox.
2550 See pattern-hook for information on the exact format of pattern.
2552 Example: fcc-hook [@.]aol\\.com$ +spammers
2554 The above will save a copy of all messages going to the aol.com domain to
2555 the `+spammers' mailbox by default. Also see the fcc-save-hook command.
2557 20. Specify default save filename and default Fcc: mailbox at once
2559 Usage: fcc-save-hook [!]patternmailbox
2561 This command is a shortcut, equivalent to doing both a fcc-hook and a
2562 save-hook with its arguments.
2564 21. Change settings based upon message recipients
2566 Usage: reply-hook [!]patterncommand
2568 Usage: send-hook [!]patterncommand
2570 Usage: send2-hook [!]patterncommand
2572 These commands can be used to execute arbitrary configuration commands
2573 based upon recipients of the message. pattern is a regular expression
2574 matching the desired address. command is executed when regexp matches
2575 recipients of the message.
2577 reply-hook is matched against the message you are replying to, instead of
2578 the message you are sending .send-hook is matched against all messages,
2579 both new and replies .Note:reply-hooks are matched before the send-hook,
2580 regardless of the order specified in the users's configuration file.
2582 send2-hook is matched every time a message is changed, either by editing
2583 it, or by using the compose menu to change its recipients or subject.
2584 send2-hook is executed after send-hook ,and can, e.g., be used to set
2585 parameters such as the $sendmail variable depending on the message's
2588 For each type of send-hook or reply-hook, when multiple matches occur,
2589 commands are executed in the order they are specified in the muttrc (for
2592 See pattern-hook for information on the exact format of pattern.
2594 Example: send-hook mutt "set mime_forward signature=''"
2596 Another typical use for this command is to change the values of the
2597 $attribution, $signature and $locale variables in order to change the
2598 language of the attributions and signatures based upon the recipients.
2600 Note: the send-hook's are only executed ONCE after getting the initial
2601 list of recipients. Adding a recipient after replying or editing the
2602 message will NOT cause any send-hook to be executed. Also note that my_hdr
2603 commands which modify recipient headers, or the message's subject, don't
2604 have any effect on the current message when executed from a send-hook.
2606 22. Change settings before formatting a message
2608 Usage: message-hook [!]patterncommand
2610 This command can be used to execute arbitrary configuration commands
2611 before viewing or formatting a message based upon information about the
2612 message. command is executed if the pattern matches the message to be
2613 displayed. When multiple matches occur, commands are executed in the order
2614 they are specified in the muttrc.
2616 See pattern-hook for information on the exact format of pattern.
2620 message-hook ~A 'set pager=builtin'
2621 message-hook '~f freshmeat-news' 'set pager="less \"+/^ subject:.*\""'
2623 23. Choosing the cryptographic key of the recipient
2625 Usage: crypt-hookpatternkeyid
2627 When encrypting messages with PGP or OpenSSL, you may want to associate a
2628 certain key with a given e-mail address automatically, either because the
2629 recipient's public key can't be deduced from the destination address, or
2630 because, for some reasons, you need to override the key Mutt-ng
2631 wouldnormally use. The crypt-hook command provides a method by which you
2632 can specify the ID of the public key to be used when encrypting messages
2633 to a certain recipient.
2635 The meaning of "key id" is to be taken broadly in this context: You can
2636 either put a numerical key ID here, an e-mail address, or even just a real
2639 24. Adding key sequences to the keyboard buffer
2643 This command adds the named string to the keyboard buffer. The string may
2644 contain control characters, key names and function names like the sequence
2645 string in the macro command. You may use it to automatically run a
2646 sequence of commands at startup, or when entering certain folders. For
2647 example, the following command will automatically collapse all threads
2648 when entering a folder:
2650 folder-hook . 'push <collapse-all>'
2653 25. Executing functions
2655 Usage: execfunction [function...]
2657 This command can be used to execute any function. Functions are listed in
2658 the functions. ``exec function'' is equivalent to ``push <function>''.
2662 Usage: scorepatternvalue
2664 Usage: unscorepattern [pattern...]
2666 In situations where you have to cope with a lot of emails, e.g. when you
2667 read many different mailing lists, and take part in discussions, it is
2668 always useful to have the important messages marked and the annoying
2669 messages or the ones that you aren't interested in deleted. For this
2670 purpose, mutt-ng features a mechanism called ``scoring''.
2672 When you use scoring, every message has a base score of 0. You can then
2673 use the score command to define patterns and a positive or negative value
2674 associated with it. When a pattern matches a message, the message's score
2675 will be raised or lowered by the amount of the value associated with the
2678 score "~f nion@muttng\.org" 50
2679 score "~f @sco\.com" -100
2681 If the pattern matches, it is also possible to set the score value of the
2682 current message to a certain value and then stop evaluation:
2684 score "~f santaclaus@northpole\.int" =666
2686 What is important to note is that negative score values will be rounded up
2689 To make scoring actually useful, the score must be applied in some way.
2690 That's what the score thresholds are for. Currently, there are three score
2693 o flag threshold: when a message has a score value equal or higher than
2694 the flag threshold, it will be flagged.
2696 o read threshold: when a message has a score value equal or lower than
2697 the read threshold, it will be marked as read.
2699 o delete threshold: when a message has a score value equal or lower than
2700 the delete threshold, it will be marked as deleted.
2702 These three thresholds can be set via the variables $score_threshold_read,
2703 $score_threshold_flag and $score_threshold_delete.
2705 By default, $score_threshold_read and $score_threshold_delete are set to
2706 -1, which means that in the default threshold configuration no message
2707 will ever get marked as read or deleted.
2709 Scoring gets especially interesting when combined with the color command
2712 color index black yellow "~n 10-"
2713 color index red yellow "~n 100-"
2715 The rules above mark all messages with a score between 10 and 99 with
2716 black and yellow, and messages with a score greater or equal 100 with red
2717 and yellow. This might be unusual to you if you're used to e.g. slrn's
2718 scoring mechanism, but it is more flexible, as it visually marks different
2723 Usage: spampatternformat
2725 Usage: nospampattern
2727 Mutt-ng has generalized support for external spam-scoring filters. By
2728 defining your spam patterns with the spam and nospam commands, you can
2729 limit, search, and sort your mail based on its spam attributes, as
2730 determined by the external filter. You also can display the spam
2731 attributes in your index display using the %H selector in the
2732 $index_format variable. (Tip: try %?H?[%H] ? to display spam tags only
2733 when they are defined for a given message.)
2735 Your first step is to define your external filter's spam patterns using
2736 the spam command. pattern should be a regular expression that matches a
2737 header in a mail message. If any message in the mailbox matches this
2738 regular expression, it will receive a ``spam tag'' or ``spam attribute''
2739 (unless it also matches a nospam pattern -- see below.) The appearance of
2740 this attribute is entirely up to you, and is governed by the format
2741 parameter. format can be any static text, but it also can include
2742 back-references from the pattern expression. (A regular expression
2743 ``back-reference'' refers to a sub-expression contained within
2744 parentheses.) %1 is replaced with the first back-reference in the regex,
2745 %2 with the second, etc.
2747 If you're using multiple spam filters, a message can have more than one
2748 spam-related header. You can define spam patterns for each filter you use.
2749 If a message matches two or more of these patterns, and the
2750 $spam_separator variable is set to a string, then the message's spam tag
2751 will consist of all the format strings joined together, with the value of
2752 $spam_separator separating them.
2754 For example, suppose I use DCC, SpamAssassin, and PureMessage. I might
2755 define these spam settings:
2757 spam "X-DCC-.*-Metrics:.*(....)=many" "90+/DCC-%1"
2758 spam "X-Spam-Status: Yes" "90+/SA"
2759 spam "X-PerlMX-Spam: .*Probability=([0-9]+)%" "%1/PM"
2760 set spam_separator=", "
2762 If I then received a message that DCC registered with ``many'' hits under
2763 the ``Fuz2'' checksum, and that PureMessage registered with a 97%
2764 probability of being spam, that message's spam tag would read90+/DCC-Fuz2,
2765 97/PM. (The four characters before ``=many'' in a DCC report indicate the
2766 checksum used -- in this case, ``Fuz2''.)
2768 If the $spam_separator variable is unset, then each spam pattern match
2769 supersedes the previous one. Instead of getting joined format strings,
2770 you'll get only the last one to match.
2772 The spam tag is what will be displayed in the index when you use %H in the
2773 $index_format variable. It's also the string that the ~H pattern-matching
2774 expression matches against for search and limit functions. And it's what
2775 sorting by spam attribute will use as a sort key.
2777 That's a pretty complicated example, and most people's actual environments
2778 will have only one spam filter. The simpler your configuration, the more
2779 effective mutt can be, especially when it comes to sorting.
2781 Generally, when you sort by spam tag, mutt will sort lexically -- that is,
2782 by ordering strings alphnumerically. However, if a spam tag begins with a
2783 number, mutt will sort numerically first, and lexically only when two
2784 numbers are equal in value. (This is like UNIX's sort -n.) A message with
2785 no spam attributes at all -- that is, one that didn't match any of your
2786 spam patterns -- is sorted at lowest priority. Numbers are sorted next,
2787 beginning with 0 and ranging upward. Finally, non-numeric strings are
2788 sorted, with ``a'' taking lowerpriority than ``z''. Clearly, in general,
2789 sorting by spam tags is most effective when you can coerce your filter to
2790 give you a raw number. But in case you can't, mutt can still do something
2793 The nospam command can be used to write exceptions to spam patterns. If a
2794 header pattern matches something in a spam command, but you nonetheless do
2795 not want it to receive a spam tag, you can list amore precise pattern
2796 under a nospam command.
2798 If the pattern given to nospam is exactly the same as the pattern on an
2799 existing spam list entry, the effect will be to remove the entry from the
2800 spam list, instead of adding an exception. Likewise, if the pattern for a
2801 spam command matches an entry on the nospam list, that nospam entry will
2802 be removed. If the pattern for nospam is ``*'', all entries on both lists
2803 will be removed. This might be the default action if you use spam and
2804 nospam in conjunction with a folder-hook.
2806 You can have as many spam or nospam commands as you like. You can even do
2807 your own primitive spam detection within mutt -- for example, if you
2808 consider all mail from MAILER-DAEMON to be spam, you can use a spam
2811 spam "^From: .*MAILER-DAEMON" "999"
2813 28. Setting variables
2815 Usage: set [no|inv]variable[=value] [variable...]
2817 Usage: togglevariable [variable...]
2819 Usage: unsetvariable [variable...]
2821 Usage: resetvariable [variable...]
2823 This command is used to set (and unset) variables. There are four basic
2824 types of variables: boolean, number, string and quadoption. boolean
2825 variables can be set (true) or unset (false). number variables can be
2826 assigned a positive integer value.
2828 string variables consist of any number of printable characters. strings
2829 must be enclosed in quotes if they contain spaces or tabs. You may also
2830 use the ``C'' escape sequences \n and \t for newline and tab,
2833 quadoption variables are used to control whether or not to be prompted for
2834 certain actions, or to specify a default action. A value of yes will cause
2835 the action to be carried out automatically as if you had answered yes to
2836 the question. Similarly, a value of no will cause the the action to be
2837 carried out as if you had answered ``no.'' A value of ask-yes will cause a
2838 prompt with a default answer of ``yes'' and ask-no will provide a default
2841 Prefixing a variable with ``no'' will unset it. Example: set noaskbcc .
2843 For boolean variables, you may optionally prefix the variable name with
2844 inv to toggle the value (on or off). This is useful when writing macros.
2845 Example: set invsmart_wrap.
2847 The toggle command automatically prepends the inv prefix to all specified
2850 The unset command automatically prepends the no prefix to all specified
2853 Using the enter-command function in the index menu, you can query the
2854 value of a variable by prefixing the name of the variable with a question
2859 The question mark is actually only required for boolean and quadoption
2862 The reset command resets all given variables to the compile time defaults
2863 (hopefully mentioned in this manual). If you use the command set and
2864 prefix the variable with ``&'' this has the same behavior as the reset
2867 With the reset command there exists the special variable ``all'', which
2868 allows you to reset all variables to their system defaults.
2870 29. Reading initialization commands from another file
2872 Usage: sourcefilename [filename...]
2874 This command allows the inclusion of initialization commands from other
2875 files. For example, I place all of my aliases in ~/.mail_aliases so that I
2876 can make my ~/.muttrc readable and keep my aliases private.
2878 If the filename begins with a tilde (``~''), it will be expanded to the
2879 path of your home directory.
2881 If the filename ends with a vertical bar (|), then filename is considered
2882 to be an executable program from which to read input (eg. source
2887 Usage: unhook [* | hook-type]
2889 This command permits you to flush hooks you have previously defined. You
2890 can either remove all hooks by giving the ``*'' character as an argument,
2891 or you can remove all hooks of a specific type by saying something like
2896 31.1. Character Sets
2898 As users may run mutt-ng on different systems, the configuration must be
2899 maintained because it's likely that people want to use the setup
2900 everywhere they use mutt-ng. And mutt-ng tries to help where it can.
2902 To not produce conflicts with different character sets, mutt-ng allows
2903 users to specify in which character set their configuration files are
2904 encoded. Please note that while reading the configuration files, this is
2905 only respected after the corresponding declaration appears. It's advised
2906 to put the following at the very beginning of a users muttngrc:
2908 set config_charset = "..."
2910 and replacing the dots with the actual character set. To avoid problems
2911 while maintaining the setup, vim(1) user's may want to use modelines as
2914 # vim:fileencoding=...:
2916 while, again, replacing the dots with the appropriate name. This tells
2917 vim(1) as which character set to read and save the file.
2919 31.2. Modularization
2921 ``Modularization'' means to divide the setup into several files while
2922 sorting the options or commands by topic. Especially for longer setups
2923 (e.g. with many hooks), this helps maintaining it and solving trouble.
2925 When using separation, setups may be, as a whole or in fractions, shared
2926 over different systems.
2928 31.3. Conditional parts
2930 When using a configuration on different systems, the user may not always
2931 have influence on how mutt-ng is installed and which features it includes.
2933 To solve this, mutt-ng contain a feature based on the ``ifdef'' patch
2934 written for mutt. Its basic syntax is:
2936 ifdef <item> <command>
2937 ifndef <item> <command>
2939 ...whereby <item> can be one of:
2949 All available functions, variables and menus are documented elsewhere in
2950 this manual but ``features'' is specific to these two commands. To test
2951 for one, prefix one of the following keywords with feature_: ncurses,
2952 slang, iconv, idn, dotlock, standalone, pop, nntp, imap, ssl, gnutls,
2953 sasl, sasl2, libesmtp, compressed, color, classic_pgp, classic_smime,
2956 As an example, one can use the following in ~/.muttngrc:
2958 ifdef feature_imap 'source ~/.mutt-ng/setup-imap'
2959 ifdef feature_pop 'source ~/.mutt-ng/setup-pop'
2960 ifdef feature_nntp 'source ~/.mutt-ng/setup-nntp'
2962 ...to only source ~/.mutt-ng/setup-imap if IMAP support is built in, only
2963 source ~/.mutt-ng/setup-pop if POP support is built in and only source
2964 ~/.mutt-ng/setup-nntp if NNTP support is built in.
2966 An example for testing for variable names can be used if users use
2967 different revisions of mutt-ng whereby the older one may not have a
2968 certain variable. To test for the availability of $imap_mail_check use:
2970 ifdef imap_mail_check 'set imap_mail_check = 300'
2972 Provided for completeness is the test for menu names. To set
2973 $pager_index_lines only if the pager menu is available, use:
2975 ifdef pager 'set pager_index_lines = 10'
2977 For completeness, too, the opposite of ifdef is provided: ifndef which
2978 only executes the command if the test fails. For example, the following
2979 two examples are equivalent:
2981 ifdef feature_ncurses 'source ~/.mutt-ng/setup-ncurses'
2982 ifndef feature_ncurses 'source ~/.mutt-ng/setup-slang'
2986 ifdef feature_slang 'source ~/.mutt-ng/setup-slang'
2987 ifndef feature_slang 'source ~/.mutt-ng/setup-ncurses'
2989 32. Obsolete Variables
2991 In the process of ensuring and creating more consistency, many variables
2992 have been renamed and some of the old names were already removed. Please
2993 see sect-obsolete for a complete list.
2995 Chapter 4. Advanced Usage
2999 1. Regular Expressions
3003 2.1. Complex Patterns
3005 2.2. Patterns and Dates
3011 3.2. Conditional Expansion
3013 3.3. Modifications and Padding
3019 5.1. Message Matching in Hooks
3021 6. Using the sidebar
3023 7. External Address Queries
3027 9. Mailbox Shortcuts
3029 10. Handling Mailing Lists
3033 11.1. Linking threads
3035 11.2. Breaking threads
3037 12. Delivery Status Notification (DSN) Support
3039 13. POP3 Support (OPTIONAL)
3041 14. IMAP Support (OPTIONAL)
3043 14.1. The Folder Browser
3045 14.2. Authentication
3047 15. NNTP Support (OPTIONAL)
3049 15.1. Again: Scoring
3051 16. SMTP Support (OPTIONAL)
3053 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
3055 18. Start a WWW Browser on URLs (EXTERNAL)
3057 19. Compressed folders Support (OPTIONAL)
3059 19.1. Open a compressed mailbox for reading
3061 19.2. Write a compressed mailbox
3063 19.3. Append a message to a compressed mailbox
3065 19.4. Encrypted folders
3067 1. Regular Expressions
3069 All string patterns in Mutt-ng including those in more complex patterns
3070 must be specified using regular expressions (regexp) in the ``POSIX
3071 extended'' syntax (which is more or less the syntax used by egrep and GNU
3072 awk). For your convenience, we have included below a brief description of
3075 The search is case sensitive if the pattern contains at least one upper
3076 case letter, and case insensitive otherwise. Note that ``\'' must be
3077 quoted if used for a regular expression in an initialization command:
3080 A regular expression is a pattern that describes a set of strings. Regular
3081 expressions are constructed analogously to arithmetic expressions, by
3082 using various operators to combine smaller expressions.
3084 Note that the regular expression can be enclosed/delimited by either " or
3085 ' which is useful if the regular expression includes a white-space
3086 character. See muttrc-syntax for more information on " and ' delimiter
3087 processing. To match a literal " or ' you must preface it with \
3090 The fundamental building blocks are the regular expressions that match a
3091 single character. Most characters, including all letters and digits, are
3092 regular expressions that match themselves. Any metacharacter with special
3093 meaning may be quoted by preceding it with a backslash.
3095 The period ``.'' matches any single character. The caret ``^'' andthe
3096 dollar sign ``$'' are metacharacters that respectively match the empty
3097 string at the beginning and end of a line.
3099 A list of characters enclosed by ``]'' and ``]'' matches any single
3100 character in that list; if the first character of the list is a caret
3101 ``^'' then it matches any character not in the list. For example, the
3102 regular expression ]0123456789] matches any single digit. A range of ASCII
3103 characters may be specified by giving the first and last characters,
3104 separated by a hyphen ``-''. Most metacharacters lose their special
3105 meaning inside lists. To include a literal ``]'' place it first in the
3106 list. Similarly, to include a literal ``^'' place it anywhere but first.
3107 Finally, to include a literal hyphen ``-'' place it last.
3109 Certain named classes of characters are predefined. Character classes
3110 consist of ``[:'', a keyword denoting the class, and ``:]''. The following
3111 classes are defined by the POSIX standard:
3115 Alphanumeric characters.
3119 Alphabetic characters.
3123 Space or tab characters.
3135 Characters that are both printable and visible. (A space is
3136 printable, but not visible, while an ``a'' is both.)
3140 Lower-case alphabetic characters.
3144 Printable characters (characters that are not control characters.)
3148 Punctuation characters (characters that are not letter, digits,
3149 control characters, or space characters).
3153 Space characters (such as space, tab and formfeed, to name a few).
3157 Upper-case alphabetic characters.
3161 Characters that are hexadecimal digits.
3163 A character class is only valid in a regular expression inside the
3164 brackets of a character list. Note that the brackets in these class names
3165 are part of the symbolic names, and must be included in addition to the
3166 brackets delimiting the bracket list. For example, [[:digit:]] is
3167 equivalent to [0-9].
3169 Two additional special sequences can appear in character lists. These
3170 apply to non-ASCII character sets, which can have single symbols
3171 (calledcollating elements) that are represented with more than one
3172 character, as well as several characters that are equivalent for collating
3173 or sorting purposes:
3177 A collating symbol is a multi-character collating element enclosed
3178 in ``[.'' and ``.]''. For example, if ``ch'' is a collating
3179 element, then [[.ch.]] is a regexp that matches this collating
3180 element, while [ch] is a regexp that matches either ``c'' or
3185 An equivalence class is a locale-specific name for a list of
3186 characters that are equivalent. The name is enclosed in ``[='' and
3187 ``=]''. For example, the name ``e'' might be used to represent all
3188 of ``è'' ``é'' and ``e''. In this case, [[=e=]] is a regexp that
3189 matches any of ``è'', ``é'' and ``e''.
3191 A regular expression matching a single character may be followed by one of
3192 several repetition operators:
3196 The preceding item is optional and matched at most once.
3200 The preceding item will be matched zero or more times.
3204 The preceding item will be matched one or more times.
3208 The preceding item is matched exactly n times.
3212 The preceding item is matched n or more times.
3216 The preceding item is matched at most m times.
3220 The preceding item is matched at least n times, but no more than m
3223 Two regular expressions may be concatenated; the resulting regular
3224 expression matches any string formed by concatenating two substrings that
3225 respectively match the concatenated subexpressions.
3227 Two regular expressions may be joined by the infix operator ``|''; the
3228 resulting regular expression matches any string matching either
3231 Repetition takes precedence over concatenation, which in turn takes
3232 precedence over alternation. A whole subexpression may be enclosed in
3233 parentheses to override these precedence rules.
3235 Note: If you compile Mutt-ng with the GNU rx package, the following
3236 operators may also be used in regular expressions:
3240 Matches the empty string at either the beginning or the end of a
3245 Matches the empty string within a word.
3249 Matches the empty string at the beginning of a word.
3253 Matches the empty string at the end of a word.
3257 Matches any word-constituent character (letter, digit, or
3262 Matches any character that is not word-constituent.
3266 Matches the empty string at the beginning of a buffer (string).
3270 Matches the empty string at the end of a buffer.
3272 Please note however that these operators are not defined by POSIX, so they
3273 may or may not be available in stock libraries on various systems.
3277 Mutt-ng's pattern language provides a simple yet effective way to set up
3278 rules to match messages, e.g. for operations like tagging and scoring. A
3279 pattern consists of one or more sub-pattern, which can be logically
3280 grouped, ORed, and negated. For a complete listing of these patterns,
3281 please refer to table patterns in the Reference chapter.
3283 It must be noted that in this table, EXPR is a regular expression. For
3284 ranges, the forms <[MAX], >>[MIN], [MIN]- and -[MAX] are also possible.
3286 2.1. Complex Patterns
3288 It is possible to combine several sub-patterns to a more complex pattern.
3289 The most simple possibility is to logically AND several patterns by
3290 stringing them together:
3294 The pattern above matches all messages that contain ``SPAM'' in the
3295 subject and are unread.
3297 To logical OR patterns, simply use the | operator. This one especially
3298 useful when using local groups:
3300 ~f ("nion@muttng\.org"|"ak@muttng\.org"|"pdmef@muttng\.org")
3301 (~b mutt-ng|~s Mutt-ng)
3304 The first pattern matches all messages that were sent by one of the
3305 mutt-ng maintainers, while the seconds pattern matches all messages that
3306 contain ``mutt-ng'' in the message body or ``Mutt-ng'' in the subject. The
3307 third pattern matches all messages that do not contain ``@synflood\.at''
3308 in the References: header, i.e. messages that are not an (indirect) reply
3309 to one of my messages. A pattern can be logicall negated using the !
3312 2.2. Patterns and Dates
3314 When using dates in patterns, the dates must be specified in a special
3315 format, i.e. DD/MM/YYYY. If you don't specify month or year, they default
3316 to the current month or year. When using date ranges, and you specify only
3317 the minimum or the maximum, the specified date will be excluded, e.g.
3318 01/06/2005- matches against all messages after Juni 1st, 2005.
3320 It is also possible to use so-called ``error margins'' when specifying
3321 date ranges. You simply specify a date, and then the error margin. This
3322 margin needs to contain the information whether it goes ``forth'' or
3323 ``back'' in time, by using + and -. Then follows a number and a unit, i.e.
3324 y for years, m for months, w for weeks and d for days. If you use the
3325 special * sign, it means that the error margin goes to both``directions''
3332 The first pattern matches all dates between January 1st, 2005 and January
3333 1st 2006. The second pattern matches all dates between October 18th, 2004
3334 and October 4th 2004 (2 weeks before 18/10/2004), while the third pattern
3335 matches all dates 1 day around December 28th, 2004 (i.e. Dec 27th, 28th
3338 Relative dates are also very important, as they make it possible to
3339 specify date ranges between a fixed number of units and the current date.
3340 How this works can be seen in the following example:
3342 ~d >2w # messages older than two weeks
3343 ~d <3d # messages newer than 3 days
3344 ~d =1m # messages that are exactly one month old
3350 The so called Format Strings offer great flexibility when configuring
3351 mutt-ng. In short, they describe what items to print out how in menus and
3354 Basically, they work as this: for different menus and bars, there's a
3355 variable specifying the layout. For every item available, there is a so
3358 For example, when running mutt-ng on different machines or different
3359 versions for testing purposes, it may be interesting to have the following
3360 information always printed on screen when one is in the index:
3362 o the current hostname
3364 o the current mutt-ng version number
3366 The setting for the status bar of the index is controlled via the
3367 $status_format variable. For the hostname and version string, there's an
3368 expando for $status_format: %h expands to the hostname and %v to the
3369 version string. When just configuring:
3371 set status_format = "%v on %h: ..."
3373 mutt-ng will replace the sequence %v with the version string and %h with
3374 the host's name. When you are, for example, running mutt-ng version 1.5.9i
3375 on host mailhost, you'll see the following when you're in the index:
3377 Mutt-ng 1.5.9i on mailhost: ...
3379 In the index, there're more useful information one could want to see:
3381 o which mailbox is open
3383 o how man new, flagged or postponed messages
3387 To include the mailbox' name is as easy as:
3389 set status_format = "%v on %h: %B: ...
3391 When the currently opened mailbox is Inbox, this will be expanded to:
3393 Mutt-ng 1.5.9i on mailhost: Inbox: ...
3395 For the number of certain types of messages, one more feature of the
3396 format strings is extremely useful. If there aren't messages of a certain
3397 type, it may not be desired to print just that there aren't any but
3398 instead only print something if there are any.
3400 3.2. Conditional Expansion
3402 To only print the number of messages if there are new messages in the
3403 current mailbox, further extend $status_format to:
3405 set status_format = "%v on %h: %B %?n?%n new? ...
3407 This feature is called nonzero-printing and works as this: some expandos
3408 may be optionally printed nonzero, i.e. a portion of the format string is
3409 only evaluated if the value of the expando is different from zero. The
3412 %?<item>?<string if nonzero>?
3414 which tells mutt-ng to only look at <string if nonzero> if the value of
3415 the %<item%gt; expando is different from zero. In our example, we used n
3416 as the expando to check for and %n new as the optional nonzero string.
3418 But this is not all: this feature only offers one alternative: ``print
3419 something if not zero.'' Mutt-ng does, as you might guess, also provide a
3420 logically complete version: ``if zero, print something and else print
3421 something else.'' This is achieved by the following syntax for those
3422 expandos which may be printed nonzero:
3424 %?<item>?<string if nonzero>&<string if zero>?
3426 Using this we can make mutt-ng to do the following:
3428 o make it print ``n new messages'' whereby n is the count but only if
3431 o and make it print ``no new messages'' if there aren't any
3433 The corresponding configuration is:
3435 set status_format = "%v on %h: %B: %?n?%n new messages&no new messages? ...
3437 This doubles the use of the ``new messages'' string because it'll get
3438 always printed. Thus, it can be shortened to:
3440 set status_format = "%v on %h: %B: %?n?%n&no? new messages ...
3442 As you might see from this rather simple example, one can create very
3443 complex but fancy status messages. Please see the reference chapter for
3444 expandos and those which may be printed nonzero.
3446 3.3. Modifications and Padding
3448 Besides the information given so far, there're even more features of
3451 o When specifying %_<item> instead of just %<item>, mutt-ng will convert
3452 all characters in the expansion of <item> to lowercase.
3454 o When specifying %:<item> instead of just %<item>, mutt-ng will convert
3455 all dots in the expansion of <item> to underscores (_).
3457 Also, there's a feature called Padding supplied by the following two
3458 expandos: %|X and %>X .
3462 When this occurs, mutt-ng will fill the rest of the line with the
3463 character X. In our example, filling the rest of the line with
3464 dashes is done by setting:
3466 set status_format = "%v on %h: %B: %?n?%n&no? new messages %|-"
3470 Since the previous expando stops at the end of line, there must be
3471 a way to fill the gap between two items via the %>X expando: it
3472 puts as many characters X in between two items so that the rest of
3473 the line will be right-justified. For example, to not put the
3474 version string and hostname of our example on the left but on the
3475 right and fill the gap with spaces, one might use (note the space
3478 set status_format = "%B: %?n?%n&no? new messages %> (%v on %h)"
3482 Sometimes it is desirable to perform an operation on a group of messages
3483 all at once rather than one at a time. An example might be to save
3484 messages to a mailing list to a separate folder, or to delete all messages
3485 with a given subject. To tag all messages matching a pattern, use the
3486 tag-pattern function, which is bound to ``shift-T'' by default. Or you can
3487 select individual messages by hand using the ``tag-message'' function,
3488 which is bound to ``t'' by default. See patterns for Mutt-ng's pattern
3491 Once you have tagged the desired messages, you can use the ``tag-prefix''
3492 operator, which is the ``;'' (semicolon) key by default. When the
3493 ``tag-prefix'' operator is used, the next operation will be applied to all
3494 tagged messages if that operation can be used in that manner. If the
3495 $auto_tag variable is set, the next operation applies to the tagged
3496 messages automatically, without requiring the ``tag-prefix''.
3498 In macro or push commands, you can use the ``tag-prefix-cond'' operator.
3499 If there are no tagged messages, mutt will "eat" the rest of the macro to
3500 abort it's execution.Mutt-ng will stop "eating" the macro when it
3501 encounters the ``end-cond'' operator; after this operator the rest of the
3502 macro will be executed asnormal.
3506 A hook is a concept borrowed from the EMACS editor which allows you to
3507 execute arbitrary commands before performing some operation. For example,
3508 you may wish to tailor your configuration based upon which mailbox you are
3509 reading, or to whom you are sending mail. In the Mutt-ng world, a hook
3510 consists of a regexp or patterns along with a configuration
3527 for specific details on each type of hook available.
3529 Note: if a hook changes configuration settings, these changes remain
3530 effective until the end of the current mutt session. As this is generally
3531 not desired, a default hook needs to be added before all other hooks to
3532 restore configuration defaults. Here is an example with send-hook and the
3535 send-hook . 'unmy_hdr From:'
3536 send-hook ~C'^b@b\.b$' my-hdr from: c@c.c
3538 5.1. Message Matching in Hooks
3540 Hooks that act upon messages (send-hook, save-hook, fcc-hook,message-hook
3541 )are evaluated in a slightly different manner. For the other types of
3542 hooks, a regexp is sufficient. But in dealing with messages a finer grain
3543 of control is needed for matching since for different purposes you want to
3544 match different criteria.
3546 Mutt-ng allows the use of the patterns language for matching messages in
3547 hook commands. This works in exactly the same way as it would when
3548 limiting orsearching the mailbox, except that you are restricted to those
3549 operators which match information mutt extracts from the header of the
3550 message (i.e. from, to, cc, date, subject, etc.).
3552 For example, if you wanted to set your return address based upon sending
3553 mail to a specific address, you could do something like:
3555 send-hook '~t ^me@cs\.hmc\.edu$' 'my-hdr From: Mutt-ng User <user@host>'
3557 which would execute the given command when sending mail to me@cs.hmc.edu.
3559 However, it is not required that you write the pattern to match using the
3560 full searching language. You can still specify a simple regular expression
3561 like the other hooks, in which case Mutt-ng will translate your pattern
3562 into the full language, using the translation specified by the
3563 default-hook variable. The pattern is translated at the time the hook is
3564 declared, so the value of default-hook that is in effect at that time will
3567 6. Using the sidebar
3569 The sidebar, a feature specific to Mutt-ng, allows you to use a mailbox
3570 listing which looks very similar to the ones you probably know from GUI
3571 mail clients. The sidebar lists all specified mailboxes, shows the number
3572 in each and highlights the ones with new email Use the following
3573 configuration commands:
3575 set sidebar_visible="yes"
3576 set sidebar_width=25
3578 If you want to specify the mailboxes you can do so with:
3586 You can also specify the colors for mailboxes with new mails by using:
3588 color sidebar_new red black
3589 color sidebar white black
3591 Reasonable key bindings look e.g. like this:
3593 bind index \Cp sidebar-prev
3594 bind index \Cn sidebar-next
3595 bind index \Cb sidebar-open
3596 bind pager \Cp sidebar-prev
3597 bind pager \Cn sidebar-next
3598 bind pager \Cb sidebar-open
3600 macro index B ':toggle sidebar_visible^M'
3601 macro pager B ':toggle sidebar_visible^M'
3603 You can then go up and down by pressing Ctrl-P and Ctrl-N, and switch on
3604 and off the sidebar simply by pressing 'B'.
3606 7. External Address Queries
3608 Mutt-ng supports connecting to external directory databases such as LDAP,
3609 ph/qi, bbdb, or NIS through a wrapper script which connects to mutt using
3610 a simple interface. Using the $query_command variable, you specify the
3611 wrapper command to use. For example:
3613 set query_command = "mutt_ldap_query.pl '%s'"
3615 The wrapper script should accept the query on the command-line. It should
3616 return a one line message, then each matching response on a single line,
3617 each line containing a tab separated address then name thensome other
3618 optional information. On error, or if there are no matching addresses,
3619 return a non-zero exit code and a one line error message.
3621 An example multiple response output:
3623 Searching database ... 20 entries ... 3 matching:
3624 me@cs.hmc.edu Michael Elkins mutt dude
3625 blong@fiction.net Brandon Long mutt and more
3626 roessler@guug.de Thomas Roessler mutt pgp
3628 There are two mechanisms for accessing the query function of mutt. One is
3629 to do a query from the index menu using the query function (default: Q).
3630 This will prompt for a query, then bring up the query menu which will list
3631 the matching responses. From the query menu, you can select addresses to
3632 create aliases, or to mail. You can tag multiple addressesto mail, start a
3633 new query, or have a new query appended to the current responses.
3635 The other mechanism for accessing the query function is for address
3636 completion, similar to the alias completion. In any prompt for address
3637 entry, you can use the complete-query function (default: ^T) to run a
3638 query based on the current address you have typed. Like aliases, mutt will
3639 look for what you have typed back to the last space or comma. If there is
3640 a single response for that query, mutt will expand the address in place.
3641 If there are multiple responses, mutt will activate the querymenu. At the
3642 query menu, you can select one or more addresses to be added to the
3647 Mutt-ng supports reading and writing of four different mailbox formats:
3648 mbox, MMDF, MH and Maildir. The mailbox type is autodetected, so there is
3649 no need to use a flag for different mailbox types. When creating
3650 newmailboxes, Mutt-ng uses the default specified with the $mbox_type
3653 mbox. This is the most widely used mailbox format for UNIX. All messages
3654 are stored in a single file. Each message has a line of the form:
3656 From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST
3658 to denote the start of a new message (this is often referred to as the
3661 MMDF. This is a variant of the mbox format. Each message is surrounded by
3662 lines containing ``^A^A^A^A'' (four control-A's).
3664 MH. A radical departure from mbox and MMDF, a mailbox consists of a
3665 directory and each message is stored in a separate file. The filename
3666 indicates the message number (however, this is may not correspond to the
3667 message number Mutt-ng displays). Deleted messages arerenamed with a comma
3668 (,) prepended to the filename. Note: Mutt detects this type of mailbox by
3669 looking for either .mh_sequences or .xmhcache (needed to distinguish
3670 normal directories from MH mailboxes).
3672 Maildir. The newest of the mailbox formats, used by the Qmail MTA (a
3673 replacement for sendmail). Similar to MH, except that it adds three
3674 subdirectories of the mailbox: tmp, new and cur .Filenames for the
3675 messages are chosen in such a way they are unique, even when twoprograms
3676 are writing the mailbox over NFS, which means that no file locking is
3679 9. Mailbox Shortcuts
3681 There are a number of built in shortcuts which refer to specific
3682 mailboxes. These shortcuts can be used anywhere you are prompted for a
3683 file or mailbox path.
3685 o ! -- refers to your $spoolfile (incoming) mailbox
3687 o > -- refers to your $mbox file
3689 o < -- refers to your $record file
3691 o ^ -- refers to the current mailbox
3693 o - or !! -- refers to the file you've last visited
3695 o ~ -- refers to your home directory
3697 o = or + -- refers to your $folder directory
3699 o @alias -- refers to the save-hook as determined by the address of the
3702 10. Handling Mailing Lists
3704 Mutt-ng has a few configuration options that make dealing with large
3705 amounts of mail easier. The first thing you must do is to let Mutt know
3706 what addresses you consider to be mailing lists (technically this does not
3707 have to be a mailing list, but that is what it is most often used for),
3708 and what lists you are subscribed to. This is accomplished through the use
3709 of the lists commands in your muttrc.
3711 Now that Mutt-ng knows what your mailing lists are, it can do several
3712 things, the first of which is the ability to show the name of a list
3713 through which you received a message (i.e., of a subscribed list) in the
3714 index menu display. This is useful to distinguish between personal and
3715 list mail in the same mailbox. In the $index_format variable, the escape
3716 ``%L'' will return the string ``To <list>'' when ``list'' appears in the
3717 ``To'' field, and ``Cc <list>'' when it appears in the ``Cc'' field
3718 (otherwise it returns the name of the author).
3720 Often times the ``To'' and ``Cc'' fields in mailing list messages tend to
3721 get quite large. Most people do not bother to remove the author of the
3722 message they are reply to from the list, resulting in two or more copies
3723 being sent to that person. The ``list-reply'' function, which by default
3724 is bound to ``L'' in the index menu and pager, helps reduce the clutter by
3725 only replying to the known mailing list addresses instead of all
3726 recipients (except as specified by Mail-Followup-To, see below).
3728 Mutt-ng also supports the Mail-Followup-To header. When you send a message
3729 to a list of recipients which includes one or several subscribed mailing
3730 lists, and if the $followup_to option is set, mutt will generate a
3731 Mail-Followup-To header which contains all the recipients to whom you send
3732 this message, but not your address. This indicates that group-replies or
3733 list-replies (also known as ``followups'') to this message should only be
3734 sent to the original recipients of the message, and not separately to you
3735 - you'll receive your copy through one of the mailing lists you are
3738 Conversely, when group-replying or list-replying to a message which has a
3739 Mail-Followup-To header, mutt will respect this header if the
3740 $honor_followup_to configuration variable is set. Using list-reply will in
3741 this case also make sure that the reply goes to the mailing list, even if
3742 it's not specified in the list of recipients in the Mail-Followup-To.
3744 Note that, when header editing is enabled, you can create a
3745 Mail-Followup-To header manually. Mutt-ng will only auto-generate this
3746 header if it doesn't exist when you send the message.
3748 The other method some mailing list admins use is to generate a
3749 ``Reply-To'' field which points back to the mailing list address rather
3750 than the author of the message. This can create problems when trying to
3751 reply directly to the author in private, since most mail clients will
3752 automatically reply to the address given in the ``Reply-To'' field.
3753 Mutt-ng uses the $reply_to variable to help decide which address to use.
3754 If set to ask-yes or ask-no, you will be prompted as to whether or not you
3755 would like to use the address given inthe ``Reply-To'' field, or reply
3756 directly to the address given in the ``From'' field. When set to yes, the
3757 ``Reply-To'' field will be used when present.
3759 The ``X-Label:'' header field can be used to further identify mailing
3760 lists or list subject matter (or just to annotate messages individually).
3761 The $index_format variable's ``%y'' and ``%Y'' escapes can be used to
3762 expand ``X-Label:'' fields in the index, and Mutt-ng's pattern-matcher can
3763 match regular expressions to ``X-Label:'' fields with the ``~y'' selector.
3764 ``X-Label:'' is not a standard message header field, but it can easily be
3765 inserted by procmailand other mail filtering agents.
3767 Lastly, Mutt-ng has the ability to sort the mailbox into threads. A thread
3768 is a group of messages which all relate to the same subject. This is
3769 usually organized into a tree-like structure where a message and all of
3770 its replies are represented graphically. If you've ever used a threaded
3771 news client, this is the same concept. It makes dealingwith large volume
3772 mailing lists easier because you can easily delete uninteresting threads
3773 and quickly find topics of value.
3777 Mutt-ng has the ability to dynamically restructure threads that are broken
3778 either by misconfigured software or bad behavior from some correspondents.
3779 This allows to clean your mailboxes formats) from these annoyances which
3780 make it hard to follow a discussion.
3782 11.1. Linking threads
3784 Some mailers tend to "forget" to correctly set the "In-Reply-To:" and
3785 "References:" headers when replying to a message. This results in broken
3786 discussions because Mutt-ng has not enough information to guess the
3787 correct threading. You can fix this by tagging the reply, then moving to
3788 the parent message and using the ``link-threads'' function (bound to & by
3789 default). The reply will then be connected to this "parent" message.
3791 You can also connect multiple children at once, tagging them and using the
3792 tag-prefix command (';') or the auto_tag option.
3794 11.2. Breaking threads
3796 On mailing lists, some people are in the bad habit of starting a new
3797 discussion by hitting "reply" to any message from the list and changing
3798 the subject to a totally unrelated one. You can fix such threads by using
3799 the ``break-thread'' function (boundby default to #), which will turn the
3800 subthread starting from the current message into a whole different thread.
3802 12. Delivery Status Notification (DSN) Support
3804 RfC 1894 defines a set of MIME content types for relaying information
3805 about the status of electronic mail messages. These can be thought of as
3806 ``return receipts.''
3808 Users can make use of it in one of the following two ways:
3810 o Berkeley sendmail 8.8.x currently has some command line options in
3811 which the mail client can make requests as to what type of status
3812 messages should be returned.
3814 o The SMTP support via libESMTP supports it, too.
3816 To support this, there are two variables:
3818 o $dsn_notify is used to request receipts for different results (such as
3819 failed message,message delivered, etc.).
3821 o $dsn_return requests how much of your message should be returned with
3822 the receipt (headers or full message).
3824 Please see the reference chapter for possible values.
3826 13. POP3 Support (OPTIONAL)
3828 If Mutt-ng was compiled with POP3 support (by running the configure script
3829 with the --enable-pop flag), it has the ability to work with mailboxes
3830 located on a remote POP3 server and fetch mail for local browsing.
3832 You can access the remote POP3 mailbox by selecting the folder
3835 You can select an alternative port by specifying it with the server, i.e.:
3836 pop://popserver:port/.
3838 You can also specify different username for each folder, i.e.:
3839 pop://username@popserver[:port]/.
3841 Polling for new mail is more expensive over POP3 than locally. For this
3842 reason the frequency at which Mutt-ng will check for mail remotely can be
3843 controlled by the $pop_mail_check variable, which defaults to every 60
3846 If Mutt-ng was compiled with SSL support (by running the configure script
3847 with the --with-ssl flag), connections to POP3 servers can be encrypted.
3848 This naturally requires that the server supports SSL encrypted
3849 connections. To access a folder with POP3/SSL, you should use pops:
3850 prefix, ie: pops://[username@]popserver[:port]/.
3852 Another way to access your POP3 mail is the fetch-mail function (default:
3853 G). It allows to connect to pop-host ,fetch all your new mail and place it
3854 in the local $spoolfile. After this point, Mutt-ng runs exactly as if the
3855 mail had always been local.
3857 Note: If you only need to fetch all messages to local mailbox you should
3858 consider using a specialized program, such as fetchmail(1).
3860 14. IMAP Support (OPTIONAL)
3862 If Mutt-ng was compiled with IMAP support (by running the configure script
3863 with the --enable-imap flag), it has the ability to work with folders
3864 located on a remote IMAP server.
3866 You can access the remote inbox by selecting the folder via its URL:
3868 imap://imapserver/INBOX
3870 where imapserver is the name of the IMAP server and INBOX is the special
3871 name for your spool mailbox on the IMAP server. If you want to access
3872 another mail folder at the IMAP server, you should use
3874 imap://imapserver/path/to/folder
3876 where path/to/folder is the path of the folder you want to access. You can
3877 select an alternative port by specifying it with the server, i.e.:
3879 imap://imapserver:port/INBOX
3881 You can also specify different username for each folder by prenpending
3882 your username and an @ symbol to the server's name.
3884 If Mutt-ng was compiled with SSL support (by running the configure script
3885 with the --with-ssl flag), connections to IMAP servers can be encrypted.
3886 This naturally requires that the server supports SSL encrypted
3887 connections. To access a folder with IMAP/SSL, you only need to substitute
3888 the initial imap:// by imaps:// in the above examples.
3890 Note that not all servers use / as the hierarchy separator. Mutt-ng should
3891 correctly notice which separator is being used by the server and
3892 convertpaths accordingly.
3894 When browsing folders on an IMAP server, you can toggle whether to look at
3895 only the folders you are subscribed to, or all folders with the
3896 toggle-subscribed command. See also the $imap_list_subscribed variable.
3898 Polling for new mail on an IMAP server can cause noticeable delays. So,
3899 you'll want to carefully tune the $imap_mail_check and $timeout variables.
3901 Note that if you are using mbox as the mail store on UW servers prior
3902 tov12.250, the server has been reported to disconnect a client if another
3903 client selects the same folder.
3905 14.1. The Folder Browser
3907 As of version 1.2, mutt supports browsing mailboxes on an IMAP server.
3908 This is mostly the same as the local file browser, with the following
3911 o Instead of file permissions, mutt displays the string "IMAP", possibly
3912 followed by the symbol "+", indicating that the entry contains both
3913 messages and subfolders. On Cyrus-like servers folders will often
3914 contain both messages and subfolders.
3916 o For the case where an entry can contain both messages and subfolders,
3917 the selection key (bound to enter by default) will choose to descend
3918 into the subfolder view. If you wish to view the messages in that
3919 folder, you must use view-file instead (bound to space by default).
3921 o You can create, delete and rename mailboxes with the create-mailbox,
3922 delete-mailbox, and rename-mailbox commands (default bindings: C , d
3923 and r, respectively). You may also subscribe and unsubscribe to
3924 mailboxes (normally these are bound to s and u, respectively).
3926 14.2. Authentication
3928 Mutt-ng supports four authentication methods with IMAP servers: SASL,
3929 GSSAPI, CRAM-MD5, and LOGIN (there is a patch by Grant Edwards to add NTLM
3930 authentication for you poor exchange users out there, but it has yet to be
3931 integrated into the main tree). There is also support for the
3932 pseudo-protocol ANONYMOUS, which allows you to log in to a public IMAP
3933 server without having an account. To use ANONYMOUS, simply make your
3934 username blank or "anonymous".
3936 SASL is a special super-authenticator, which selects among several
3937 protocols (including GSSAPI, CRAM-MD5, ANONYMOUS, and DIGEST-MD5) the most
3938 secure method available on your host and the server. Using some of these
3939 methods (including DIGEST-MD5 and possibly GSSAPI), your entire session
3940 will be encrypted and invisible to those teeming network snoops. It is the
3941 best option if you have it. To use it, you must have the Cyrus SASL
3942 libraryinstalled on your system and compile mutt with the --with-sasl
3945 Mutt-ng will try whichever methods are compiled in and available on the
3946 server, in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5, LOGIN.
3948 There are a few variables which control authentication:
3950 o $imap_user - controls the username under which you request
3951 authentication on the IMAP server, for all authenticators. This is
3952 overridden by an explicit username in the mailbox path (i.e. by using
3953 a mailbox name of the form {user@host}).
3955 o $imap_pass - a password which you may preset, used by all
3956 authentication methods where a password is needed.
3958 o $imap_authenticators - a colon-delimited list of IMAP authentication
3959 methods to try, in the order you wish to try them. If specified, this
3960 overrides mutt's default (attempt everything, in the order listed
3963 15. NNTP Support (OPTIONAL)
3965 If compiled with ``--enable-nntp'' option, Mutt-ng can read news from a
3966 newsserver via NNTP. You can open a newsgroup with the
3967 ``change-newsgroup'' function from the index/pager which is by default
3970 The Default newsserver can be obtained from the $NNTPSERVER environment
3971 variable. Like other news readers, info about subscribed newsgroups is
3972 saved in a file as specified by the $nntp_newsrc variable. Article headers
3973 are cached and can be loaded from a file when a newsgroup is entered
3974 instead loading from newsserver; currently, this caching mechanism still
3975 is different from the header caching for maildir/IMAP.
3977 15.1. Again: Scoring
3979 Especially for Usenet, people often ask for advanced filtering and scoring
3980 functionality. Of course, mutt-ng has scoring and allows a killfile, too.
3981 How to use a killfile has been discussed in Message Scoring.
3983 What has not been discusses in detail is mutt-ng's built-in realname
3984 filter. For may newsreaders including those for ``advanced users'' like
3985 slrn or tin, there are frequent request for such functionality. The
3986 solutions offered often are complicated regular expressions.
3988 In mutt-ng this is as easy as
3992 This tells mutt-ng to apply a score of 42 to all messages whose sender
3993 specified a valid realname and a valid email address. Using
3997 on the contrary applies a score of 42 to all messages not matching those
3998 criteria which are very strict:
4000 o Email addresses must be valid according to RfC 2822
4002 o the name must consist of at least 2 fields whereby a field must not
4003 end in a dot. This means that ``Joe User'' and ``Joe A.User'' are
4004 valid while ``J. User'' and ``J. A. User'' aren't.
4006 o it's assumed that users are interested in reading their own mail and
4007 mail from people who they have defined an alias forso that those 2
4008 groups of messages are excluded from the strict rules.
4010 16. SMTP Support (OPTIONAL)
4012 Mutt-ng can be built using a library called ``libESMTP'' which provides
4013 SMTP functionality. When configure was called with --with-libesmtp or the
4014 output muttng -v contains +USE_LIBESMTP, this will be or is the case
4015 already. The SMTP support includes support for Delivery Status
4016 Notification (see dsn section) as well as handling the 8BITMIME flag
4017 controlled via $use_8bitmime.
4019 To enable sending mail directly via SMTP without an MTA such as Postfix or
4020 SSMTP and the like, simply set the $smtp_host variable pointing to your
4023 Authentication mechanisms are available via the $smtp_user and $smtp_pass
4026 Transport Encryption via the StartTLS command is also available. For this
4027 to work, first of all Mutt-ng must be built with SSL or GNUTLS. Secondly,
4028 the $smtp_use_tls variable must be either set to ``enabled'' or
4029 ``required.'' In both cases, StartTLS will be used if the server supports
4030 it: for the second case, the connection will fail ifit doesn't while
4031 switching back to unencrypted communication for the first one.
4033 Some mail providers require user's to set a particular envelope sender,
4034 i.e. they allow for only one value which may not be what the user wants to
4035 send as the From: header. In this case, the variable $smtp_envelope may be
4036 used to set the envelope different from the From: header.
4038 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
4040 If you happen to have accounts on multiple IMAP and/or POP servers, you
4041 may find managing all the authentication settings inconvenient and
4042 error-prone. The account-hook command may help. This hook works like
4043 folder-hook but is invoked whenever you access a remote mailbox (including
4044 inside the folder browser), not just when you open the mailbox.
4048 account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
4049 account-hook imap://host1/ 'set imap_user=me1 imap_pass=foo'
4050 account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'
4052 18. Start a WWW Browser on URLs (EXTERNAL)
4054 If a message contains URLs (unified resource locator = address in the WWW
4055 space like http://www.mutt.org/), it is efficient to get a menu with all
4056 the URLs and start a WWW browser on one of them. This functionality is
4057 provided by the external urlview program which can be retrieved at
4058 <ftp://ftp.mutt.org/mutt/contrib/> and the configuration commands:
4060 macro index \cb |urlview\n
4061 macro pager \cb |urlview\n
4063 19. Compressed folders Support (OPTIONAL)
4065 If Mutt-ng was compiled with compressed folders support (by running the
4066 configure script with the --enable-compressed flag), Mutt can open folders
4067 stored in an arbitrary format, provided that the user has a script to
4068 convert from/to this format to one of the accepted.
4070 The most common use is to open compressed archived folders e.g. with gzip.
4072 In addition, the user can provide a script that gets a folder in an
4073 accepted format and appends its context to the folder in the user-defined
4074 format, which may be faster than converting the entire folder to the
4075 accepted format, appending to it and converting back to the user-defined
4078 There are three hooks defined (open-hook, close-hook and append-hook
4079 )which define commands to uncompress and compress a folder and to append
4080 messages to an existing compressed folder respectively.
4084 open-hook \\.gz$ "gzip -cd %f > %t"
4085 close-hook \\.gz$ "gzip -c %t > %f"
4086 append-hook \\.gz$ "gzip -c %t >> %f"
4088 You do not have to specify all of the commands. If you omit append-hook
4089 ,the folder will be open and closed again each time you will add to it. If
4090 you omit close-hook (or give empty command) , the folder will be open in
4091 the mode. If you specify append-hook though you'll be able to append to
4094 Note that Mutt-ng will only try to use hooks if the file is not in one of
4095 the accepted formats. In particular, if the file is empty, mutt supposes
4096 it is not compressed. This is important because it allows the use of
4097 programs that do not have well defined extensions. Just use "." as a
4098 regexp. But this may be surprising if your compressing script produces
4099 empty files. In this situation, unset $save_empty ,so that the compressed
4100 file will be removed if you delete all of the messages.
4102 19.1. Open a compressed mailbox for reading
4104 Usage: open-hookregexp "command"
4106 The command is the command that can be used for opening the folders whose
4109 The command string is the printf-like format string, and it should accept
4110 two parameters: %f, which is replaced with the (compressed) folder name,
4111 and %t which is replaced with the name of the temporary folder to which to
4114 %f and %t can be repeated any number of times in the command string, and
4115 all of the entries are replaced with the appropriate folder name. In
4116 addition, %% is replaced by %, as in printf, and any other %anything is
4119 The command should not remove the original compressed file. The command
4120 should return non-zero exit status if it fails, so mutt knows something's
4125 open-hook \\.gz$ "gzip -cd %f > %t"
4127 If the command is empty, this operation is disabled for this file type.
4129 19.2. Write a compressed mailbox
4131 Usage: close-hookregexp"command"
4133 This is used to close the folder that was open with the open-hook command
4134 after some changes were made to it.
4136 The command string is the command that can be used for closing the folders
4137 whose names match regexp. It has the same format as in the open-hook
4138 command. Temporary folder in this case is the folder previously produced
4139 by the open-hook command.
4141 The command should not remove the decompressed file. The command should
4142 return non-zero exit status if it fails, so mutt knows something's wrong.
4146 close-hook \\.gz$ "gzip -c %t > %f"
4148 If the command is empty, this operation is disabled for this file type,
4149 and the file can only be open in the readonly mode.
4151 close-hook is not called when you exit from the folder if the folder was
4154 19.3. Append a message to a compressed mailbox
4156 Usage: append-hookregexp"command"
4158 This command is used for saving to an existing compressed folder. The
4159 command is the command that can be used for appending to the folders whose
4160 names match regexp. It has the same format as in the open-hook command.
4161 The temporary folder in this case contains the messages that are
4164 The command should not remove the decompressed file. The command should
4165 return non-zero exit status if it fails, so mutt knows something's wrong.
4169 append-hook \\.gz$ "gzip -c %t >> %f"
4171 When append-hook is used, the folder is not opened, which saves time, but
4172 this means that we can not find out what the folder type is. Thus the
4173 default ($mbox_type )type is always supposed (i.e. this is the format used
4174 for the temporary folder).
4176 If the file does not exist when you save to it, close-hook is called, and
4177 not append-hook. append-hook is only for appending to existing folders.
4179 If the command is empty, this operation is disabled for this file type. In
4180 this case, the folder will be open and closed again (using open-hook and
4181 close-hook respectively) each time you will add to it.
4183 19.4. Encrypted folders
4185 The compressed folders support can also be used to handle encrypted
4186 folders. If you want to encrypt a folder with PGP, you may want to usethe
4189 open-hook \\.pgp$ "pgp -f < %f > %t"
4190 close-hook \\.pgp$ "pgp -fe YourPgpUserIdOrKeyId < %t > %f"
4192 Please note, that PGP does not support appending to an encrypted folder,
4193 so there is no append-hook defined.
4195 Note: the folder is temporary stored decrypted in the /tmp directory,
4196 where it can be read by your system administrator. So thinkabout the
4197 security aspects of this.
4199 Chapter 5. Mutt-ng's MIME Support
4203 1. Using MIME in Mutt
4205 1.1. Viewing MIME messages in the pager
4207 1.2. The Attachment Menu
4209 1.3. The Compose Menu
4211 2. MIME Type configuration with mime.types
4213 3. MIME Viewer configuration with mailcap
4215 3.1. The Basics of the mailcap file
4217 3.2. Secure use of mailcap
4219 3.3. Advanced mailcap Usage
4221 3.4. Example mailcap files
4225 5. MIME Multipart/Alternative
4229 Quite a bit of effort has been made to make Mutt-ng the premier text-mode
4230 MIME MUA. Every effort has been made to provide the functionality that the
4231 discerning MIME user requires, and the conformance to the standards
4232 wherever possible. When configuring Mutt-ng for MIME, there are two
4233 extratypes of configuration files which Mutt-ng uses. One is the
4234 mime.types file, which contains the mapping of file extensions to IANA
4235 MIME types. The other is the mailcap file, which specifies the external
4236 commands to use for handling specific MIME types.
4238 1. Using MIME in Mutt
4240 There are three areas/menus in Mutt-ng which deal with MIME, they are the
4241 pager (while viewing a message), the attachment menu and the compose menu.
4243 1.1. Viewing MIME messages in the pager
4245 When you select a message from the index and view it in the pager, Mutt
4246 decodes the message to a text representation. Mutt-ng internally supports
4247 a number of MIME types, including text/plain, text/enriched,
4248 message/rfc822, and message/news .In addition, the export controlled
4249 version of Mutt-ng recognizes a variety of PGP MIME types, including
4250 PGP/MIME and application/pgp.
4252 Mutt-ng will denote attachments with a couple lines describing them. These
4253 lines are of the form:
4255 [-- Attachment #1: Description --]
4256 [-- Type: text/plain, Encoding: 7bit, Size: 10000 --]
4258 Where the Description is the description or filename given for the
4259 attachment, and the Encoding is one of
4260 7bit/8bit/quoted-printable/base64/binary.
4262 If Mutt-ng cannot deal with a MIME type, it will display a message like:
4264 [-- image/gif is unsupported (use 'v' to view this part) --]
4266 1.2. The Attachment Menu
4268 The default binding for view-attachments is `v', which displays the
4269 attachment menu for a message. The attachment menu displays a list ofthe
4270 attachments in a message. From the attachment menu, you can save, print,
4271 pipe, delete, and view attachments. You can apply these operations to a
4272 group of attachments at once, by tagging the attachments and by using the
4273 ``tag-prefix'' operator. You can also reply to the current message from
4274 this menu, and only the current attachment (or the attachments tagged)
4275 will be quoted in your reply. You can view attachments as text, or view
4276 them using the mailcap viewer definition.
4278 Finally, you can apply the usual message-related functions (like
4279 <resend-message>, and the reply and forward functions) to attachments of
4280 type message/rfc822.
4282 See the help on the attachment menu for more information.
4284 1.3. The Compose Menu
4286 The compose menu is the menu you see before you send a message. It allows
4287 you to edit the recipient list, the subject, and other aspects of your
4288 message. It also contains a list of the attachments of your message,
4289 including the main body. From this menu, you can print, copy, filter,
4290 pipe, edit, compose, review, and rename an attachment or a list of tagged
4291 attachments. You can also modifying the attachment information, notably
4292 the type, encoding and description.
4294 Attachments appear as follows:
4296 1 [text/plain, 7bit, 1K] /tmp/mutt-euler-8082-0 <no description>
4297 2 [applica/x-gunzip, base64, 422K] ~/src/mutt-0.85.tar.gz <no description>
4299 The '-' denotes that Mutt-ng will delete the file after sending (or
4300 postponing, or canceling) the message. It can be toggled with the
4301 toggle-unlink command (default: u). The next field is the MIME
4302 content-type, and can be changed with the edit-type command (default: ^T).
4303 The next field is the encoding for the attachment, which allows a binary
4304 message to be encoded for transmission on 7bit links. It can be changed
4305 with the edit-encoding command (default: ^E). The next field is the size
4306 of the attachment, rounded to kilobytes or megabytes. The next field is
4307 the filename, which can be changed with the rename-file command (default:
4308 R). The final field is the description of the attachment, and can be
4309 changed with the edit-description command (default: d).
4311 2. MIME Type configuration with mime.types
4313 When you add an attachment to your mail message, Mutt-ng searches your
4314 personal mime.types file within $HOME and then the system mime.types file
4315 at /usr/local/share/mutt/mime.types or /etc/mime.types
4317 The mime.types file consist of lines containing a MIME type and a space
4318 separated list of extensions. For example:
4320 application/postscript ps eps
4322 audio/x-aiff aif aifc aiff
4324 A sample mime.types file comes with the Mutt-ng distribution, and should
4325 contain most of the MIME types you are likely to use.
4327 If Mutt-ng can not determine the mime type by the extension of the file
4328 you attach, it will look at the file. If the file is free of binary
4329 information, Mutt-ng will assume that the file is plain text, and mark it
4330 as text/plain. If the file contains binary information, then Mutt-ng will
4331 mark it as application/octet-stream. You can change the MIME type that
4332 Mutt-ng assigns to an attachment by using the edit-type command from the
4333 compose menu (default: ^T). The MIME type is actually a major mime type
4334 followed by the sub-type, separated by a '/'. 6 major types: application,
4335 text, image, video, audio, and model have been approved after various
4336 internet discussions. Mutt-ng recognises all of these if the appropriate
4337 entry is found in the mime.types file. It also recognises other major mime
4338 types, such as the chemical type that is widely used in the molecular
4339 modelling community to pass molecular data in various forms to various
4340 molecular viewers. Non-recognised mime types should only be used if the
4341 recipient of the message is likely to be expecting such attachments.
4343 3. MIME Viewer configuration with mailcap
4345 Mutt-ng supports RfC 1524 MIME Configuration, in particular the Unix
4346 specific format specified in Appendix A of the RfC. This file format is
4347 commonly referred to as the mailcap format. Many MIME compliant programs
4348 utilize the mailcap format, allowing you to specify handling for all MIME
4349 types in one place for all programs. Programs known to use this format
4350 include Netscape, XMosaic, lynx and metamail.
4352 In order to handle various MIME types that Mutt-ng can not handle
4353 internally, Mutt-ng parses a series of external configuration files to
4354 find an external handler. The default search string for these files is a
4355 colon delimited list set to
4357 ${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap
4359 where $HOME is your home directory.
4361 In particular, the metamail distribution will install a mailcap file,
4362 usually as /usr/local/etc/mailcap, which contains some baseline entries.
4364 3.1. The Basics of the mailcap file
4366 A mailcap file consists of a series of lines which are comments, blank, or
4369 A comment line consists of a # character followed by anything you want.
4371 A blank line is blank.
4373 A definition line consists of a content type, a view command, and any
4374 number of optional fields. Each field of a definition line is dividedby a
4375 semicolon ';' character.
4377 The content type is specified in the MIME standard type/subtype method.
4378 For example, text/plain, text/html, image/gif, etc. In addition, the
4379 mailcap format includes two formats for wildcards, one using the special
4380 '*' subtype, the other is the implicit wild, where you only include the
4381 major type. For example, image/* ,or video, will match all image types and
4382 video types, respectively.
4384 The view command is a Unix command for viewing the type specified. There
4385 are two different types of commands supported. The default is to send the
4386 body of the MIME message to the command on stdin. You can change this
4387 behavior by using %s as a parameter to your view command. This will cause
4388 Mutt-ng to save the body of the MIME message to a temporary file, and then
4389 call the view command with the %s replaced by the name of the temporary
4390 file. In both cases, Mutt-ng will turn over the terminal to the view
4391 program until the program quits, at which time Mutt will remove the
4392 temporary file if it exists.
4394 So, in the simplest form, you can send a text/plain message to the
4395 external pager more on stdin:
4399 Or, you could send the message as a file:
4403 Perhaps you would like to use lynx to interactively view a text/html
4408 In this case, lynx does not support viewing a file from stdin, so you must
4409 use the %s syntax. Note:Some older versions of lynx contain a bug where
4410 they will check the mailcap file for a viewer for text/html. They will
4411 find the line which calls lynx, and run it. This causes lynx to
4412 continuously spawn itself to view the object.
4414 On the other hand, maybe you don't want to use lynx interactively, youjust
4415 want to have it convert the text/html to text/plain, then you can use:
4417 text/html; lynx -dump %s | more
4419 Perhaps you wish to use lynx to view text/html files, and a pager on all
4420 other text formats, then you would use the following:
4425 This is the simplest form of a mailcap file.
4427 3.2. Secure use of mailcap
4429 The interpretation of shell meta-characters embedded in MIME parameters
4430 can lead to security problems in general. Mutt-ng tries to quote
4431 parameters in expansion of %s syntaxes properly, and avoids risky
4432 characters by substituting them, see the $mailcap_sanitize variable.
4434 Although mutt's procedures to invoke programs with mailcap seem to be
4435 safe, there are other applications parsing mailcap, maybe taking less care
4436 of it. Therefore you should pay attention to the following rules:
4438 Keep the %-expandos away from shell quoting. Don't quote them with single
4439 or double quotes. Mutt-ng does this for you, the right way, as should any
4440 other program which interprets mailcap. Don't put them into backtick
4441 expansions. Be highly careful with eval statements, and avoid them if
4442 possible at all. Trying to fix broken behaviour with quotes introduces new
4443 leaks - there is no alternative to correct quoting in the first place.
4445 If you have to use the %-expandos' values in context where you need
4446 quoting or backtick expansions, put that value into a shell variable and
4447 reference the shell variable where necessary, as in the following example
4448 (using $charset inside the backtick expansion is safe, since it is not
4449 itself subject to any further expansion):
4451 text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
4452 && test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1
4454 3.3. Advanced mailcap Usage
4456 3.3.1. Optional Fields
4458 In addition to the required content-type and view command fields, you can
4459 add semi-colon ';' separated fields to set flags and other options.
4460 Mutt-ng recognizes the following optional fields:
4464 This flag tells Mutt-ng that the command passes possibly large
4465 amounts of text on stdout. This causes Mutt-ng to invoke a pager
4466 (either the internal pager or the external pager defined by the
4467 pager variable) on the output of the view command. Without this
4468 flag, Mutt-ng assumes that the command is interactive. One could
4469 use this to replace the pipe to more in the lynx -dump example in
4472 text/html; lynx -dump %s ; copiousoutput
4474 This will cause lynx to format the text/html output as text/plain
4475 and Mutt-ng will use your standard pager to display the results.
4479 Mutt-ng uses this flag when viewing attachments with auto_view, in
4480 order to decide whether it should honor the setting of the
4481 $wait_key variable or not. When an attachment is viewed using an
4482 interactive program, and the corresponding mailcap entry has a
4483 needsterminal flag, Mutt-ng will use $wait_key and the exit
4484 statusof the program to decide if it will ask you to press a key
4485 after the external program has exited. In all other situations it
4486 will not prompt you for a key.
4490 This flag specifies the command to use to create a new attachment
4491 of a specific MIME type. Mutt-ng supports this from the compose
4494 composetyped=<command>
4496 This flag specifies the command to use to create a new attachment
4497 of a specific MIME type. This command differs from the compose
4498 command in that mutt will expect standard MIME headers on the
4499 data. This can be used to specify parameters, filename,
4500 description, etc. for a new attachment. Mutt-ng supports this from
4505 This flag specifies the command to use to print a specific MIME
4506 type. Mutt-ng supports this from the attachment and compose menus.
4510 This flag specifies the command to use to edit a specific MIME
4511 type. Mutt-ng supports this from the compose menu, and also uses
4512 it to compose new attachments. Mutt-ng will default to the defined
4513 editor for text attachments.
4515 nametemplate=<template>
4517 This field specifies the format for the file denoted by %s in the
4518 command fields. Certain programs will require a certain file
4519 extension, for instance, to correctly view a file. For instance,
4520 lynx will only interpret a file as text/html if the file ends in
4521 .html. So, you would specify lynx as a text/html viewer with a
4522 line in the mailcap file like:
4524 text/html; lynx %s; nametemplate=%s.html
4528 This field specifies a command to run to test whether this mailcap
4529 entry should be used. The command is defined with the command
4530 expansion rules defined in the next section. If the command
4531 returns 0, then the test passed, and Mutt-ng uses this entry. If
4532 the command returns non-zero, then the test failed, and Mutt-ng
4533 continues searching for the right entry. Note:the content-type
4534 must match before Mutt-ng performs the test. For example:
4536 text/html; netscape -remote 'openURL(%s)' ; test=RunningX
4539 In this example, Mutt-ng will run the program RunningX which will
4540 return 0 if the X Window manager is running, and non-zero if it
4541 isn't. If RunningX returns 0, then Mutt-ng will call netscape to
4542 display the text/html object. If RunningX doesn't return 0, then
4543 Mutt-ng will go on to the next entry and use lynx to display the
4548 When searching for an entry in the mailcap file, Mutt-ng will search for
4549 the most useful entry for its purpose. For instance, if you are attempting
4550 to print an image/gif, and you have the following entries in your mailcap
4551 file, Mutt-ng will search for an entry with the print command:
4554 image/gif; ; print= anytopnm %s | pnmtops | lpr; \
4557 Mutt-ng will skip the image/* entry and use the image/gif entry with the
4560 In addition, you can use this with auto_view to denote two commands for
4561 viewing an attachment, one to be viewed automatically, the other to be
4562 viewed interactively from the attachment menu. In addition, you can then
4563 use the test feature to determine which viewer to use interactively
4564 depending on your environment.
4566 text/html; netscape -remote 'openURL(%s)' ; test=RunningX
4567 text/html; lynx %s; nametemplate=%s.html
4568 text/html; lynx -dump %s; nametemplate=%s.html; copiousoutput
4570 For auto_view, Mutt-ng will choose the third entry because of the
4571 copiousoutput tag. For interactive viewing, Mutt will run the program
4572 RunningX to determine if it should use the first entry. If the program
4573 returns non-zero, Mutt-ng will use the second entry for interactive
4576 3.3.3. Command Expansion
4578 The various commands defined in the mailcap files are passed to the
4579 /bin/sh shell using the system() function. Before the command is passed to
4580 /bin/sh -c, it is parsed to expand various special parameters with
4581 information from Mutt-ng. The keywords Mutt-ng expands are:
4585 As seen in the basic mailcap section, this variable is expanded to
4586 a filename specified by the calling program. This file contains
4587 the body of the message to view/print/edit or where the composing
4588 program should place the results of composition. In addition, the
4589 use of this keyword causes Mutt-ng to not pass the body of the
4590 message to the view/print/edit program on stdin.
4594 Mutt-ng will expand %t to the text representation of the content
4595 type of the message in the same form as the first parameter of the
4596 mailcap definition line, ie text/html or image/gif.
4600 Mutt-ng will expand this to the value of the specified parameter
4601 from the Content-Type: line of the mail message. For instance, if
4602 Your mail message contains:
4604 Content-Type: text/plain; charset=iso-8859-1
4606 then Mutt-ng will expand %{charset} to iso-8859-1. The default
4607 metamail mailcap file uses this feature to test the charset to
4608 spawn an xterm using the right charset to view the message.
4612 This will be replaced by a %
4614 Mutt-ng does not currently support the %F and %n keywords specified in RfC
4615 1524. The main purpose of these parameters is for multipart messages,
4616 which is handled internally by Mutt-ng.
4618 3.4. Example mailcap files
4620 This mailcap file is fairly simple and standard:
4623 # I'm always running X :)
4624 video/*; xanim %s > /dev/null
4625 image/*; xv %s > /dev/null
4627 # I'm always running netscape (if my computer had more memory, maybe)
4628 text/html; netscape -remote 'openURL(%s)'
4630 This mailcap file shows quite a number of examples:
4632 # Use xanim to view all videos Xanim produces a header on startup,
4633 # send that to /dev/null so I don't see it
4634 video/*; xanim %s > /dev/null
4636 # Send html to a running netscape by remote
4637 text/html; netscape -remote 'openURL(%s)'; test=RunningNetscape
4638 # If I'm not running netscape but I am running X, start netscape on the
4640 text/html; netscape %s; test=RunningX
4642 # Else use lynx to view it as text
4645 # This version would convert the text/html to text/plain
4646 text/html; lynx -dump %s; copiousoutput
4648 # I use enscript to print text in two columns to a page
4649 text/*; more %s; print=enscript -2Gr %s
4651 # Netscape adds a flag to tell itself to view jpegs internally
4652 image/jpeg;xv %s; x-mozilla-flags=internal
4654 # Use xv to view images if I'm running X
4655 # In addition, this uses the \ to extend the line and set my editor
4657 image/*;xv %s; test=RunningX; edit=xpaint %s
4659 # Convert images to text using the netpbm tools
4660 image/*; (anytopnm %s | pnmscale -xysize 80 46 | ppmtopgm | pgmtopbm |
4661 pbmtoascii -1x2 ) 2>&1 ; copiousoutput
4663 # Send excel spreadsheets to my NT box
4664 application/ms-excel; open.pl %s
4668 In addition to explicitly telling Mutt-ng to view an attachment with
4669 theMIME viewer defined in the mailcap file, Mutt-ng has support for
4670 automatically viewing MIME attachments while in the pager.
4672 To work, you must define a viewer in the mailcap file which uses the
4673 copiousoutput option to denote that it is non-interactive. Usually, you
4674 also use the entry to convert the attachment to a text representation
4675 which you can view in the pager.
4677 You then use the auto_view muttrc command to list the content-types that
4678 you wish to view automatically.
4680 For instance, if you set auto_view to:
4682 auto_view text/html application/x-gunzip application/postscript
4683 image/gif application/x-tar-gz
4685 Mutt-ng could use the following mailcap entries to automatically view
4686 attachments of these types.
4688 text/html; lynx -dump %s; copiousoutput; nametemplate=%s.html
4689 image/*; anytopnm %s | pnmscale -xsize 80 -ysize 50 | ppmtopgm | pgmtopbm | pbmtoascii ; copiousoutput
4690 application/x-gunzip; gzcat; copiousoutput
4691 application/x-tar-gz; gunzip -c %s | tar -tf - ; copiousoutput
4692 application/postscript; ps2ascii %s; copiousoutput
4694 ``unauto_view'' can be used to remove previous entries from the autoview
4695 list. This can be used with message-hook to autoview messages based on
4696 size, etc. ``unauto_view *'' will remove all previous entries.
4698 5. MIME Multipart/Alternative
4700 Mutt-ng has some heuristics for determining which attachment of a
4701 multipart/alternative type to display. First, mutt will check the
4702 alternative_order list to determine if one of the available typesis
4703 preferred. The alternative_order list consists of a number of MIME types
4704 in order, including support for implicit and explicit wildcards, for
4707 alternative_order text/enriched text/plain text
4708 application/postscript image/*
4710 Next, mutt will check if any of the types have a defined auto_view, and
4711 use that. Failing that, Mutt-ng will look for any text type. As a last
4712 attempt, mutt willlook for any type it knows how to handle.
4714 To remove a MIME type from the alternative_order list, use the
4715 unalternative_order command.
4719 Mutt-ng's mime_lookup list specifies a list of mime-types that should not
4720 be treated according to their mailcap entry. This option is designed
4721 todeal with binary types such as application/octet-stream. When an
4722 attachment's mime-type is listed in mime_lookup, then the extension of the
4723 filename will be compared to the list of extensions in the mime.types
4724 file. The mime-type associated with this extension will then be used to
4725 process the attachment according to the rules in the mailcap file and
4726 according to any other configuration options (such as auto_view)
4727 specified. Common usage would be:
4729 mime_lookup application/octet-stream application/X-Lotus-Manuscript
4731 In addition, the unmime_lookup command may be used to disable this feature
4732 for any particular mime-type if it had been set, for example, in a global
4735 Chapter 6. Security Considerations
4743 3. Information Leaks
4745 3.1. Message-ID: headers
4747 3.2. mailto:-style links
4749 4. External applications
4755 First of all, mutt-ng contains no security holes included by intention but
4756 may contain unknown security holes. As a consequence, please run mutt-ng
4757 only with as few permissions as possible.
4759 Please do not run mutt-ng as the super user.
4761 When configuring mutt-ng, there're some points to note about secure
4764 In practice, mutt-ng can be easily made as vulnerable as even the most
4765 insecure mail user agents (in their default configuration) just by
4766 changing mutt-ng's configuration files: it then can execute arbitrary
4767 programs and scripts attached to messages, send out private data on its
4768 own, etc. Although this is not believed to the common type of setup,
4769 please read this chapter carefully.
4773 Although mutt-ng can be told the various passwords for accounts, please
4774 never store passwords in configuration files. Besides the fact that the
4775 system's operator can always read them, you could forget to replace the
4776 actual password with asterisks when reporting a bug or asking for help
4777 via, for example, a mailing list so that your mail including your password
4778 could be archived by internet search engines, etc. Please never store
4783 Mutt-ng uses many temporary files for viewing messages, verifying digital
4784 signatures, etc. The $umask variable can be used to change the default
4785 permissions of these files. Please only change it if you really know what
4786 you are doing. Also, a different location for these files may be desired
4787 which can be changed via the $tmpdir variable.
4789 3. Information Leaks
4791 3.1. Message-ID: headers
4793 In the default configuration, mutt-ng will leak some information to the
4794 outside world when sending messages: the generation of Message-ID: headers
4795 includes a step counter which is increased (and rotated) with every
4796 message sent. If you'd like to hide this information probably telling
4797 others how many mail you sent in which time, you at least need to remove
4798 the %P expando from the default setting of the $msgid_format variable.
4799 Please make sure that you really know how local parts of these Message-ID:
4800 headers are composed.
4802 3.2. mailto:-style links
4804 As mutt-ng be can be set up to be the mail client to handle mailto: style
4805 links in websites, there're security considerations, too. To keep the old
4806 behavior by default, mutt-ng will be strict in interpreting them which
4807 means that arbitrary header fields can be embedded in these links which
4808 could override existing header fields or attach arbitrary files. This may
4809 be problematic if the $edit_headers variable is unset, i.e. the user
4810 doesn't want to see header fields while editing the message.
4812 For example, following a link like
4814 mailto:joe@host?Attach=~/.gnupg/secring.gpg
4816 will send out the user's private gnupg keyring to joe@host if the user
4817 doesn't follow the information on screen carefully enough.
4819 When unsetting the $strict_mailto variable, mutt-ng will
4821 o be less strict when interpreting these links by prepending a X-Mailto-
4822 string to all header fields embedded in such a link and
4824 o turn on the $edit_headers variable by force to let the user see all
4825 the headers (because they still may leak information.)
4827 4. External applications
4829 Mutt-ng in many places has to rely on external applications or for
4830 convenience supports mechanisms involving external applications.
4834 One of these is the mailcap mechanism as defined by RfC 1524. Mutt-ng can
4835 be set up to automatically execute any given utility as listed in one of
4836 the mailcap files (see the $mailcap_path variable for details.)
4838 These utilities may have a variety of security vulnerabilities, including
4839 overwriting of arbitrary files, information leaks or other exploitable
4840 bugs. These vulnerabilities may go unnoticed by the user, especially when
4841 they are called automatically (and without interactive prompting) from the
4842 mailcap file(s). When using mutt-ng's autoview mechanism in combination
4843 with mailcap files, please be sure to...
4845 o manually select trustworth applications with a reasonable calling
4848 o periodically check the contents of mailcap files, especially after
4849 software installations or upgrades
4851 o keep the software packages referenced in the mailcap file up to date
4853 o leave the $mailcap_sanitize variable in its default state to restrict
4854 mailcap expandos to a safe set of characters
4858 Besides the mailcap mechanism, mutt-ng uses a number of other external
4859 utilities for operation.
4861 The same security considerations apply for these as for tools involved via
4862 mailcap (for example, mutt-ng is vulnerable to Denial of Service Attacks
4863 with compressed folders support if the uncompressed mailbox is too large
4864 for the disk it is saved to.)
4866 As already noted, most of these problems are not built in but caused by
4867 wrong configuration, so please check your configuration.
4869 Chapter 7. Reference
4873 1. Command line options
4877 3. Configuration Commands
4879 4. Configuration variables
4907 1. Command line options
4909 Running mutt with no arguments will make Mutt-ng attempt to read your
4910 spool mailbox. However, it is possible to read other mailboxes and to send
4911 messages from the command line as well.
4913 Table 7.1. Reference: Command Line Options
4917 -a attach a file to a message
4918 -b specify a blind carbon-copy (BCC) address
4919 -c specify a carbon-copy (Cc) address
4920 -e specify a config command to be run after initialization files are
4922 -f specify a mailbox to load
4923 -F specify an alternate file to read initialization commands
4924 -h print help on command line options
4925 -H specify a draft file from which to read a header and body
4926 -i specify a file to include in a message composition
4927 -m specify a default mailbox type
4928 -n do not read the system Muttngrc
4929 -p recall a postponed message
4930 -Q query a configuration variable
4931 -R open mailbox in read-only mode
4932 -s specify a subject (enclose in quotes if it contains spaces)
4933 -t dump the value of all variables to stdout
4934 -T dump the value of all changed variables to stdout
4935 -v show version number and compile-time definitions
4936 -x simulate the mailx(1) compose mode
4937 -y show a menu containing the files specified by the mailboxes command
4938 -z exit immediately if there are no messages in the mailbox
4939 -Z open the first folder with new message,exit immediately if none
4941 To read messages in a mailbox
4943 mutt ] -nz ] ] -F muttrc ] ] -m type ] ] -f mailbox ]
4945 To compose a new message
4947 mutt ] -n ] ] -F muttrc ] ] -a file ] ] -c address ] ] -i filename ] ] -s
4948 subject ] address ] address ... ]
4950 Mutt-ng also supports a ``batch'' mode to send prepared messages. Simply
4951 redirect input from the file you wish to send. For example,
4953 mutt -s "data set for run #2" professor@bigschool.edu < ~/run2.dat
4955 This command will send a message to ``professor@bigschool.edu'' with a
4956 subject of ``data set for run #2''. In the body of the message will be the
4957 contents of the file ``~/run2.dat''.
4961 Table 7.2. Reference: Patterns
4963 Pattern Modifier Argument Description
4965 ~b/=b EXPR messages which contain EXPR in the message
4967 ~B/=B EXPR messages which contain EXPR in the whole
4969 ~c/=c EXPR messages carbon-copied to EXPR
4970 ~C/=C EXPR message is either to: or cc: EXPR
4971 ~D/=D deleted messages
4972 ~d/=d [MIN]-[MAX] messages with ``date-sent'' in a Date range
4973 ~E/=E expired messages
4974 ~e/=e EXPR message which contains EXPR in the ``Sender''
4976 ~F/=F flagged messages
4977 ~f/=f EXPR messages originating from EXPR
4978 ~g/=g cryptographically signed messages
4979 ~G/=G cryptographically encrypted messages
4980 ~H/=H EXPR messages with a spam attribute matching EXPR
4981 ~h/=h EXPR messages which contain EXPR in the message
4983 ~k/=k message contains PGP key material
4984 ~i/=i EXPR message which match ID in the ``Message-ID''
4986 ~L/=L EXPR message is either originated or received by
4988 ~l/=l message is addressed to a known mailing list
4989 ~m/=m [MIN]-[MAX] message in the range MIN to MAX *)
4990 ~M/=M multipart messages
4991 ~n/=n [MIN]-[MAX] messages with a score in the range MIN to MAX
4995 ~p/=p message is addressed to you (consults
4997 ~P/=P message is from you (consults alternates)
4998 ~Q/=Q messages which have been replied to
5000 ~r/=r [MIN]-[MAX] messages with ``date-received'' in a Date
5002 ~S/=S superseded messages
5003 ~s/=s EXPR messages having EXPR in the ``Subject''
5005 ~T/=T tagged messages
5006 ~t/=t EXPR messages addressed to EXPR
5007 ~U/=U unread messages
5008 ~u/=u message is addressed to a subscribed mailing
5010 ~v/=v message is part of a collapsed thread.
5011 ~V/=V cryptographically verified messages
5012 messages which contain EXPR in the
5013 ~w/=w EXPR `Newsgroups' field (if compiled with NNTP
5015 ~x/=x EXPR messages which contain EXPR in the
5017 ~y/=y EXPR messages which contain EXPR in the `X-Label'
5019 ~z/=z [MIN]-[MAX] messages with a size in the range MIN to MAX
5021 ~=/== duplicated messages (see $duplicate_threads)
5022 ~$/=$ unreferenced messages (requires threaded
5024 ``From'' contains realname and
5025 ~*/=* (syntactically) valid address (excluded are
5026 addresses matching against alternates or any
5029 Where EXPR are regexp. Special attention has to be made when using regular
5030 expressions inside of patterns. Specifically, Mutt-ng's parser for these
5031 patterns will strip one level of backslash (\), which is normally used for
5032 quoting. If it is your intention to use a backslash in the regular
5033 expression, you will need to use two backslashes instead (\\).
5035 *) The forms <[MAX], >[MIN], [MIN]- and -[MAX] are allowed, too.
5037 3. Configuration Commands
5039 The following are the commands understood by mutt.
5041 o account-hook pattern command
5043 o aliaskeyaddress [, address, ... ]
5045 o unalias [ * | key ... ]
5047 o alternatesregexp [ regexp ... ]
5049 o unalternates [ * | regexp ... ]
5051 o alternative_ordermimetype [ mimetype ... ]
5053 o unalternative_ordermimetype [ mimetype ... ]
5055 o append-hook regexp command
5057 o auto_viewmimetype [ mimetype ... ]
5059 o unauto_viewmimetype [ mimetype ... ]
5061 o bind map key function
5063 o charset-hook alias charset
5065 o close-hook regexp command
5067 o colorobjectforegroundbackground [ regexp ]
5069 o uncolorindexpattern [ pattern ... ]
5071 o execfunction [ function ... ]
5073 o fcc-hook pattern mailbox
5075 o fcc-save-hook pattern mailbox
5077 o folder-hook pattern command
5079 o hdr_orderheader [ header ... ]
5081 o unhdr_orderheader [ header ... ]
5083 o charset-hook charset local-charset
5085 o ignorepattern [ pattern ... ]
5087 o unignorepattern [ pattern ... ]
5089 o listsregexp [ regexp ... ]
5091 o unlistsregexp [ regexp ... ]
5093 o macromenukeysequence [ description ]
5095 o mailboxesfilename [ filename ... ]
5097 o mbox-hook pattern mailbox
5099 o message-hook pattern command
5101 o mime_lookupmimetype [ mimetype ... ]
5103 o unmime_lookupmimetype [ mimetype ... ]
5105 o monoobject attribute [ regexp ]
5107 o unmonoindexpattern [ pattern ... ]
5111 o unmy_hdrfield [ field ... ]
5113 o open-hook regexp command
5115 o crypt-hook pattern key-id
5119 o resetvariable [ variable ... ]
5121 o save-hook regexp filename
5123 o score pattern value
5125 o unscorepattern [ pattern ... ]
5127 o send-hook regexp command
5129 o reply-hook regexp command
5131 o set [no|inv]variable[ =value ] [ variable ... ]
5133 o unsetvariable [ variable ... ]
5137 o spam pattern format
5141 o subscriberegexp [ regexp ... ]
5143 o unsubscriberegexp [ regexp ... ]
5145 o togglevariable [ variable ... ]
5149 4. Configuration variables
5151 The following list contains all variables which, in the process of
5152 providing more consistency, have been renamed and are partially even
5153 removed already. The left column contains the old synonym variables, the
5154 right column the full/new name:
5156 Table 7.3. Reference: Obsolete Variables
5159 edit_hdrs $edit_headers
5160 forw_decode $forward_decode
5161 forw_format $forward_format
5162 forw_quote $forward_quote
5163 hdr_format $index_format
5164 indent_str $indent_string
5165 mime_fwd $mime_forward
5166 msg_format $message_format
5167 pgp_autosign $crypt_autosign
5168 pgp_autoencrypt $crypt_autoencrypt
5169 pgp_replyencrypt $crypt_replyencrypt
5170 pgp_replysign $crypt_replysign
5171 pgp_replysignencrypted $crypt_replysignencrypted
5172 pgp_verify_sig $crypt_verify_sig
5173 pgp_create_traditional $pgp_autoinline
5174 pgp_auto_traditional $pgp_replyinline
5175 forw_decrypt $forward_decrypt
5176 smime_sign_as $smime_default_key
5177 post_indent_str $post_indent_string
5178 print_cmd $print_command
5179 shorten_hierarchy $sidebar_shorten_hierarchy
5180 ask_followup_to $nntp_ask_followup_to
5181 ask_x_comment_to $nntp_ask_x_comment_to
5182 catchup_newsgroup $nntp_catchup
5183 followup_to_poster $nntp_followup_to_poster
5184 group_index_format $nntp_group_index_format
5186 mime_subject $nntp_mime_subject
5187 news_cache_dir $nntp_cache_dir
5188 news_server $nntp_host
5190 nntp_poll $nntp_mail_check
5191 pop_checkinterval $pop_mail_check
5192 post_moderated $nntp_post_moderated
5193 save_unsubscribed $nntp_save_unsubscribed
5194 show_new_news $nntp_show_new_news
5195 show_only_unread $nntp_show_only_unread
5196 x_comment_to $nntp_x_comment_to
5197 smtp_auth_username $smtp_user
5198 smtp_auth_password $smtp_pass
5199 user_agent $agent_string
5201 The contrib subdirectory contains a script named update-config.pl which
5204 A complete list of current variables follows.
5212 This variable specifies whether to abort sending if no attachment was made
5213 but the content references them, i.e. the content matches the regular
5214 expression given in $attach_remind_regexp. If a match was found and this
5215 variable is set to yes, message sending will be aborted but the mail will
5216 be send nevertheless if set to no.
5218 This variable and $attach_remind_regexp are intended to remind the user to
5219 attach files if the message's text references them.
5221 See also the $attach_remind_regexp variable.
5229 If set to yes, when composing messages and no subject is given at the
5230 subject prompt, composition will be aborted. If set to no, composing
5231 messages with no subject given at the subject prompt will never be
5234 3. $abort_unmodified
5240 If set to yes, composition will automatically abort after editing the
5241 message body if no changes are made to the file (this check only happens
5242 after the first edit of the file). When set to no, composition will never
5251 When set, Mutt-ng will add a ``User-Agent:'' header to outgoing messages,
5252 indicating which version of Mutt-ng was used for composing them.
5258 Default: "~/.muttngrc"
5260 The default file in which to save aliases created by the ``create-alias''
5263 Note: Mutt-ng will not automatically source this file; you must explicitly
5264 use the ``source'' command for it to be executed.
5270 Default: "%4n %2f %t %-10a %r"
5272 Specifies the format of the data displayed for the ``alias'' menu. The
5273 following printf(3)-style sequences are available:
5281 flags - currently, a "d" for an alias marked for deletion
5289 address which alias expands to
5293 character which indicates if the alias is tagged for inclusion
5301 Controls whether 8-bit data is converted to 7-bit using either
5302 quoted-printable or base64 encoding when sending mail.
5310 Controls whether ANSI color codes in messages (and color tags in rich text
5311 messages) are to be interpreted. Messages containing these codes are rare,
5312 but if this option is set, their text will be colored accordingly. Note
5313 that this may override your color choices, and even present a security
5314 problem, since a message could include a line like ``[-- PGP output
5315 follows ..." and give it the same color as your attachment color.
5323 When set, an arrow (``->'') will be used to indicate the current entry in
5324 menus instead of highlighting the whole line. On slow network or modem
5325 links this will make response faster because there is less that has to be
5326 redrawn on the screen when moving to the next or previous entries in the
5335 If set, Mutt-ng will use plain ASCII characters when displaying thread and
5336 attachment trees, instead of the default ACS characters.
5344 If set, Mutt-ng will prompt you for blind-carbon-copy (Bcc) recipients
5345 before editing an outgoing message.
5353 If set, Mutt-ng will prompt you for carbon-copy (Cc) recipients before
5354 editing the body of an outgoing message.
5356 13. $assumed_charset
5362 This variable is a colon-separated list of character encoding schemes for
5363 messages without character encoding indication. Header field values and
5364 message body content without character encoding indication would be
5365 assumed that they are written in one of this list. By default, all the
5366 header fields and message body without any charset indication are assumed
5369 For example, Japanese users might prefer this:
5371 set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
5373 However, only the first content is valid for the message body. This
5374 variable is valid only if $strict_mime is unset.
5380 Default: "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "
5382 This variable describes the format of the ``attachment'' menu. The
5383 following printf(3)-style sequences are understood:
5391 requires charset conversion (n or c)
5403 MIME Content-Transfer-Encoding: header field
5411 MIME Content-Disposition: header field (I=inline, A=attachment)
5435 graphic tree characters
5439 unlink (=to delete) flag
5443 right justify the rest of the string and pad with character "X"
5447 pad to the end of the line with character "X"
5449 15. $attach_remind_regexp
5451 Type: regular expression
5455 If this variable is non-empty, muttng will scan a message's contents
5456 before sending for this regular expression. If it is found, it will ask
5457 for what to do depending on the setting of $abort_noattach.
5459 This variable and $abort_noattach are intended to remind the user to
5460 attach files if the message's text references them.
5468 The separator to add between attachments when operating (saving, printing,
5469 piping, etc) on a list of tagged attachments.
5477 If this variable is unset, when operating (saving, printing, piping, etc)
5478 on a list of tagged attachments, Mutt-ng will concatenate the attachments
5479 and will operate on them as a single attachment. The ``$attach_sep''
5480 separator is added after each attachment. When set, Mutt-ng will operate
5481 on the attachments one by one.
5487 Default: "On %d, %n wrote:"
5489 This is the string that will precede a message which has been included in
5490 a reply. For a full listing of defined printf(3)-like sequences see the
5491 section on ``$index_format''.
5499 When set, functions in the index menu which affect a message will be
5500 applied to all tagged messages (if there are any). When unset, you must
5501 first use the ``tag-prefix'' function (default: ";") to make the next
5502 function apply to all tagged messages.
5510 When set along with ``$edit_headers'', Mutt-ng will skip the initial
5511 send-menu and allow you to immediately begin editing the body of your
5512 message. The send-menu may still be accessed once you have finished
5513 editing the body of your message.
5515 Also see ``$fast_reply''.
5523 When this variable is set, Mutt-ng will beep when an error occurs.
5531 When this variable is set, Mutt-ng will beep whenever it prints a message
5532 notifying you of new mail. This is independent of the setting of the
5541 Controls whether you will be asked to confirm bouncing messages. If set to
5542 yes you don't get asked if you want to bounce a message. Setting this
5543 variable to no is not generally useful, and thus not recommended, because
5544 you are unable to bounce messages.
5546 24. $bounce_delivered
5552 When this variable is set, Mutt-ng will include Delivered-To: header
5553 fields when bouncing messages. Postfix users may wish to unset this
5556 25. $braille_friendly
5562 When this variable is set, mutt will place the cursor at the beginning of
5563 the current line in menus, even when the arrow_cursor variable is unset,
5564 making it easier for blind persons using Braille displays to follow these
5565 menus. The option is disabled by default because many visual terminals
5566 don't permit making the cursor invisible.
5568 26. $certificate_file
5572 Default: "~/.mutt_certificates"
5574 Availability: SSL or GNUTLS
5576 This variable specifies the file where the certificates you trust are
5577 saved. When an unknown certificate is encountered, you are asked if you
5578 accept it or not. If you accept it, the certificate can also be saved in
5579 this file and further connections are automatically accepted.
5581 You can also manually add CA certificates in this file. Any server
5582 certificate that is signed with one of these CA certificates are also
5583 automatically accepted.
5585 Example: set certificate_file=~/.muttng/certificates
5593 Character set your terminal uses to display and enter textual data.
5601 Note: this option only affects maildir and MH style mailboxes.
5603 When set, Mutt-ng will check for new mail delivered while the mailbox is
5604 open. Especially with MH mailboxes, this operation can take quite some
5605 time since it involves scanning the directory and checking each file to
5606 see if it has already been looked at. If it's unset, no check for new mail
5607 is performed while the mailbox is open.
5609 29. $collapse_unread
5615 When unset, Mutt-ng will not collapse a thread if it contains any unread
5622 Default: "-- Mutt-ng: Compose [Approx. msg size: %l Atts: %a]%>-"
5624 Controls the format of the status line displayed in the ``compose'' menu.
5625 This string is similar to ``$status_format'', but has its own set of
5626 printf(3)-like sequences:
5630 total number of attachments
5638 approximate size (in bytes) of the current message
5642 Mutt-ng version string
5644 See the text describing the ``$status_format'' option for more information
5645 on how to set ``$compose_format''.
5653 When defined, Mutt-ng will recode commands in rc files from this encoding.
5661 When set, Mutt-ng will prompt for confirmation when appending messages to
5662 an existing mailbox.
5670 When set, Mutt-ng will prompt for confirmation when saving messages to a
5671 mailbox which does not yet exist before creating it.
5673 34. $connect_timeout
5679 Causes Mutt-ng to timeout a network connection (for IMAP or POP) after
5680 this many seconds if the connection is not able to be established. A
5681 negative value causes Mutt-ng to wait indefinitely for the connection to
5688 Default: "text/plain"
5690 Sets the default Content-Type: header field for the body of newly composed
5699 This variable controls whether or not copies of your outgoing messages
5700 will be saved for later references. Also see ``$record'', ``$save_name'',
5701 ``$force_name'' and ``fcc-hook''.
5703 37. $crypt_autoencrypt
5709 Setting this variable will cause Mutt-ng to always attempt to PGP encrypt
5710 outgoing messages. This is probably only useful in connection to the
5711 send-hook command. It can be overridden by use of the pgp-menu, when
5712 encryption is not required or signing is requested as well. If
5713 ``$smime_is_default'' is set, then OpenSSL is used instead to create
5714 S/MIME messages and settings can be overridden by use of the smime-menu.
5723 This variable controls whether or not Mutt-ng may automatically enable PGP
5724 encryption/signing for messages. See also ``$crypt_autoencrypt'',
5725 ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
5726 ``$smime_is_default''.
5734 Setting this variable will cause Mutt-ng to always attempt to
5735 cryptographically sign outgoing messages. This can be overridden by use of
5736 the pgp-menu, when signing is not required or encryption is requested as
5737 well. If ``$smime_is_default'' is set, then OpenSSL is used instead to
5738 create S/MIME messages and settings can be overridden by use of the
5739 smime-menu. (Crypto only)
5741 40. $crypt_autosmime
5747 This variable controls whether or not Mutt-ng may automatically enable
5748 S/MIME encryption/signing for messages. See also ``$crypt_autoencrypt'',
5749 ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
5750 ``$smime_is_default''.
5752 41. $crypt_replyencrypt
5758 If set, automatically PGP or OpenSSL encrypt replies to messages which are
5759 encrypted. (Crypto only)
5761 42. $crypt_replysign
5767 If set, automatically PGP or OpenSSL sign replies to messages which are
5770 Note: this does not work on messages that are encrypted and signed!
5773 43. $crypt_replysignencrypted
5779 If set, automatically PGP or OpenSSL sign replies to messages which are
5780 encrypted. This makes sense in combination with ``$crypt_replyencrypt'',
5781 because it allows you to sign all messages which are automatically
5782 encrypted. This works around the problem noted in ``$crypt_replysign'',
5783 that Mutt-ng is not able to find out whether an encrypted message is also
5784 signed. (Crypto only)
5786 44. $crypt_timestamp
5792 If set, Mutt-ng will include a time stamp in the lines surrounding PGP or
5793 S/MIME output, so spoofing such lines is more difficult. If you are using
5794 colors to mark these lines, and rely on these, you may unset this setting.
5797 45. $crypt_use_gpgme
5803 This variable controls the use the GPGME enabled crypto backends. If it is
5804 set and Mutt-ng was build with gpgme support, the gpgme code for S/MIME
5805 and PGP will be used instead of the classic code.
5807 Note: You need to use this option in your .muttngrc configuration file as
5808 it won't have any effect when used interactively.
5810 46. $crypt_verify_sig
5816 If ``yes'', always attempt to verify PGP or S/MIME signatures. If ``ask'',
5817 ask whether or not to verify the signature. If ``no'', never attempt to
5818 verify cryptographic signatures. (Crypto only)
5824 Default: "!%a, %b %d, %Y at %I:%M:%S%p %Z"
5826 This variable controls the format of the date printed by the ``%d''
5827 sequence in ``$index_format''. This is passed to strftime(3) to process
5830 Unless the first character in the string is a bang (``!''), the month and
5831 week day names are expanded according to the locale specified in the
5832 variable ``$locale''. If the first character in the string is a bang, the
5833 bang is discarded, and the month and week day names in the rest of the
5834 string are expanded in the C locale (that is in US English).
5844 This variable specifies the current debug level and may be used to
5845 increase or decrease the verbosity level during runtime. It overrides the
5846 level given with the -d command line option.
5848 Currently, this number must be >= 0 and <= 5 and muttng must be started
5849 with -d to enable debugging at all; enabling at runtime is not possible.
5855 Default: "~f %s !~P | (~P ~C %s)"
5857 This variable controls how send-hooks, message-hooks, save-hooks, and
5858 fcc-hooks will be interpreted if they are specified with only a simple
5859 regexp, instead of a matching pattern. The hooks are expanded when they
5860 are declared, so a hook will be interpreted according to the value of this
5861 variable at the time the hook is declared. The default value matches if
5862 the message is either from a user matching the regular expression given,
5863 or if it is from you (if the from address matches ``alternates'') and is
5864 to or cc'ed to a user matching the given regular expression.
5872 Controls whether or not messages are really deleted when closing or
5873 synchronizing a mailbox. If set to yes, messages marked for deleting will
5874 automatically be purged without prompting. If set to no, messages marked
5875 for deletion will be kept in the mailbox.
5883 When sending messages with format=flowed by setting the $text_flowed
5884 variable, this variable specifies whether to also set the DelSp parameter
5885 to yes. If this is unset, no additional parameter will be send as a value
5886 of no already is the default behavior.
5888 Note: this variable only has an effect on outgoing messages (if
5889 $text_flowed is set) but not on incomming.
5897 If this option is set, Mutt-ng will untag messages when marking them for
5898 deletion. This applies when you either explicitly delete a message, or
5899 when you save it to another folder.
5901 53. $digest_collapse
5907 If this option is set, Mutt-ng's received-attachments menu will not show
5908 the subparts of individual messages in a multipart/digest. To see these
5909 subparts, press 'v' on that menu.
5917 When set, specifies a command used to filter messages. When a message is
5918 viewed it is passed as standard input to $display_filter, and the filtered
5919 message is read from the standard output.
5921 55. $dotlock_program
5925 Default: "$muttng_bindir/muttng_dotlock"
5927 Availability: Standalone and Dotlock
5929 Contains the path of the muttng_dotlock(1) binary to be used by Mutt-ng.
5937 Note: you should not enable this unless you are using Sendmail 8.8.x or
5938 greater or in connection with the SMTP support via libESMTP.
5940 This variable sets the request for when notification is returned. The
5941 string consists of a comma separated list (no spaces!) of one or more of
5942 the following: never, to never request notification, failure, to request
5943 notification on transmission failure, delay, to be notified of message
5944 delays, success, to be notified of successful transmission.
5946 Example: set dsn_notify="failure,delay"
5954 Note: you should not enable this unless you are using Sendmail 8.8.x or
5955 greater or in connection with the SMTP support via libESMTP.
5957 This variable controls how much of your message is returned in DSN
5958 messages. It may be set to either hdrs to return just the message header,
5959 or full to return the full message.
5961 Example: set dsn_return=hdrs
5963 58. $duplicate_threads
5969 This variable controls whether Mutt-ng, when sorting by threads, threads
5970 messages with the same Message-Id: header field together. If it is set, it
5971 will indicate that it thinks they are duplicates of each other with an
5972 equals sign in the thread diagram.
5980 This option allows you to edit the header of your outgoing messages along
5981 with the body of your message.
5983 Which empty header fields to show is controlled by the $editor_headers
5992 This variable specifies which editor is used by Mutt-ng. It defaults to
5993 the value of the $VISUAL, or $EDITOR, environment variable, or to the
5994 string "vi" if neither of those are set.
6000 Default: "From: To: Cc: Bcc: Subject: Reply-To: Newsgroups: Followup-To:
6003 If $edit_headers is set, this space-separated list specifies which
6004 non-empty header fields to edit in addition to user-defined headers.
6006 Note: if $edit_headers had to be turned on by force because $strict_mailto
6007 is unset, this option has no effect.
6015 When set, Mutt-ng will quoted-printable encode messages when they contain
6016 the string ``From '' (note the trailing space) in the beginning of a line.
6017 Useful to avoid the tampering certain mail delivery and transport agents
6018 tend to do with messages.
6020 Note: as mutt-ng currently violates RfC3676 defining format=flowed, it's
6021 <em/strongly/ advised to set this option although discouraged by the
6022 standard. Alternatively, you must take care of space-stuffing <tt/From /
6023 lines (with a trailing space) yourself.
6033 The file which includes random data that is used to initialize SSL library
6042 When set, Mutt-ng will try to derive the message's envelope sender from
6043 the ``From:'' header field. Note that this information is passed to the
6044 sendmail command using the ``-f" command line switch, so don't set this
6045 option if you are using that switch in $sendmail yourself, or if the
6046 sendmail on your machine doesn't support that command line switch.
6054 Escape character to use for functions in the builtin editor.
6062 When set, the initial prompt for recipients and subject are skipped when
6063 replying to messages, and the initial prompt for subject is skipped when
6064 forwarding messages.
6066 Note: this variable has no effect when the ``$autoedit'' variable is set.
6074 This variable controls whether or not attachments on outgoing messages are
6075 saved along with the main body of your message.
6083 When this variable is set, FCCs will be stored unencrypted and unsigned,
6084 even when the actual message is encrypted and/or signed. (PGP only)
6092 This variable is a colon-separated list of character encoding schemes for
6093 text file attatchments. If unset, $charset value will be used instead. For
6094 example, the following configuration would work for Japanese text
6097 set file_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
6099 Note: ``iso-2022-*'' must be put at the head of the value as shown above
6108 Specifies the default location of your mailboxes. A ``+'' or ``='' at the
6109 beginning of a pathname will be expanded to the value of this variable.
6110 Note that if you change this variable from the default value you need to
6111 make sure that the assignment occurs before you use ``+'' or ``='' for any
6112 other variables since expansion takes place during the ``set'' command.
6118 Default: "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"
6120 This variable allows you to customize the file browser display to your
6121 personal taste. This string is similar to ``$index_format'', but has its
6122 own set of printf(3)-like sequences:
6130 date/time folder was last modified
6142 group name (or numeric gid, if missing)
6146 number of hard links
6150 N if folder has new mail, blank otherwise
6158 * if the file is tagged, blank otherwise
6162 owner name (or numeric uid, if missing)
6166 right justify the rest of the string and pad with character "X"
6170 pad to the end of the line with character "X"
6178 Controls whether or not the Mail-Followup-To: header field is generated
6179 when sending mail. When set, Mutt-ng will generate this field when you are
6180 replying to a known mailing list, specified with the ``subscribe'' or
6181 ``lists'' commands or detected by common mailing list headers.
6183 This field has two purposes. First, preventing you from receiving
6184 duplicate copies of replies to messages which you send to mailing lists.
6185 Second, ensuring that you do get a reply separately for any messages sent
6186 to known lists to which you are not subscribed. The header will contain
6187 only the list's address for subscribed lists, and both the list address
6188 and your own email address for unsubscribed lists. Without this header, a
6189 group reply to your message sent to a subscribed list will be sent to both
6190 the list and your address, resulting in two copies of the same email for
6193 73. $force_buffy_check
6199 When set, it causes Mutt-ng to check for new mail when the buffy-list
6200 command is invoked. When unset, buffy_list will just list all mailboxes
6201 which are already known to have new mail.
6203 Also see the following variables: ``$timeout'', ``$mail_check'' and
6204 ``$imap_mail_check''.
6212 This variable is similar to ``$save_name'', except that Mutt-ng will store
6213 a copy of your outgoing message by the username of the address you are
6214 sending to even if that mailbox does not exist.
6216 Also see the ``$record'' variable.
6224 Controls the decoding of complex MIME messages into text/plain when
6225 forwarding a message. The message header is also RFC2047 decoded. This
6226 variable is only used, if ``$mime_forward'' is unset, otherwise
6227 ``$mime_forward_decode'' is used instead.
6229 76. $forward_decrypt
6235 Controls the handling of encrypted messages when forwarding a message.
6236 When set, the outer layer of encryption is stripped off. This variable is
6237 only used if ``$mime_forward'' is set and ``$mime_forward_decode'' is
6246 This quadoption controls whether or not the user is automatically placed
6247 in the editor when forwarding messages. For those who always want to
6248 forward with no modification, use a setting of no.
6256 This variable controls the default subject when forwarding a message. It
6257 uses the same format sequences as the ``$index_format'' variable.
6265 When set forwarded messages included in the main body of the message (when
6266 ``$mime_forward'' is unset) will be quoted using ``$indent_string''.
6270 Type: e-mail address
6274 This variable contains a default from address. It can be overridden using
6275 my_hdr (including from send-hooks) and ``$reverse_name''. This variable is
6276 ignored if ``$use_from'' is unset.
6278 E.g. you can use send-hook Mutt-ng-devel@lists.berlios.de 'my_hdr From:
6279 Foo Bar <foo@bar.fb>' when replying to the mutt-ng developer's mailing
6280 list and Mutt-ng takes this email address.
6282 Defaults to the contents of the environment variable $EMAIL.
6286 Type: regular expression
6290 A regular expression used by Mutt-ng to parse the GECOS field of a
6291 password entry when expanding the alias. By default the regular expression
6292 is set to ``^[^,]*'' which will return the string up to the first ``,''
6293 encountered. If the GECOS field contains a string like "lastname,
6294 firstname" then you should do: set gecos_mask=".*".
6296 This can be useful if you see the following behavior: you address a e-mail
6297 to user ID stevef whose full name is Steve Franklin. If Mutt-ng expands
6298 stevef to ``Franklin'' stevef@foo.bar then you should set the gecos_mask
6299 to a regular expression that will match the whole name so Mutt-ng will
6300 expand ``Franklin'' to ``Franklin, Steve''.
6308 When unset, the header fields normally added by the ``my_hdr'' command are
6309 not created. This variable must be unset before composing a new message or
6310 replying in order to take effect. If set, the user defined header fields
6311 are added to every new message.
6319 When set, this variable causes Mutt-ng to include the header of the
6320 message you are replying to into the edit buffer. The ``$weed'' setting
6329 Availability: Header Cache
6331 The $header_cache variable points to the header cache database.
6333 If $header_cache points to a directory it will contain a header cache
6334 database per folder. If $header_cache points to a file that file will be a
6335 single global header cache. By default it is unset so no header caching
6338 85. $header_cache_compress
6344 If enabled the header cache will be compressed. So only one fifth of the
6345 usual diskspace is used, but the uncompression can result in a slower open
6346 of the cached folder.
6354 When set, help lines describing the bindings for the major functions
6355 provided by each menu are displayed on the first line of the screen.
6357 Note: The binding will not be displayed correctly if the function is bound
6358 to a sequence rather than a single keystroke. Also, the help line may not
6359 be updated if a binding is changed while Mutt-ng is running. Since this
6360 variable is primarily aimed at new users, neither of these should present
6369 When set, Mutt-ng will skip the host name part of ``$hostname'' variable
6370 when adding the domain part to addresses. This variable does not affect
6371 the generation of Message-ID: header fields, and it will not lead to the
6372 cut-off of first-level domains.
6380 When set, Mutt-ng will not show the presence of messages that are hidden
6381 by limiting, in the thread tree.
6389 When set, Mutt-ng will not show the presence of missing messages in the
6392 90. $hide_thread_subject
6398 When set, Mutt-ng will not show the subject of messages in the thread tree
6399 that have the same subject as their parent or closest previously displayed
6402 91. $hide_top_limited
6408 When set, Mutt-ng will not show the presence of messages that are hidden
6409 by limiting, at the top of threads in the thread tree. Note that when
6410 $hide_missing is set, this option will have no effect.
6412 92. $hide_top_missing
6418 When set, Mutt-ng will not show the presence of missing messages at the
6419 top of threads in the thread tree. Note that when $hide_limited is set,
6420 this option will have no effect.
6428 This variable controls the size (in number of strings remembered) of the
6429 string history buffer. The buffer is cleared each time the variable is
6432 94. $honor_followup_to
6438 This variable controls whether or not a Mail-Followup-To: header field is
6439 honored when group-replying to a message.
6447 Specifies the hostname to use after the ``@'' in local e-mail addresses
6448 and during generation of Message-Id: headers.
6450 Please be sure to really know what you are doing when changing this
6451 variable to configure a custom domain part of Message-IDs.
6453 96. $ignore_list_reply_to
6459 Affects the behaviour of the reply function when replying to messages from
6460 mailing lists. When set, if the ``Reply-To:'' header field is set to the
6461 same value as the ``To:'' header field, Mutt-ng assumes that the
6462 ``Reply-To:'' header field was set by the mailing list to automate
6463 responses to the list, and will ignore this field. To direct a response to
6464 the mailing list when this option is set, use the list-reply function;
6465 group-reply will reply to both the sender and the list.
6467 97. $imap_authenticators
6475 This is a colon-delimited list of authentication methods Mutt-ng may
6476 attempt to use to log in to an IMAP server, in the order Mutt-ng should
6477 try them. Authentication methods are either ``login'' or the right side of
6478 an IMAP ``AUTH='' capability string, e.g. ``digest-md5'', ``gssapi'' or
6479 ``cram-md5''. This parameter is case-insensitive.
6481 If this parameter is unset (the default) Mutt-ng will try all available
6482 methods, in order from most-secure to least-secure.
6484 Example: set imap_authenticators="gssapi:cram-md5:login"
6486 Note: Mutt-ng will only fall back to other authentication methods if the
6487 previous methods are unavailable. If a method is available but
6488 authentication fails, Mutt-ng will not connect to the IMAP server.
6490 98. $imap_check_subscribed
6496 When set, mutt will fetch the set of subscribed folders from your server
6497 on connection, and add them to the set of mailboxes it polls for new mail.
6498 See also the ``mailboxes'' command.
6500 99. $imap_delim_chars
6508 This contains the list of characters which you would like to treat as
6509 folder separators for displaying IMAP paths. In particular it helps in
6510 using the '=' shortcut for your $folder variable.
6520 Mutt-ng requests these header fields in addition to the default headers
6521 (``DATE FROM SUBJECT TO CC MESSAGE-ID REFERENCES CONTENT-TYPE
6522 CONTENT-DESCRIPTION IN-REPLY-TO REPLY-TO LINES X-LABEL'') from IMAP
6523 servers before displaying the ``index'' menu. You may want to add more
6524 headers for spam detection.
6526 Note: This is a space separated list.
6528 101. $imap_home_namespace
6536 You normally want to see your personal folders alongside your INBOX in the
6537 IMAP browser. If you see something else, you may set this variable to the
6538 IMAP path to your folders.
6540 102. $imap_keepalive
6548 This variable specifies the maximum amount of time in seconds that Mutt-ng
6549 will wait before polling open IMAP connections, to prevent the server from
6550 closing them before Mutt-ng has finished with them.
6552 The default is well within the RFC-specified minimum amount of time (30
6553 minutes) before a server is allowed to do this, but in practice the RFC
6554 does get violated every now and then.
6556 Reduce this number if you find yourself getting disconnected from your
6557 IMAP server due to inactivity.
6559 103. $imap_list_subscribed
6567 This variable configures whether IMAP folder browsing will look for only
6568 subscribed folders or all folders. This can be toggled in the IMAP browser
6569 with the toggle-subscribed function.
6579 Your login name on the IMAP server.
6581 This variable defaults to the value of ``$imap_user.''
6583 105. $imap_mail_check
6589 This variable configures how often (in seconds) Mutt-ng should look for
6590 new mail in IMAP folders. This is split from the ``mail_check'' variable
6591 to generate less traffic and get more accurate information for local
6602 Specifies the password for your IMAP account. If unset, Mutt-ng will
6603 prompt you for your password when you invoke the fetch-mail function.
6605 Warning: you should only use this option when you are on a fairly secure
6606 machine, because the superuser can read your configuration even if you are
6607 the only one who can read the file.
6617 When set, Mutt-ng will not open new IMAP connections to check for new
6618 mail. Mutt-ng will only check for new mail over existing IMAP connections.
6619 This is useful if you don't want to be prompted to user/password pairs on
6620 Mutt-ng invocation, or if opening the connection is slow.
6630 If set, Mutt-ng will avoid implicitly marking your mail as read whenever
6631 you fetch a message from the server. This is generally a good thing, but
6632 can make closing an IMAP folder somewhat slower. This option exists to
6633 appease speed freaks.
6635 109. $imap_reconnect
6643 Controls whether or not Mutt-ng will try to reconnect to IMAP server when
6644 the connection is lost.
6646 110. $imap_servernoise
6654 When set, Mutt-ng will display warning messages from the IMAP server as
6655 error messages. Since these messages are often harmless, or generated due
6656 to configuration problems on the server which are out of the users' hands,
6657 you may wish to suppress them at some point.
6667 The name of the user whose mail you intend to access on the IMAP server.
6669 This variable defaults to your user name on the local machine.
6671 112. $implicit_autoview
6677 If set, Mutt-ng will look for a mailcap entry with the ``copiousoutput''
6678 flag set for every MIME attachment it doesn't have an internal viewer
6679 defined for. If such an entry is found, Mutt-ng will use the viewer
6680 defined in that entry to convert the body part to text form.
6688 Controls whether or not a copy of the message(s) you are replying to is
6689 included in your reply.
6691 114. $include_onlyfirst
6697 Controls whether or not Mutt-ng includes only the first attachment of the
6698 message you are replying.
6706 Specifies the string to prepend to each line of text quoted in a message
6707 to which you are replying. You are strongly encouraged not to change this
6708 value, as it tends to agitate the more fanatical netizens.
6714 Default: "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"
6716 This variable allows you to customize the message index display to your
6719 ``Format strings'' are similar to the strings used in the ``C'' function
6720 printf(3) to format output (see the man page for more detail). The
6721 following sequences are defined in Mutt-ng:
6725 address of the author
6729 reply-to address (if present; otherwise: address of author)
6733 filename of the original message folder (think mailBox)
6737 the list to which the letter was sent, or else the folder name
6742 number of characters (bytes) in the message
6746 current message number
6750 date and time of the message in the format specified by
6751 ``date_format'' converted to sender's time zone
6755 date and time of the message in the format specified by
6756 ``date_format'' converted to the local time zone
6760 current message number in thread
6764 number of messages in current thread
6768 entire From: line (address + real name)
6772 author name, or recipient name if the message is from you
6776 spam attribute(s) of this message
6780 newsgroup name (if compiled with nntp support)
6784 message-id of the current message
6788 number of lines in the message (does not work with maildir, mh,
6789 and possibly IMAP folders)
6793 If an address in the To or CC header field matches an address
6794 defined by the users ``subscribe'' command, this displays "To
6795 <list-name>", otherwise the same as %F.
6799 total number of message in the mailbox
6803 number of hidden messages if the thread is collapsed.
6811 author's real name (or address if missing)
6815 (_O_riginal save folder) Where Mutt-ng would formerly have stashed
6816 the message: list name or recipient name if no list
6820 subject of the message
6824 status of the message (N/D/d/!/r/*)
6828 `to:' field (recipients)
6832 the appropriate character from the $to_chars string
6836 user (login) name of the author
6840 first name of the author, or the recipient if the message is from
6845 name of organization of author (`organization:' field)
6849 `x-label:' field, if present
6853 `x-label' field, if present, and (1) not at part of a thread tree,
6854 (2) at the top of a thread, or (3) `x-label' is different from
6855 preceding message's `x-label'.
6859 message status flags
6863 the date and time of the message is converted to sender's time
6864 zone, and ``fmt'' is expanded by the library function
6865 ``strftime''; a leading bang disables locales
6869 the date and time of the message is converted to the local time
6870 zone, and ``fmt'' is expanded by the library function
6871 ``strftime''; a leading bang disables locales
6875 the local date and time when the message was received. ``fmt'' is
6876 expanded by the library function ``strftime''; a leading bang
6881 the current local time. ``fmt'' is expanded by the library
6882 function ``strftime''; a leading bang disables locales.
6886 right justify the rest of the string and pad with character "X"
6890 pad to the end of the line with character "X"
6892 See also: ``$to_chars''.
6900 How to invoke ispell (GNU's spell-checking software).
6908 If set, read messages marked as flagged will not be moved from your spool
6909 mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
6918 When set, address replies to the mailing list the original message came
6919 from (instead to the author only). Setting this option to ``ask-yes'' or
6920 ``ask-no'' will ask if you really intended to reply to the author only.
6928 The locale used by strftime(3) to format dates. Legal values are the
6929 strings your system accepts for the locale variable LC_TIME.
6937 This variable configures how often (in seconds) Mutt-ng should look for
6940 Note: This does not apply to IMAP mailboxes, see $imap_mail_check.
6948 This variable specifies which files to consult when attempting to display
6949 MIME bodies not directly supported by Mutt-ng.
6951 123. $mailcap_sanitize
6957 If set, Mutt-ng will restrict possible characters in mailcap % expandos to
6958 a well-defined set of safe characters. This is the safe setting, but we
6959 are not sure it doesn't break some more advanced MIME stuff.
6961 DON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE DOING!
6963 124. $maildir_header_cache_verify
6969 Availability: Header Cache
6971 Check for Maildir unaware programs other than Mutt-ng having modified
6972 maildir files when the header cache is in use. This incurs one stat(2) per
6973 message every time the folder is opened.
6981 If set, messages marked as deleted will be saved with the maildir
6982 (T)rashed flag instead of physically deleted.
6984 NOTE: this only applies to maildir-style mailboxes. Setting it will have
6985 no effect on other mailbox types.
6987 It is similiar to the trash option.
6995 Controls whether or not Mutt-ng marks newunread messages as old if you
6996 exit a mailbox without reading them.
6998 With this option set, the next time you start Mutt-ng, the messages will
6999 show up with an "O" next to them in the ``index'' menu, indicating that
7008 Controls the display of wrapped lines in the internal pager. If set, a
7009 ``+'' marker is displayed at the beginning of wrapped lines. Also see the
7010 ``$smart_wrap'' variable.
7014 Type: regular expression
7018 A regular expression used in the file browser, optionally preceded by the
7019 not operator ``!''. Only files whose names match this mask will be shown.
7020 The match is always case-sensitive.
7022 129. $max_display_recips
7028 When set non-zero, this specifies the maximum number of recipient header
7029 lines (To:, Cc: and Bcc:) to display in the pager if header weeding is
7030 turned on. In case the number of lines exeeds its value, the last line
7031 will have 3 dots appended.
7033 130. $max_line_length
7039 When set, the maximum line length for displaying ``format = flowed''
7040 messages is limited to this length. A value of 0 (which is also the
7041 default) means that the maximum line length is determined by the terminal
7042 width and $wrapmargin.
7050 This specifies the folder into which read mail in your ``$spoolfile''
7051 folder will be appended.
7059 The default mailbox type used when creating new folders. May be any of
7060 mbox, MMDF, MH and Maildir.
7068 This variable controls the number of lines of context that are given when
7069 scrolling through menus. (Similar to ``$pager_context''.)
7077 When unset, the bottom entry of menus will never scroll up past the bottom
7078 of the screen, unless there are less entries than lines. When set, the
7079 bottom entry may move off the bottom.
7087 When set, menus will be scrolled up or down one line when you attempt to
7088 move across a screen boundary. If unset, the screen is cleared and the
7089 next or previous page of the menu is displayed (useful for slow links to
7090 avoid many redraws).
7092 136. $message_format
7098 This is the string displayed in the ``attachment'' menu for attachments of
7099 type message/rfc822. For a full listing of defined printf(3)-like
7100 sequences see the section on ``$index_format''.
7108 If set, forces Mutt-ng to interpret keystrokes with the high bit (bit 8)
7109 set as if the user had pressed the ESC key and whatever key remains after
7110 having the high bit removed. For example, if the key pressed has an ASCII
7111 value of 0xf4, then this is treated as if the user had pressed ESC then
7112 ``x''. This is because the result of removing the high bit from ``0xf4''
7113 is ``0x74'', which is the ASCII character ``x''.
7121 If unset, Mutt-ng will remove your address (see the ``alternates''
7122 command) from the list of recipients when replying to a message.
7130 When unset, Mutt-ng will mimic mh's behaviour and rename deleted messages
7131 to ,<old file name> in mh folders instead of really deleting them. If the
7132 variable is set, the message files will simply be deleted.
7134 140. $mh_seq_flagged
7140 The name of the MH sequence used for flagged messages.
7142 141. $mh_seq_replied
7148 The name of the MH sequence used to tag replied messages.
7156 The name of the MH sequence used for unseen messages.
7164 When set, the message you are forwarding will be attached as a separate
7165 MIME part instead of included in the main body of the message.
7167 This is useful for forwarding MIME messages so the receiver can properly
7168 view the message as it was delivered to you. If you like to switch between
7169 MIME and not MIME from mail to mail, set this variable to ask-no or
7172 Also see ``$forward_decode'' and ``$mime_forward_decode''.
7174 144. $mime_forward_decode
7180 Controls the decoding of complex MIME messages into text/plain when
7181 forwarding a message while ``$mime_forward'' is set. Otherwise
7182 ``$forward_decode'' is used instead.
7184 145. $mime_forward_rest
7190 When forwarding multiple attachments of a MIME message from the recvattach
7191 menu, attachments which cannot be decoded in a reasonable manner will be
7192 attached to the newly composed message if this option is set.
7194 146. $mix_entry_format
7198 Default: "%4n %c %-16s %a"
7200 Availability: Mixmaster
7202 This variable describes the format of a remailer line on the mixmaster
7203 chain selection screen. The following printf(3)-like sequences are
7208 The running number on the menu.
7212 Remailer capabilities.
7216 The remailer's short name.
7220 The remailer's e-mail address.
7226 Default: "mixmaster"
7228 Availability: Mixmaster
7230 This variable contains the path to the Mixmaster binary on your system. It
7231 is used with various sets of parameters to gather the list of known
7232 remailers, and to finally send a message through the mixmaster chain.
7240 Controls whether or not Mutt-ng will move read messages from your spool
7241 mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
7248 Default: "%Y%m%d%h%M%s.G%P%p"
7250 This is the format for the ``local part'' of the Message-Id: header field
7251 generated by Mutt-ng. If this variable is empty, no Message-Id: headers
7252 will be generated. The '%' character marks that certain data will be added
7253 to the string, similar to printf(3). The following characters are allowed:
7257 the current day of month
7273 the current UNIX timestamp (octal)
7281 the current Message-ID prefix (a character rotating with every
7282 Message-ID being generated)
7286 a random integer value (decimal)
7290 a random integer value (hexadecimal)
7298 the current UNIX timestamp (decimal)
7302 the current UNIX timestamp (hexadecimal)
7306 the current year (Y2K compliant)
7312 Note: Please only change this setting if you know what you are doing. Also
7313 make sure to consult RFC2822 to produce technically valid strings.
7317 Type: system property
7319 Value: /opt/freebsd4/mutt-ng/bin
7321 This is a read-only system property and specifies the directory containing
7326 Type: system property
7328 Value: /opt/freebsd4/mutt-ng/doc/muttng
7330 This is a read-only system property and specifies the directory containing
7331 the muttng documentation.
7333 152. $muttng_folder_name
7335 Type: system property
7339 This is a read-only system property and, at runtime, specifies the last
7340 part of the full path or URI of the folder currently open (if any), i.e.
7341 everything after the last ``/''.
7343 153. $muttng_folder_path
7345 Type: system property
7349 This is a read-only system property and, at runtime, specifies the full
7350 path or URI of the folder currently open (if any).
7352 154. $muttng_hcache_backend
7354 Type: system property
7358 This is a read-only system property and specifies the header chaching's
7363 Type: system property
7367 This is a read-only system property and, at runtime, specifies the current
7368 working directory of the muttng binary.
7370 156. $muttng_revision
7372 Type: system property
7376 This is a read-only system property and specifies muttng's subversion
7379 157. $muttng_sysconfdir
7381 Type: system property
7383 Value: /opt/freebsd4/mutt-ng/etc
7385 This is a read-only system property and specifies the directory containing
7386 the muttng system-wide configuration.
7388 158. $muttng_version
7390 Type: system property
7394 This is a read-only system property and specifies muttng's version string.
7402 This variable, when set, makes the thread tree narrower, allowing deeper
7403 threads to fit on the screen.
7411 Operations that expect to transfer a large amount of data over the network
7412 will update their progress every net_inc kilobytes. If set to 0, no
7413 progress messages will be displayed.
7415 See also ``$read_inc'' and ``$write_inc''.
7417 161. $nntp_ask_followup_to
7425 If set, Mutt-ng will prompt you for the Followup-To: header field before
7426 editing the body of an outgoing news article.
7428 162. $nntp_ask_x_comment_to
7436 If set, Mutt-ng will prompt you for the X-Comment-To: header field before
7437 editing the body of an outgoing news article.
7439 163. $nntp_cache_dir
7443 Default: "~/.muttng"
7447 This variable points to directory where Mutt-ng will cache news article
7448 headers. If unset, headers will not be saved at all and will be reloaded
7449 each time when you enter a newsgroup.
7451 As for the header caching in connection with IMAP and/or Maildir, this
7452 drastically increases speed and lowers traffic.
7462 If this variable is set, Mutt-ng will mark all articles in a newsgroup as
7463 read when you leaving it.
7473 This variable controls how many news articles to cache per newsgroup (if
7474 caching is enabled, see $nntp_cache_dir) and how many news articles to
7475 show in the ``index'' menu.
7477 If there're more articles than defined with $nntp_context, all older ones
7478 will be removed/not shown in the index.
7480 166. $nntp_followup_to_poster
7488 If this variable is set and the keyword "poster" is present in the
7489 Followup-To: header field, a follow-up to the newsgroup is not permitted.
7490 The message will be mailed to the submitter of the message via mail.
7492 167. $nntp_group_index_format
7496 Default: "%4C %M%N %5s %-45.45f %d"
7500 This variable allows you to customize the newsgroup browser display to
7501 your personal taste. This string is similar to ``index_format'', but has
7502 its own set of printf(3)-like sequences:
7504 %C current newsgroup number
7505 %d description of newsgroup (retrieved from server)
7507 %M ``-'' if newsgroup not allowed for direct post (moderated for example)
7508 %N ``N'' if newsgroup is new, ``u'' if unsubscribed, blank otherwise
7509 %n number of new articles in newsgroup
7510 %s number of unread articles in newsgroup
7511 %>X right justify the rest of the string and pad with character "X"
7512 %|X pad to the end of the line with character "X"
7523 This variable specifies the name (or address) of the NNTP server to be
7526 It defaults to the value specified via the environment variable
7527 $NNTPSERVER or contained in the file /etc/nntpserver.
7529 You can also specify a username and an alternative port for each
7532 [nntp[s]://][username[:password]@]newsserver[:port]
7534 Note: Using a password as shown and stored in a configuration file
7535 presents a security risk since the superuser of your machine may read it
7536 regardless of the file's permissions.
7546 If set, specifies the program and arguments used to deliver news posted by
7547 Mutt-ng. Otherwise, Mutt-ng posts article using current connection. The
7548 following printf(3)-style sequence is understood:
7553 Example: set inews="/usr/local/bin/inews -hS"
7555 170. $nntp_load_description
7563 This variable controls whether or not descriptions for newsgroups are to
7564 be loaded when subscribing to a newsgroup.
7566 171. $nntp_mail_check
7574 The time in seconds until any operations on a newsgroup except posting a
7575 new article will cause a recheck for new news. If set to 0, Mutt-ng will
7576 recheck on each operation in index (stepping, read article, etc.).
7578 172. $nntp_mime_subject
7586 If unset, an 8-bit ``Subject:'' header field in a news article will not be
7587 encoded according to RFC2047.
7589 Note: Only change this setting if you know what you are doing.
7595 Default: "~/.newsrc"
7599 This file contains information about subscribed newsgroup and articles
7602 To ease the use of multiple news servers, the following printf(3)-style
7603 sequence is understood:
7616 Your password for NNTP account.
7618 Note: Storing passwords in a configuration file presents a security risk
7619 since the superuser of your machine may read it regardless of the file's
7622 175. $nntp_post_moderated
7630 If set to yes, Mutt-ng will post articles to newsgroup that have not
7631 permissions to post (e.g. moderated).
7633 Note: if the newsserver does not support posting to that newsgroup or a
7634 group is totally read-only, that posting will not have any effect.
7636 176. $nntp_reconnect
7644 Controls whether or not Mutt-ng will try to reconnect to a newsserver when
7645 the was connection lost.
7647 177. $nntp_save_unsubscribed
7655 When set, info about unsubscribed newsgroups will be saved into the
7656 ``newsrc'' file and into the news cache.
7658 178. $nntp_show_new_news
7666 If set, the newsserver will be asked for new newsgroups on entering the
7667 browser. Otherwise, it will be done only once for a newsserver. Also
7668 controls whether or not the number of new articles of subscribed
7669 newsgroups will be checked.
7671 179. $nntp_show_only_unread
7679 If set, only subscribed newsgroups that contain unread articles will be
7680 displayed in the newsgroup browser.
7690 Your login name on the NNTP server. If unset and the server requires
7691 authentification, Mutt-ng will prompt you for your account name.
7693 181. $nntp_x_comment_to
7701 If set, Mutt-ng will add a ``X-Comment-To:'' header field (that contains
7702 full name of the original article author) to articles that you followup
7705 182. $operating_system
7711 This specifies the operating system name for the User-Agent: header field.
7712 If this is unset, it will be set to the operating system name that
7713 uname(2) returns. If uname(2) fails, ``UNIX'' will be used.
7715 It may, for example, look as: ``mutt-ng 1.5.9i (Linux)''.
7723 This variable specifies which pager you would like to use to view
7724 messages. ``builtin'' means to use the builtin pager, otherwise this
7725 variable should specify the pathname of the external pager you would like
7728 Using an external pager may have some disadvantages: Additional keystrokes
7729 are necessary because you can't call Mutt-ng functions directly from the
7730 pager, and screen resizes cause lines longer than the screen width to be
7731 badly formatted in the help menu.
7739 This variable controls the number of lines of context that are given when
7740 displaying the next or previous page in the internal pager. By default,
7741 Mutt-ng will display the line after the last one on the screen at the top
7742 of the next page (0 lines of context).
7748 Default: "-%Z- %C/%m: %-20.20n %s"
7750 This variable controls the format of the one-line message ``status''
7751 displayed before each message in either the internal or an external pager.
7752 The valid sequences are listed in the ``$index_format'' section.
7754 186. $pager_index_lines
7760 Determines the number of lines of a mini-index which is shown when in the
7761 pager. The current message, unless near the top or bottom of the folder,
7762 will be roughly one third of the way down this mini-index, giving the
7763 reader the context of a few messages before and after the message. This is
7764 useful, for example, to determine how many messages remain to be read in
7765 the current thread. One of the lines is reserved for the status bar from
7766 the index, so a pager_index_lines of 6 will only show 5 lines of the
7767 actual index. A value of 0 results in no index being shown. If the number
7768 of messages in the current folder is less than pager_index_lines, then the
7769 index will only use as many lines as it needs.
7777 When set, the internal-pager will not move to the next message when you
7778 are at the end of a message and invoke the next-page function.
7780 188. $pgp_auto_decode
7786 If set, Mutt-ng will automatically attempt to decrypt traditional PGP
7787 messages whenever the user performs an operation which ordinarily would
7788 result in the contents of the message being operated on. For example, if
7789 the user displays a pgp-traditional message which has not been manually
7790 checked with the check-traditional-pgp function, Mutt-ng will
7791 automatically check the message for traditional pgp.
7793 189. $pgp_autoinline
7799 This option controls whether Mutt-ng generates old-style inline
7800 (traditional) PGP encrypted or signed messages under certain
7801 circumstances. This can be overridden by use of the pgp-menu, when inline
7804 Note that Mutt-ng might automatically use PGP/MIME for messages which
7805 consist of more than a single MIME part. Mutt-ng can be configured to ask
7806 before sending PGP/MIME messages when inline (traditional) would not work.
7807 See also: ``$pgp_mime_auto''.
7809 Also note that using the old-style PGP message format is
7810 stronglydeprecated. (PGP only)
7812 190. $pgp_check_exit
7818 If set, Mutt-ng will check the exit code of the PGP subprocess when
7819 signing or encrypting. A non-zero exit code means that the subprocess
7822 191. $pgp_clearsign_command
7828 This format is used to create a old-style ``clearsigned'' PGP message.
7830 Note that the use of this format is stronglydeprecated. (PGP only)
7832 192. $pgp_decode_command
7838 This format strings specifies a command which is used to decode
7839 application/pgp attachments.
7841 The PGP command formats have their own set of printf(3)-like sequences:
7845 Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty
7846 string otherwise. Note: This may be used with a %? construct.
7850 Expands to the name of a file containing a message.
7854 Expands to the name of a file containing the signature part of a
7855 multipart/signed attachment when verifying it.
7859 The value of $pgp_sign_as.
7863 One or more key IDs.
7865 For examples on how to configure these formats for the various versions of
7866 PGP which are floating around, see the pgp*.rc and gpg.rc files in the
7867 samples/ subdirectory which has been installed on your system alongside
7868 the documentation. (PGP only)
7870 193. $pgp_decrypt_command
7876 This command is used to decrypt a PGP encrypted message. (PGP only)
7878 194. $pgp_encrypt_only_command
7884 This command is used to encrypt a body part without signing it. (PGP only)
7886 195. $pgp_encrypt_sign_command
7892 This command is used to both sign and encrypt a body part. (PGP only)
7894 196. $pgp_entry_format
7898 Default: "%4n %t%f %4l/0x%k %-4a %2c %u"
7900 This variable allows you to customize the PGP key selection menu to your
7901 personal taste. This string is similar to ``$index_format'', but has its
7902 own set of printf(3)-like sequences:
7934 trust/validity of the key-uid association
7938 date of the key where <s> is an strftime(3) expression
7942 197. $pgp_export_command
7948 This command is used to export a public key from the user's key ring. (PGP
7951 198. $pgp_getkeys_command
7957 This command is invoked whenever Mutt-ng will need public key information.
7958 %r is the only printf(3)-like sequence used with this format. (PGP only)
7962 Type: regular expression
7966 If you assign a text to this variable, then a PGP signature is only
7967 considered verified if the output from $pgp_verify_command contains the
7968 text. Use this variable if the exit code from the command is 0 even for
7969 bad signatures. (PGP only)
7971 200. $pgp_ignore_subkeys
7977 Setting this variable will cause Mutt-ng to ignore OpenPGP subkeys.
7978 Instead, the principal key will inherit the subkeys' capabilities. Unset
7979 this if you want to play interesting key selection games. (PGP only)
7981 201. $pgp_import_command
7987 This command is used to import a key from a message into the user's public
7988 key ring. (PGP only)
7990 202. $pgp_list_pubring_command
7996 This command is used to list the public key ring's contents. The output
7997 format must be analogous to the one used by gpg --list-keys --with-colons.
7999 This format is also generated by the pgpring utility which comes with
8002 203. $pgp_list_secring_command
8008 This command is used to list the secret key ring's contents. The output
8009 format must be analogous to the one used by gpg --list-keys --with-colons.
8011 This format is also generated by the pgpring utility which comes with
8020 If set, use 64 bit PGP key IDs. Unset uses the normal 32 bit Key IDs. (PGP
8029 This option controls whether Mutt-ng will prompt you for automatically
8030 sending a (signed/encrypted) message using PGP/MIME when inline
8031 (traditional) fails (for any reason).
8033 Also note that using the old-style PGP message format is
8034 stronglydeprecated. (PGP only)
8036 206. $pgp_replyinline
8042 Setting this variable will cause Mutt-ng to always attempt to create an
8043 inline (traditional) message when replying to a message which is PGP
8044 encrypted/signed inline. This can be overridden by use of the pgp-menu,
8045 when inline is not required. This option does not automatically detect if
8046 the (replied-to) message is inline; instead it relies on Mutt-ng internals
8047 for previously checked/flagged messages.
8049 Note that Mutt-ng might automatically use PGP/MIME for messages which
8050 consist of more than a single MIME part. Mutt-ng can be configured to ask
8051 before sending PGP/MIME messages when inline (traditional) would not work.
8052 See also: ``$pgp_mime_auto''.
8054 Also note that using the old-style PGP message format is
8055 stronglydeprecated. (PGP only)
8057 207. $pgp_retainable_sigs
8063 If set, signed and encrypted messages will consist of nested
8064 multipart/signed and multipart/encrypted body parts.
8066 This is useful for applications like encrypted and signed mailing lists,
8067 where the outer layer (multipart/encrypted) can be easily removed, while
8068 the inner multipart/signed part is retained. (PGP only)
8070 208. $pgp_show_unusable
8076 If set, Mutt-ng will display non-usable keys on the PGP key selection
8077 menu. This includes keys which have been revoked, have expired, or have
8078 been marked as ``disabled'' by the user. (PGP only)
8086 If you have more than one key pair, this option allows you to specify
8087 which of your private keys to use. It is recommended that you use the
8088 keyid form to specify your key (e.g., ``0x00112233''). (PGP only)
8090 210. $pgp_sign_command
8096 This command is used to create the detached PGP signature for a
8097 multipart/signed PGP/MIME body part. (PGP only)
8105 Specifies how the entries in the ``pgp keys'' menu are sorted. The
8106 following are legal values:
8110 sort alphabetically by user id
8114 sort alphabetically by key id
8118 sort by key creation date
8122 sort by the trust of the key
8124 If you prefer reverse order of the above values, prefix it with
8125 ``reverse-''. (PGP only)
8127 212. $pgp_strict_enc
8133 If set, Mutt-ng will automatically encode PGP/MIME signed messages as
8134 quoted-printable. Please note that unsetting this variable may lead to
8135 problems with non-verifyable PGP signatures, so only change this if you
8136 know what you are doing. (PGP only)
8144 The number of seconds after which a cached passphrase will expire if not
8145 used. Default: 300. (PGP only)
8147 214. $pgp_use_gpg_agent
8153 If set, Mutt-ng will use a possibly-running gpg-agent process. (PGP only)
8155 215. $pgp_verify_command
8161 This command is used to verify PGP signatures. (PGP only)
8163 216. $pgp_verify_key_command
8169 This command is used to verify key information from the key selection
8178 Used in connection with the pipe-message command. When unset, Mutt-ng will
8179 pipe the messages without any preprocessing. When set, Mutt-ng will weed
8180 headers and will attempt to PGP/MIME decode the messages first.
8188 The separator to add between messages when piping a list of tagged
8189 messages to an external Unix command.
8197 Used in connection with the pipe-message command and the ``tag- prefix''
8198 or ``tag-prefix-cond'' operators. If this variable is unset, when piping a
8199 list of tagged messages Mutt-ng will concatenate the messages and will
8200 pipe them as a single folder. When set, Mutt-ng will pipe the messages one
8201 by one. In both cases the messages are piped in the current sorted order,
8202 and the ``$pipe_sep'' separator is added after each message.
8204 220. $pop_auth_try_all
8212 If set, Mutt-ng will try all available methods. When unset, Mutt-ng will
8213 only fall back to other authentication methods if the previous methods are
8214 unavailable. If a method is available but authentication fails, Mutt-ng
8215 will not connect to the POP server.
8217 221. $pop_authenticators
8225 This is a colon-delimited list of authentication methods Mutt-ng may
8226 attempt to use to log in to an POP server, in the order Mutt-ng should try
8227 them. Authentication methods are either ``user'', ``apop'' or any SASL
8228 mechanism, eg ``digest-md5'', ``gssapi'' or ``cram-md5''.
8230 This parameter is case-insensitive. If this parameter is unset (the
8231 default) Mutt-ng will try all available methods, in order from most-secure
8234 Example: set pop_authenticators="digest-md5:apop:user"
8244 If set, Mutt-ng will delete successfully downloaded messages from the POP
8245 server when using the ``fetch-mail'' function. When unset, Mutt-ng will
8246 download messages but also leave them on the POP server.
8256 The name of your POP server for the ``fetch-mail'' function. You can also
8257 specify an alternative port, username and password, i.e.:
8259 [pop[s]://][username[:password]@]popserver[:port]
8261 Note: Storing passwords in a configuration file presents a security risk
8262 since the superuser of your machine may read it regardless of the file's
8273 If this variable is set, Mutt-ng will try to use the ``LAST'' POP command
8274 for retrieving only unread messages from the POP server when using the
8275 ``fetch-mail'' function.
8277 225. $pop_mail_check
8285 This variable configures how often (in seconds) POP should look for new
8296 Specifies the password for your POP account. If unset, Mutt-ng will prompt
8297 you for your password when you open POP mailbox.
8299 Note: Storing passwords in a configuration file presents a security risk
8300 since the superuser of your machine may read it regardless of the file's
8311 Controls whether or not Mutt-ng will try to reconnect to a POP server when
8312 the connection is lost.
8322 Your login name on the POP server.
8324 This variable defaults to your user name on the local machine.
8326 229. $post_indent_string
8332 Similar to the ``$attribution'' variable, Mutt-ng will append this string
8333 after the inclusion of a message which is being replied to.
8341 Controls whether or not messages are saved in the ``$postponed'' mailbox
8342 when you elect not to send immediately.
8348 Default: "~/postponed"
8350 Mutt-ng allows you to indefinitely ``postpone sending a message'' which
8351 you are editing. When you choose to postpone a message, Mutt-ng saves it
8352 in the mailbox specified by this variable. Also see the ``$postpone''
8361 If set, a shell command to be executed if Mutt-ng fails to establish a
8362 connection to the server. This is useful for setting up secure
8363 connections, e.g. with ssh(1). If the command returns a nonzero status,
8364 Mutt-ng gives up opening the server. Example:
8366 preconnect="ssh -f -q -L 1234:mailhost.net:143 mailhost.net sleep 20 <
8367 /dev/null > /dev/null"
8369 Mailbox ``foo'' on mailhost.net can now be reached as
8370 ``{localhost:1234}foo''.
8372 Note: For this example to work, you must be able to log in to the remote
8373 machine without having to enter a password.
8381 Controls whether or not Mutt-ng really prints messages. This is set to
8382 ask-no by default, because some people accidentally hit ``p'' often.
8390 This specifies the command pipe that should be used to print messages.
8398 Used in connection with the print-message command. If this option is set,
8399 the message is decoded before it is passed to the external command
8400 specified by $print_command. If this option is unset, no processing will
8401 be applied to the message when printing it. The latter setting may be
8402 useful if you are using some advanced printer filter which is able to
8403 properly format e-mail messages for printing.
8411 Used in connection with the print-message command. If this option is set,
8412 the command specified by $print_command is executed once for each message
8413 which is to be printed. If this option is unset, the command specified by
8414 $print_command is executed only once, and all the messages are
8415 concatenated, with a form feed as the message separator.
8417 Those who use the enscript(1) program's mail-printing mode will most
8418 likely want to set this option.
8426 If you use an external ``$pager'', setting this variable will cause
8427 Mutt-ng to prompt you for a command when the pager exits rather than
8428 returning to the index menu. If unset, Mutt-ng will return to the index
8429 menu when the external pager exits.
8437 This specifies the command that Mutt-ng will use to make external address
8438 queries. The string should contain a %s, which will be substituted with
8439 the query string the user types. See ``query'' for more information.
8447 This variable controls whether ``quit'' and ``exit'' actually quit from
8448 Mutt-ng. If it set to yes, they do quit, if it is set to no, they have no
8449 effect, and if it is set to ask-yes or ask-no, you are prompted for
8450 confirmation when you try to quit.
8458 Controls whether or not empty lines will be quoted using
8467 Controls how quoted lines will be quoted. If set, one quote character will
8468 be added to the end of existing prefix. Otherwise, quoted lines will be
8469 prepended by ``indent_string''.
8473 Type: regular expression
8475 Default: "^([ \t]*[|>:}#])+"
8477 A regular expression used in the internal-pager to determine quoted
8478 sections of text in the body of a message.
8480 Note: In order to use the quotedx patterns in the internal pager, you need
8481 to set this to a regular expression that matches exactly the quote
8482 characters at the beginning of quoted lines.
8490 If set to a value greater than 0, Mutt-ng will display which message it is
8491 currently on when reading a mailbox. The message is printed after read_inc
8492 messages have been read (e.g., if set to 25, Mutt-ng will print a message
8493 when it reads message 25, and then again when it gets to message 50). This
8494 variable is meant to indicate progress when reading large mailboxes which
8495 may take some time. When set to 0, only a single message will appear
8496 before the reading the mailbox.
8498 Also see the ``$write_inc'' variable.
8506 If set, all folders are opened in read-only mode.
8514 This variable specifies what ``real'' or ``personal'' name should be used
8515 when sending messages.
8517 By default, this is the GECOS field from /etc/passwd.
8519 Note: This variable will not be used when the user has set a real name in
8528 Controls whether or not Mutt-ng recalls postponed messages when composing
8529 a new message. Also see ``$postponed''.
8531 Setting this variable to yes is not generally useful, and thus not
8540 This specifies the file into which your outgoing messages should be
8541 appended. (This is meant as the primary method for saving a copy of your
8542 messages, but another way to do this is using the ``my_hdr'' command to
8543 create a Bcc: header field with your email address in it.)
8545 The value of $record is overridden by the ``$force_name'' and
8546 ``$save_name'' variables, and the ``fcc-hook'' command.
8550 Type: regular expression
8552 Default: "^(re([\[0-9\]+])*|aw):[ \t]*"
8554 A regular expression used to recognize reply messages when threading and
8555 replying. The default value corresponds to the English ``Re:'' and the
8564 If unset and you are replying to a message sent by you, Mutt-ng will
8565 assume that you want to reply to the recipients of that message rather
8574 If set, when replying to a message, Mutt-ng will use the address listed in
8575 the ``Reply-To:'' header field as the recipient of the reply. If unset, it
8576 will use the address in the ``From:'' header field instead.
8578 This option is useful for reading a mailing list that sets the
8579 ``Reply-To:'' header field to the list address and you want to send a
8580 private message to the author of a message.
8588 When set, the cursor will be automatically advanced to the next (possibly
8589 undeleted) message whenever a command that modifies the current message is
8598 This variable controls whether or not Mutt-ng will display the
8599 ``personal'' name from your aliases in the index menu if it finds an alias
8600 that matches the message's sender. For example, if you have the following
8603 alias juser abd30425@somewhere.net (Joe User)
8605 and then you receive mail which contains the following header:
8607 From: abd30425@somewhere.net
8609 It would be displayed in the index menu as ``Joe User'' instead of
8610 ``abd30425@somewhere.net.'' This is useful when the person's e-mail
8611 address is not human friendly (like CompuServe addresses).
8619 It may sometimes arrive that you receive mail to a certain machine, move
8620 the messages to another machine, and reply to some the messages from
8621 there. If this variable is set, the default From: line of the reply
8622 messages is built using the address where you received the messages you
8623 are replying to if that address matches your alternates. If the variable
8624 is unset, or the address that would be used doesn't match your alternates,
8625 the From: line will use your address on the current machine.
8627 254. $reverse_realname
8633 This variable fine-tunes the behaviour of the reverse_name feature. When
8634 it is set, Mutt-ng will use the address from incoming messages as-is,
8635 possibly including eventual real names. When it is unset, Mutt-ng will
8636 override any such real names with the setting of the realname variable.
8638 255. $rfc2047_parameters
8644 When this variable is set, Mutt-ng will decode RFC-2047-encoded MIME
8645 parameters. You want to set this variable when Mutt-ng suggests you to
8646 save attachments to files named like this:
8648 =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?=
8650 When this variable is set interactively, the change doesn't have the
8651 desired effect before you have changed folders.
8653 Note that this use of RFC 2047's encoding is explicitly, prohibited by the
8654 standard, but nevertheless encountered in the wild.
8656 Also note that setting this parameter will not have the effect that
8657 Mutt-ng generates this kind of encoding. Instead, Mutt-ng will
8658 unconditionally use the encoding specified in RFC 2231.
8666 If set, Mutt-ng will take the sender's full address when choosing a
8667 default folder for saving a mail. If ``$save_name'' or ``$force_name'' is
8668 set too, the selection of the fcc folder will be changed as well.
8676 When unset, mailboxes which contain no saved messages will be removed when
8677 closed (the exception is ``$spoolfile'' which is never removed). If set,
8678 mailboxes are never removed.
8680 Note: This only applies to mbox and MMDF folders, Mutt-ng does not delete
8681 MH and Maildir directories.
8689 This variable controls how copies of outgoing messages are saved. When
8690 set, a check is made to see if a mailbox specified by the recipient
8691 address exists (this is done by searching for a mailbox in the ``$folder''
8692 directory with the username part of the recipient address). If the mailbox
8693 exists, the outgoing message will be saved to that mailbox, otherwise the
8694 message is saved to the ``$record'' mailbox.
8696 Also see the ``$force_name'' variable.
8704 When this variable is unset, scoring is turned off. This can be useful to
8705 selectively disable scoring for certain folders when the
8706 ``$score_threshold_delete'' variable and friends are used.
8708 260. $score_threshold_delete
8714 Messages which have been assigned a score equal to or lower than the value
8715 of this variable are automatically marked for deletion by Mutt-ng. Since
8716 Mutt-ng scores are always greater than or equal to zero, the default
8717 setting of this variable will never mark a message for deletion.
8719 261. $score_threshold_flag
8725 Messages which have been assigned a score greater than or equal to this
8726 variable's value are automatically marked ``flagged''.
8728 262. $score_threshold_read
8734 Messages which have been assigned a score equal to or lower than the value
8735 of this variable are automatically marked as read by Mutt-ng. Since
8736 Mutt-ng scores are always greater than or equal to zero, the default
8737 setting of this variable will never mark a message read.
8743 Default: "us-ascii:iso-8859-1:utf-8"
8745 A list of character sets for outgoing messages. Mutt-ng will use the first
8746 character set into which the text can be converted exactly. If your
8747 ``$charset'' is not iso-8859-1 and recipients may not understand UTF-8, it
8748 is advisable to include in the list an appropriate widely used standard
8749 character set (such as iso-8859-2, koi8-r or iso-2022-jp) either instead
8750 of or after iso-8859-1.
8756 Default: "/usr/sbin/sendmail -oem -oi"
8758 Specifies the program and arguments used to deliver mail sent by Mutt-ng.
8759 Mutt-ng expects that the specified program interprets additional arguments
8760 as recipient addresses.
8768 Specifies the number of seconds to wait for the ``$sendmail'' process to
8769 finish before giving up and putting delivery in the background.
8771 Mutt-ng interprets the value of this variable as follows:
8775 number of seconds to wait for sendmail to finish before continuing
8779 wait forever for sendmail to finish
8783 always put sendmail in the background without waiting
8785 Note that if you specify a value other than 0, the output of the child
8786 process will be put in a temporary file. If there is some error, you will
8787 be informed as to where to find the output.
8795 Command to use when spawning a subshell. By default, the user's login
8796 shell from /etc/passwd is used.
8798 267. $sidebar_boundary
8804 When the sidebar is displayed and $sidebar_shorten_hierarchy is set, this
8805 variable specifies the characters at which to split a folder name into
8806 ``hierarchy items.''
8814 This specifies the delimiter between the sidebar (if visible) and other
8817 269. $sidebar_newmail_only
8823 If set, only folders with new mail will be shown in the sidebar.
8825 270. $sidebar_number_format
8829 Default: "%m%?n?(%n)?%?f?[%f]?"
8831 This variable controls how message counts are printed when the sidebar is
8832 enabled. If this variable is empty (and only if), no numbers will be
8833 printed and mutt-ng won't frequently count mail (which may be a great
8834 speedup esp. with mbox-style mailboxes.)
8836 The following printf(3)-like sequences are supported all of which may be
8841 Number of deleted messages. 1)
8845 Number of flagged messages.
8849 Total number of messages.
8853 Total number of messages shown, i.e. not hidden by a limit. 1)
8857 Number of new messages.
8861 Number of tagged messages. 1)
8863 1) These expandos only have a non-zero value for the current mailbox and
8864 will always be zero otherwise.
8866 271. $sidebar_shorten_hierarchy
8872 When set, the ``hierarchy'' of the sidebar entries will be shortened only
8873 if they cannot be printed in full length (because ``$sidebar_width'' is
8874 set to a too low value). For example, if the newsgroup name
8875 ``de.alt.sysadmin.recovery'' doesn't fit on the screen, it'll get
8876 shortened ``d.a.s.recovery'' while ``de.alt.d0'' still would and thus will
8879 At which characters this compression is done is controled via the
8880 $sidebar_boundary variable.
8882 272. $sidebar_visible
8888 This specifies whether or not to show the sidebar (a list of folders
8889 specified with the ``mailboxes'' command).
8897 The width of the sidebar.
8905 If set, a line containing ``-- '' (dash, dash, space) will be inserted
8906 before your ``$signature''. It is strongly recommended that you not unset
8907 this variable unless your ``signature'' contains just your name. The
8908 reason for this is because many software packages use ``-- \n'' to detect
8911 For example, Mutt-ng has the ability to highlight the signature in a
8912 different color in the builtin pager.
8920 If set, the signature will be included before any quoted or forwarded
8921 text. It is strongly recommended that you do not set this variable unless
8922 you really know what you are doing, and are prepared to take some heat
8923 from netiquette guardians.
8929 Default: "~/.signature"
8931 Specifies the filename of your signature, which is appended to all
8932 outgoing messages. If the filename ends with a pipe (``|''), it is assumed
8933 that filename is a shell command and input should be read from its stdout.
8935 277. $signoff_string
8941 If set, this string will be inserted before the signature. This is useful
8942 for people that want to sign off every message they send with their name.
8944 If you want to insert your website's URL, additional contact information
8945 or witty quotes into your mails, better use a signature file instead of
8952 Default: "~f %s | ~s %s"
8954 Specifies how Mutt-ng should expand a simple search into a real search
8955 pattern. A simple search is one that does not contain any of the ~
8956 operators. See ``patterns'' for more information on search patterns.
8958 For example, if you simply type ``joe'' at a search or limit prompt,
8959 Mutt-ng will automatically expand it to the value specified by this
8960 variable. For the default value it would be:
8970 Specifies time, in seconds, to pause while displaying certain
8971 informational messages, while moving from folder to folder and after
8972 expunging messages from the current folder. The default is to pause one
8973 second, so a value of zero for this option suppresses the pause.
8981 Controls the display of lines longer than the screen width in the internal
8982 pager. If set, long lines are wrapped at a word boundary. If unset, lines
8983 are simply wrapped at the screen edge. Also see the ``$markers'' variable.
8987 Type: regular expression
8989 Default: "(>From )|(:[-^]?[][)(><}{|/DP])"
8991 The pager uses this variable to catch some common false positives of
8992 ``$quote_regexp'', most notably smileys in the beginning of a line
8994 282. $smime_ask_cert_label
9000 This flag controls whether you want to be asked to enter a label for a
9001 certificate about to be added to the database or not. It is set by
9002 default. (S/MIME only)
9004 283. $smime_ca_location
9010 This variable contains the name of either a directory, or a file which
9011 contains trusted certificates for use with OpenSSL. (S/MIME only)
9013 284. $smime_certificates
9019 Since there is no pubring/secring as with PGP, Mutt-ng has to handle
9020 storage and retrieval of keys by itself. This is very basic right now, and
9021 keys and certificates are stored in two different directories, both named
9022 as the hash-value retrieved from OpenSSL. There is an index file which
9023 contains mailbox-address keyid pairs, and which can be manually edited.
9024 This one points to the location of the certificates. (S/MIME only)
9026 285. $smime_decrypt_command
9032 This format string specifies a command which is used to decrypt
9033 application/x-pkcs7-mime attachments.
9035 The OpenSSL command formats have their own set of printf(3)-like sequences
9040 Expands to the name of a file containing a message.
9044 Expands to the name of a file containing the signature part of a
9045 multipart/signed attachment when verifying it.
9049 The key-pair specified with $smime_default_key
9053 One or more certificate IDs.
9057 The algorithm used for encryption.
9061 CA location: Depending on whether $smime_ca_location points to a
9062 directory or file, this expands to "-CApath $smime_ca_location" or
9063 "-CAfile $smime_ca_location".
9065 For examples on how to configure these formats, see the smime.rc in the
9066 samples/ subdirectory which has been installed on your system alongside
9067 the documentation. (S/MIME only)
9069 286. $smime_decrypt_use_default_key
9075 If set (default) this tells Mutt-ng to use the default key for decryption.
9076 Otherwise, if manage multiple certificate-key-pairs, Mutt-ng will try to
9077 use the mailbox-address to determine the key to use. It will ask you to
9078 supply a key, if it can't find one. (S/MIME only)
9080 287. $smime_default_key
9086 This is the default key-pair to use for signing. This must be set to the
9087 keyid (the hash-value that OpenSSL generates) to work properly (S/MIME
9090 288. $smime_encrypt_command
9096 This command is used to create encrypted S/MIME messages. (S/MIME only)
9098 289. $smime_encrypt_with
9104 This sets the algorithm that should be used for encryption. Valid choices
9105 are ``des'', ``des3'', ``rc2-40'', ``rc2-64'', ``\frc2-128''.
9107 If unset ``3des'' (TripleDES) is used. (S/MIME only)
9109 290. $smime_get_cert_command
9115 This command is used to extract X509 certificates from a PKCS7 structure.
9118 291. $smime_get_cert_email_command
9124 This command is used to extract the mail address(es) used for storing X509
9125 certificates, and for verification purposes (to check whether the
9126 certificate was issued for the sender's mailbox). (S/MIME only)
9128 292. $smime_get_signer_cert_command
9134 This command is used to extract only the signers X509 certificate from a
9135 S/MIME signature, so that the certificate's owner may get compared to the
9136 email's ``From:'' header field. (S/MIME only)
9138 293. $smime_import_cert_command
9144 This command is used to import a certificate via smime_keysng. (S/MIME
9147 294. $smime_is_default
9153 The default behaviour of Mutt-ng is to use PGP on all auto-sign/encryption
9154 operations. To override and to use OpenSSL instead this must be set.
9156 However, this has no effect while replying, since Mutt-ng will
9157 automatically select the same application that was used to sign/encrypt
9158 the original message.
9160 (Note that this variable can be overridden by unsetting $crypt_autosmime.)
9169 Since there is no pubring/secring as with PGP, Mutt-ng has to handle
9170 storage ad retrieval of keys/certs by itself. This is very basic right
9171 now, and stores keys and certificates in two different directories, both
9172 named as the hash-value retrieved from OpenSSL. There is an index file
9173 which contains mailbox-address keyid pair, and which can be manually
9174 edited. This one points to the location of the private keys. (S/MIME only)
9176 296. $smime_pk7out_command
9182 This command is used to extract PKCS7 structures of S/MIME signatures, in
9183 order to extract the public X509 certificate(s). (S/MIME only)
9185 297. $smime_sign_command
9191 This command is used to created S/MIME signatures of type
9192 multipart/signed, which can be read by all mail clients. (S/MIME only)
9194 298. $smime_sign_opaque_command
9200 This command is used to created S/MIME signatures of type
9201 application/x-pkcs7-signature, which can only be handled by mail clients
9202 supporting the S/MIME extension. (S/MIME only)
9210 The number of seconds after which a cached passphrase will expire if not
9213 300. $smime_verify_command
9219 This command is used to verify S/MIME signatures of type multipart/signed.
9222 301. $smime_verify_opaque_command
9228 This command is used to verify S/MIME signatures of type
9229 application/x-pkcs7-mime. (S/MIME only)
9239 If this variable is non-empty, it'll be used as the envelope sender. If
9240 it's empty (the default), the value of the regular From: header will be
9243 This may be necessary as some providers don't allow for arbitrary values
9244 as the envelope sender but only a particular one which may not be the same
9245 as the user's desired From: header.
9255 Defines the SMTP host which will be used to deliver mail, as opposed to
9256 invoking the sendmail binary. Setting this variable overrides the value of
9257 ``$sendmail'', and any associated variables.
9267 Defines the password to use with SMTP AUTH. If ``$smtp_user'' is set, but
9268 this variable is not, you will be prompted for a password when sending.
9270 Note: Storing passwords in a configuration file presents a security risk
9271 since the superuser of your machine may read it regardless of the file's
9282 Defines the port that the SMTP host is listening on for mail delivery.
9283 Must be specified as a number.
9285 Defaults to 25, the standard SMTP port, but RFC 2476-compliant SMTP
9286 servers will probably desire 587, the mail submission port.
9294 Availability: SMTP (and SSL)
9296 Defines wether to use STARTTLS. If this option is set to ``required'' and
9297 the server does not support STARTTLS or there is an error in the TLS
9298 Handshake, the connection will fail. Setting this to ``enabled'' will try
9299 to start TLS and continue without TLS in case of an error. Muttng still
9300 needs to have SSL support enabled in order to use it.
9310 Defines the username to use with SMTP AUTH. Setting this variable will
9311 cause Mutt-ng to attempt to use SMTP AUTH when sending.
9319 Specifies how to sort messages in the index menu. Valid values are:
9324 mailbox-order (unsorted)
9333 You may optionally use the ``reverse-'' prefix to specify reverse sorting
9334 order (example: set sort=reverse-date-sent).
9342 Specifies how the entries in the ``alias'' menu are sorted. The following
9345 address (sort alphabetically by email address)
9346 alias (sort alphabetically by alias name)
9347 unsorted (leave in order specified in .muttrc)
9356 When sorting by threads, this variable controls how threads are sorted in
9357 relation to other threads, and how the branches of the thread trees are
9358 sorted. This can be set to any value that ``$sort'' can, except threads
9359 (in that case, Mutt-ng will just use date-sent). You can also specify the
9360 ``last-'' prefix in addition to ``reverse-'' prefix, but last- must come
9361 after reverse-. The last- prefix causes messages to be sorted against its
9362 siblings by which has the last descendant, using the rest of sort_aux as
9365 For instance, set sort_aux=last-date-received would mean that if a new
9366 message is received in a thread, that thread becomes the last one
9367 displayed (or the first, if you have set sort=reverse-threads.)
9369 Note: For reversed ``$sort'' order $sort_aux is reversed again (which is
9370 not the right thing to do, but kept to not break any existing
9371 configuration setting).
9379 Specifies how to sort entries in the file browser. By default, the entries
9380 are sorted alphabetically. Valid values:
9382 alpha (alphabetically)
9388 You may optionally use the ``reverse-'' prefix to specify reverse sorting
9389 order (example: set sort_browser=reverse-date).
9397 This variable is only useful when sorting by threads with
9398 ``$strict_threads'' unset. In that case, it changes the heuristic Mutt-ng
9399 uses to thread messages by subject. With $sort_reset, Mutt-ng will only
9400 attach a message as the child of another message by subject if the subject
9401 of the child message starts with a substring matching the setting of
9402 ``$reply_regexp''. With $sort_reunset, Mutt-ng will attach the message
9403 whether or not this is the case, as long as the non-``$reply_regexp''
9404 parts of both messages are identical.
9406 313. $spam_separator
9412 ``spam_separator'' controls what happens when multiple spam headers are
9413 matched: if unset, each successive header will overwrite any previous
9414 matches value for the spam label. If set, each successive match will
9415 append to the previous, using ``spam_separator'' as a separator.
9423 If your spool mailbox is in a non-default place where Mutt-ng cannot find
9424 it, you can specify its location with this variable. Mutt-ng will
9425 automatically set this variable to the value of the environment variable
9426 $MAIL if it is not set.
9428 315. $ssl_ca_certificates_file
9434 This variable specifies a file containing trusted CA certificates. Any
9435 server certificate that is signed with one of these CA certificates are
9436 also automatically accepted.
9438 Example: set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt
9440 316. $ssl_client_cert
9448 The file containing a client certificate and its associated private key.
9456 If this variable is set, mutt-ng will require that all connections to
9457 remote servers be encrypted. Furthermore it will attempt to negotiate TLS
9458 even if the server does not advertise the capability, since it would
9459 otherwise have to abort the connection anyway. This option supersedes
9462 318. $ssl_min_dh_prime_bits
9468 Availability: GNUTLS
9470 This variable specifies the minimum acceptable prime size (in bits) for
9471 use in any Diffie-Hellman key exchange. A value of 0 will use the default
9472 from the GNUTLS library.
9480 Availability: SSL or GNUTLS
9482 If set (the default), Mutt-ng will attempt to use STARTTLS on servers
9483 advertising the capability. When unset, Mutt-ng will not attempt to use
9484 STARTTLS regardless of the server's capabilities.
9494 This variables specifies whether to attempt to use SSLv2 in the SSL
9495 authentication process.
9503 Availability: SSL or GNUTLS
9505 This variables specifies whether to attempt to use SSLv3 in the SSL
9506 authentication process.
9514 Availability: SSL or GNUTLS
9516 This variables specifies whether to attempt to use TLSv1 in the SSL
9517 authentication process.
9519 323. $ssl_usesystemcerts
9527 If set to yes, Mutt-ng will use CA certificates in the system-wide
9528 certificate store when checking if server certificate is signed by a
9537 Controls the characters used by the ``%r'' indicator in
9538 ``$status_format''. The first character is used when the mailbox is
9539 unchanged. The second is used when the mailbox has been changed, and it
9540 needs to be resynchronized. The third is used if the mailbox is in
9541 read-only mode, or if the mailbox will not be written when exiting that
9542 mailbox (You can toggle whether to write changes to a mailbox with the
9543 toggle-write operation, bound by default to ``%''). The fourth is used to
9544 indicate that the current folder has been opened in attach-message mode
9545 (Certain operations like composing a new mail, replying, forwarding, etc.
9546 are not permitted in this mode).
9552 Default: "-%r-Mutt-ng: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d?
9553 Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l?
9554 %l?]---(%s/%S)-%>-(%P)---"
9556 Controls the format of the status line displayed in the index menu. This
9557 string is similar to ``$index_format'', but has its own set of
9558 printf(3)-like sequences:
9562 number of mailboxes with new mail *
9566 the short pathname of the current mailbox
9570 number of deleted messages *
9574 the full pathname of the current mailbox
9578 number of flagged messages *
9586 size (in bytes) of the current mailbox *
9590 size (in bytes) of the messages shown (i.e., which match the
9595 the number of messages in the mailbox *
9599 the number of messages shown (i.e., which match the current limit)
9604 number of new messages in the mailbox *
9608 number of old unread messages *
9612 number of postponed messages *
9616 percentage of the way through the index
9620 modified/read-only/won't-write/attach-message indicator, according
9625 current sorting mode ($sort)
9629 current aux sorting method ($sort_aux)
9633 number of tagged messages *
9637 number of unread messages *
9641 Mutt-ng version string
9645 currently active limit pattern, if any *
9649 right justify the rest of the string and pad with "X"
9653 pad to the end of the line with "X"
9655 * = can be optionally printed if nonzero
9657 Some of the above sequences can be used to optionally print a string if
9658 their value is nonzero. For example, you may only want to see the number
9659 of flagged messages if such messages exist, since zero is not particularly
9660 meaningful. To optionally print a string based upon one of the above
9661 sequences, the following construct is used
9663 %?<sequence_char>?<optional_string>?
9665 where sequence_char is a character from the table above, and
9666 optional_string is the string you would like printed if sequence_char is
9667 nonzero. optional_stringmay contain other sequences as well as normal
9668 text, but you may not nest optional strings.
9670 Here is an example illustrating how to optionally print the number of new
9671 messages in a mailbox:
9673 %?n?%n new messages.?
9675 Additionally you can switch between two strings, the first one, if a value
9676 is zero, the second one, if the value is nonzero, by using the following
9679 %?<sequence_char>?<if_string>&<else_string>?
9681 You can additionally force the result of any printf(3)-like sequence to be
9682 lowercase by prefixing the sequence character with an underscore (_) sign.
9683 For example, if you want to display the local hostname in lowercase, you
9688 If you prefix the sequence character with a colon (:) character, Mutt-ng
9689 will replace any dots in the expansion by underscores. This might be
9690 helpful with IMAP folders that don't like dots in folder names.
9698 Setting this variable causes the ``status bar'' to be displayed on the
9699 first line of the screen rather than near the bottom.
9707 With mailto: style links, a body as well as arbitrary header information
9708 may be embedded. This may lead to (user) headers being overwriten without
9709 note if ``$edit_headers'' is unset.
9711 If this variable is set, mutt-ng is strict and allows anything to be
9712 changed. If it's unset, all headers given will be prefixed with
9713 ``X-Mailto-'' and the message including headers will be shown in the
9714 editor regardless of what ``$edit_headers'' is set to.
9722 When unset, non MIME-compliant messages that doesn't have any charset
9723 indication in the ``Content-Type:'' header field can be displayed (non
9724 MIME-compliant messages are often generated by old mailers or buggy
9725 mailers like MS Outlook Express). See also $assumed_charset.
9727 This option also replaces linear-white-space between encoded-word and
9728 *text to a single space to prevent the display of MIME-encoded
9729 ``Subject:'' header field from being devided into multiple lines.
9731 329. $strict_threads
9737 If set, threading will only make use of the ``In-Reply-To:'' and
9738 ``References:'' header fields when you ``$sort'' by message threads. By
9739 default, messages with the same subject are grouped together in ``pseudo
9740 threads.'' This may not always be desirable, such as in a personal mailbox
9741 where you might have several unrelated messages with the subject ``hi''
9742 which will get grouped together. See also ``$sort_re'' for a less drastic
9743 way of controlling this behaviour.
9751 When set, mutt-ng will remove the trailing part of the ``Subject:'' line
9752 which matches $strip_was_regex when replying. This is useful to properly
9753 react on subject changes and reduce ``subject noise.'' (esp. in Usenet)
9755 331. $strip_was_regex
9757 Type: regular expression
9759 Default: "\([Ww][Aa][RrSs]: .*\)[ ]*$"
9761 When non-empty and $strip_was is set, mutt-ng will remove this trailing
9762 part of the ``Subject'' line when replying if it won't be empty
9771 If set, attachments with flowed format will have their quoting
9772 ``stuffed'', i.e. a space will be inserted between the quote characters
9773 and the actual text.
9781 When unset, Mutt-ng won't stop when the user presses the terminal's susp
9782 key, usually CTRL+Z. This is useful if you run Mutt-ng inside an xterm
9783 using a command like ``xterm -e muttng.''
9791 When set, Mutt-ng will generate text/plain; format=flowed attachments.
9792 This format is easier to handle for some mailing software, and generally
9793 just looks like ordinary text. To actually make use of this format's
9794 features, you'll need support in your editor.
9796 Note that $indent_string is ignored when this option is set.
9798 335. $thorough_search
9804 Affects the ~b and ~h search operations described in section ``patterns''
9805 above. If set, the headers and attachments of messages to be searched are
9806 decoded before searching. If unset, messages are searched as they appear
9809 336. $thread_received
9815 When set, Mutt-ng uses the date received rather than the date sent to
9816 thread messages by subject.
9824 When set, the internal-pager will pad blank lines to the bottom of the
9825 screen with a tilde (~).
9833 This variable controls the number of seconds Mutt-ng will wait for a key
9834 to be pressed in the main menu before timing out and checking for new
9835 mail. A value of zero or less will cause Mutt-ng to never time out.
9843 This variable allows you to specify where Mutt-ng will place its temporary
9844 files needed for displaying and composing messages. If this variable is
9845 not set, the environment variable $TMPDIR is used. If $TMPDIR is not set
9846 then "/tmp" is used.
9854 Controls the character used to indicate mail addressed to you. The first
9855 character is the one used when the mail is NOT addressed to your address
9856 (default: space). The second is used when you are the only recipient of
9857 the message (default: +). The third is when your address appears in the
9858 ``To:'' header field, but you are not the only recipient of the message
9859 (default: T). The fourth character is used when your address is specified
9860 in the ``Cc:'' header field, but you are not the only recipient. The fifth
9861 character is used to indicate mail that was sent by you. The sixth
9862 character is used to indicate when a mail was sent to a mailing-list
9863 you're subscribe to (default: L).
9871 If set, this variable specifies the path of the trash folder where the
9872 mails marked for deletion will be moved, instead of being irremediably
9875 Note: When you delete a message in the trash folder, it is really deleted,
9876 so that there is no way to recover mail.
9884 Setting this variable will cause Mutt-ng to open a pipe to a command
9885 instead of a raw socket. You may be able to use this to set up
9886 preauthenticated connections to your IMAP/POP3 server. Example:
9888 tunnel="ssh -q mailhost.net /usr/local/libexec/imapd"
9890 Note: For this example to work you must be able to log in to the remote
9891 machine without having to enter a password.
9899 This sets the umask that will be used by Mutt-ng when creating all kinds
9900 of files. If unset, the default value is 077.
9902 344. $uncollapse_jump
9908 When set, Mutt-ng will jump to the next unread message, if any, when the
9909 current thread is uncollapsed.
9917 Warning: do not set this variable unless you are using a version of
9918 sendmail which supports the -B8BITMIME flag (such as sendmail 8.8.x) or in
9919 connection with the SMTP support via libESMTP. Otherwise you may not be
9922 When set, Mutt-ng will either invoke ``$sendmail'' with the -B8BITMIME
9923 flag when sending 8-bit messages to enable ESMTP negotiation or tell
9932 When set, Mutt-ng will qualify all local addresses (ones without the @host
9933 portion) with the value of ``$hostname''. If unset, no addresses will be
9942 When set, Mutt-ng will generate the ``From:'' header field when sending
9943 messages. If unset, no ``From:'' header field will be generated unless the
9944 user explicitly sets one using the ``my_hdr'' command.
9954 When set, Mutt-ng will show you international domain names decoded.
9956 Note: You can use IDNs for addresses even if this is unset. This variable
9957 only affects decoding.
9965 When set, Mutt-ng will look for IPv6 addresses of hosts it tries to
9966 contact. If this option is unset, Mutt-ng will restrict itself to IPv4
9967 addresses. Normally, the default should work.
9975 Specifies the visual editor to invoke when the ~v command is given in the
9984 Controls whether Mutt-ng will ask you to press a key after shell- escape,
9985 pipe-message, pipe-entry, print-message, and print-entry commands.
9987 It is also used when viewing attachments with ``auto_view'', provided that
9988 the corresponding mailcap entry has a needsterminal flag, and the external
9989 program is interactive.
9991 When set, Mutt-ng will always ask for a key. When unset, Mutt-ng will wait
9992 for a key only if the external command returned a non-zero status.
10000 When set, Mutt-ng will weed headers when displaying, forwarding, printing,
10001 or replying to messages.
10009 Controls whether searches wrap around the end of the mailbox.
10011 When set, searches will wrap around the first (or last) message. When
10012 unset, searches will not wrap.
10020 Controls the size of the margin remaining at the right side of the
10021 terminal when Mutt-ng's pager does smart wrapping.
10029 Controls whether Mutt-ng writes out the Bcc header when preparing messages
10030 to be sent. Exim users may wish to unset this.
10038 When writing a mailbox, a message will be printed every write_inc messages
10039 to indicate progress. If set to 0, only a single message will be displayed
10040 before writing a mailbox.
10042 Also see the ``$read_inc'' variable.
10048 Default: "M%?n?AIL&ail?"
10050 Controls the format of the X11 icon title, as long as $xterm_set_titles is
10051 set. This string is identical in formatting to the one used by
10052 ``$status_format''.
10060 If $xterm_set_titles is set, this string will be used to set the title
10061 when leaving mutt-ng. For terminal-based programs, there's no easy and
10062 portable way to read the current title so mutt-ng cannot read it upon
10063 startup and restore it when exiting.
10065 Based on the xterm FAQ, the following might work:
10067 set xterm_leave = "`test x$DISPLAY != x && xprop -id $WINDOWID | grep
10068 WM_NAME | cut -d '"' -f 2`"
10070 359. $xterm_set_titles
10076 Controls whether Mutt-ng sets the xterm title bar and icon name (as long
10077 as you're in an appropriate terminal). The default must be unset to force
10078 in the validity checking.
10084 Default: "Mutt-ng with %?m?%m messages&no messages?%?n? [%n New]?"
10086 Controls the format of the title bar of the xterm provided that
10087 $xterm_set_titles has been set. This string is identical in formatting to
10088 the one used by ``$status_format''.
10092 The following is the list of available functions listed by the mapping in
10093 which they are available. The default key setting is given, and an
10094 explanation of what the function does. The key bindings of these functions
10095 can be changed with the bind command.
10099 The generic menu is not a real menu, but specifies common functions (such
10100 as movement) available in all menus except for pager and editor. Changing
10101 settings for this menu will affect the default bindings for all menus
10104 Table 7.4. Reference: Default Generic Function Bindings
10106 Function Default Key Description
10107 <bottom-page> L move to the bottom of the page
10108 <current-bottom> not bound move current entry to bottom of page
10109 <current-middle> not bound move current entry to middle of page
10110 <current-top> not bound move current entry to top of page
10111 <enter-command> : enter a muttngrc command
10112 <exit> q exit this menu
10113 <first-entry> = move to the first entry
10114 <half-down> ] scroll down 1/2 page
10115 <half-up> [ scroll up 1/2 page
10116 <help> ? this screen
10117 <jump> number jump to an index number
10118 <last-entry> * move to the last entry
10119 <middle-page> M move to the middle of the page
10120 <next-entry> j move to the next entry
10121 <next-line> > scroll down one line
10122 <next-page> z move to the next page
10123 <previous-entry> k move to the previous entry
10124 <previous-line> < scroll up one line
10125 <previous-page> Z move to the previous page
10126 <refresh> ^L clear and redraw the screen
10127 <search> / search for a regular expression
10128 <search-next> n search for next match
10129 <search-opposite> not bound search for next match in opposite direction
10130 <search-reverse> ESC / search backwards for a regular expression
10131 <select-entry> RET select the current entry
10132 <shell-escape> ! run a program in a subshell
10133 <tag-entry> t toggle the tag on the current entry
10134 <tag-prefix> ; apply next command to tagged entries
10135 <tag-prefix-cond> not bound apply next function ONLY to tagged messages
10136 <top-page> H move to the top of the page
10137 <what-key> not bound display the keycode for a key press
10141 Table 7.5. Reference: Default Index Function Bindings
10143 Function Default Key Description
10144 <bounce-message> b remail a message to another user
10145 <change-folder> c open a different folder
10146 <change-folder-readonly> ESC c open a different folder in read
10148 <check-traditional-pgp> ESC P check for classic pgp
10149 <clear-flag> W clear a status flag from a message
10150 <copy-message> C copy a message to a file/mailbox
10151 <create-alias> a create an alias from a message
10153 <decode-copy> ESC C decode a message and copy it to a
10155 <decode-save> ESC s decode a message and save it to a
10157 <delete-message> d delete the current entry
10158 <delete-pattern> D delete messages matching a pattern
10159 <delete-subthread> ESC d delete all messages in subthread
10160 <delete-thread> ^D delete all messages in thread
10161 <display-address> @ display full address of sender
10162 <display-toggle-weed> h display message and toggle header
10164 <display-message> RET display a message
10165 <edit> e edit the current message
10166 <edit-type> ^E edit the current message's
10168 <exit> x exit without saving changes
10169 <extract-keys> ^K extract PGP public keys
10170 <fetch-mail> G retrieve mail from POP server
10171 <flag-message> F toggle a message's 'important' flag
10172 <forget-passphrase> ^F wipe PGP passphrase from memory
10173 <forward-message> f forward a message with comments
10174 <group-reply> g reply to all recipients
10175 <limit> l show only messages matching a
10177 <list-reply> L reply to specified mailing list
10178 <mail> m compose a new mail message
10179 <mail-key> ESC k mail a PGP public key
10180 <next-new> not bound jump to the next new message
10181 <next-new-then-unread> TAB jump to the next new or unread
10183 <next-subthread> ESC n jump to the next subthread
10184 <next-thread> ^N jump to the next thread
10185 <next-undeleted> j move to the next undeleted message
10186 <next-unread> not bound jump to the next unread message
10187 <parent-message> P jump to parent message in thread
10188 <pipe-message> | pipe message/attachment to a shell
10190 <previous-new> not bound jump to the previous new message
10191 <previous-new-then-unread> ESC TAB jump to the previous new or unread
10193 <previous-page> Z move to the previous page
10194 <previous-subthread> ESC p jump to previous subthread
10195 <previous-thread> ^P jump to previous thread
10196 <previous-undeleted> k move to the last undelete message
10197 <previous-unread> not bound jump to the previous unread message
10198 <print-message> p print the current entry
10199 <query> Q query external program for
10201 <quit> q save changes to mailbox and quit
10202 <read-subthread> ESC r mark the current subthread as read
10203 <read-thread> ^R mark the current thread as read
10204 <recall-message> R recall a postponed message
10205 <reply> r reply to a message
10206 <resend-message> ESC e resend message and preserve MIME
10208 <save-message> s save message/attachment to a file
10209 <set-flag> w set a status flag on a message
10210 <show-version> V show the Mutt-ng version number and
10212 <show-limit> ESC l show currently active limit
10214 <sort-mailbox> o sort messages
10215 <sort-reverse> O sort messages in reverse order
10216 <sync-mailbox> $ save changes to mailbox
10217 <tag-pattern> T tag messages matching a pattern
10218 <tag-thread> ESC t tag/untag all messages in the
10220 <toggle-new> N toggle a message's 'new' flag
10221 <toggle-write> % toggle whether the mailbox will be
10223 <undelete-message> u undelete the current entry
10224 <undelete-pattern> U undelete messages matching a
10226 <undelete-subthread> ESC u undelete all messages in subthread
10227 <undelete-thread> ^U undelete all messages in thread
10228 <untag-pattern> ^T untag messages matching a pattern
10229 <view-attachments> v show MIME attachments
10233 Table 7.6. Reference: Default Pager Function Bindings
10235 Function Default Key Description
10236 <bottom> not bound jump to the bottom of the message
10237 <bounce-message> b remail a message to another user
10238 <change-folder> c open a different folder
10239 <change-folder-readonly> ESC c open a different folder in read
10241 <check-traditional-pgp> ESC P check for classic pgp
10242 <copy-message> C copy a message to a file/mailbox
10243 <create-alias> a create an alias from a message
10244 <senderdecode-copy> ESC C decode a message and copy it to a
10246 <decode-save> ESC s decode a message and save it to a
10248 <delete-message> d delete the current entry
10249 <delete-subthread> ESC d delete all messages in subthread
10250 <delete-thread> ^D delete all messages in thread
10251 <display-address> @ display full address of sender
10252 <display-toggle-weed> h display message and toggle header
10254 <edit> e edit the current message
10255 <edit-type> ^E edit the current message's
10257 <enter-command> : enter a muttngrc command
10258 <exit> i return to the main-menu
10259 <extract-keys> ^K extract PGP public keys
10260 <flag-message> F toggle a message's 'important' flag
10261 <forget-passphrase> ^F wipe PGP passphrase from memory
10262 <forward-message> f forward a message with comments
10263 <group-reply> g reply to all recipients
10264 <half-up> not bound move up one-half page
10265 <half-down> not bound move down one-half page
10266 <help> ? this screen
10267 <list-reply> L reply to specified mailing list
10268 <mail> m compose a new mail message
10269 <mail-key> ESC k mail a PGP public key
10270 <mark-as-new> N toggle a message's 'new' flag
10271 <next-line> RET scroll down one line
10272 <next-entry> J move to the next entry
10273 <next-new> not bound jump to the next new message
10274 <next-new-then-unread> TAB jump to the next new or unread
10276 <next-page> not bound move to the next page
10277 <next-subthread> ESC n jump to the next subthread
10278 <next-thread> ^N jump to the next thread
10279 <next-undeleted> j move to the next undeleted message
10280 <next-unread> not bound jump to the next unread message
10281 <parent-message> P jump to parent message in thread
10282 <pipe-message> | pipe message/attachment to a shell
10284 <previous-line> BackSpace scroll up one line
10285 <previous-entry> K move to the previous entry
10286 <previous-new> not bound jump to the previous new message
10287 <previous-new-then-unread> not bound jump to the previous new or unread
10289 <previous-page> - move to the previous page
10290 <previous-subthread> ESC p jump to previous subthread
10291 <previous-thread> ^P jump to previous thread
10292 <previous-undeleted> k move to the last undelete message
10293 <previous-unread> not bound jump to the previous unread message
10294 <print-message> p print the current entry
10295 <quit> Q save changes to mailbox and quit
10296 <read-subthread> ESC r mark the current subthread as read
10297 <read-thread> ^R mark the current thread as read
10298 <recall-message> R recall a postponed message
10299 <redraw-screen> ^L clear and redraw the screen
10300 <reply> r reply to a message
10301 <save-message> s save message/attachment to a file
10302 <search> / search for a regular expression
10303 <search-next> n search for next match
10304 <search-opposite> not bound search for next match in opposite
10306 <search-reverse> ESC / search backwards for a regular
10308 <search-toggle> \ toggle search pattern coloring
10309 <shell-escape> ! invoke a command in a subshell
10310 <show-version> V show the Mutt-ng version number and
10312 <skip-quoted> S skip beyond quoted text
10313 <sync-mailbox> $ save changes to mailbox
10314 <tag-message> t tag a message
10315 <toggle-quoted> T toggle display of quoted text
10316 <top> ^ jump to the top of the message
10317 <undelete-message> u undelete the current entry
10318 <undelete-subthread> ESC u undelete all messages in subthread
10319 <undelete-thread> ^U undelete all messages in thread
10320 <view-attachments> v show MIME attachments
10324 Table 7.7. Reference: Default Alias Menu Function Bindings
10326 Function Default Key Description
10327 <search> / search for a regular expression
10328 <search-next> n search for next match
10329 <search-reverse> ESC / search backwards for a regular expression
10333 Table 7.8. Reference: Default Query Menu Function Bindings
10335 Function Default Key Description
10336 <create-alias> a create an alias from a message sender
10337 <mail> m compose a new mail message
10338 <query> Q query external program for addresses
10339 <query-append> A append new query results to current results
10340 <search> / search for a regular expression
10341 <search-next> n search for next match
10342 <search-opposite> not bound search for next match in opposite direction
10343 <search-reverse> ESC / search backwards for a regular expression
10347 Table 7.9. Reference: Default Attachment Menu Function Bindings
10349 Function Default Key Description
10350 <bounce-message> b remail a message to another user
10351 <collapse-parts> v toggle display of subparts
10352 <delete-entry> d delete the current entry
10353 <display-toggle-weed> h display message and toggle header
10355 <edit-type> ^E edit the current entry's Content-Type
10356 <extract-keys> ^K extract PGP public keys
10357 <forward-message> f forward a message with comments
10358 <group-reply> g reply to all recipients
10359 <list-reply> L reply to specified mailing list
10360 <pipe-entry> | pipe message/attachment to a shell
10362 <print-entry> p print the current entry
10363 <reply> r reply to a message
10364 <resend-message> ESC e resend message and preserve MIME
10366 <save-entry> s save message/attachment to a file
10367 <undelete-entry> u undelete the current entry
10368 <view-attach> RET view attachment using mailcap entry if
10370 <view-mailcap> m force viewing of attachment using
10372 <view-text> T view attachment as text
10376 Table 7.10. Reference: Default Compose Menu Function Bindings
10378 Function Default Key Description
10379 <attach-file> a attach a file(s) to this message
10380 <attach-message> A attach message(s) to this message
10381 <attach-key> ESC k attach a PGP public key
10382 <copy-file> C save message/attachment to a file
10383 <detach-file> D delete the current entry
10384 <display-toggle-weed> h display message and toggle header
10386 <edit-bcc> b edit the BCC list
10387 <edit-cc> c edit the CC list
10388 <edit-description> d edit attachment description
10389 <edit-encoding> ^E edit attachment transfer-encoding
10390 <edit-fcc> f enter a file to save a copy of this
10392 <edit-from> ESC f edit the from: field
10393 <edit-file> ^X e edit the file to be attached
10394 <edit-headers> E edit the message with headers
10395 <edit> e edit the message
10396 <edit-mime> m edit attachment using mailcap entry
10397 <edit-reply-to> r edit the Reply-To field
10398 <edit-subject> s edit the subject of this message
10399 <edit-to> t edit the TO list
10400 <edit-type> ^T edit attachment type
10401 <filter-entry> F filter attachment through a shell
10403 <forget-passphrase> ^F wipe PGP passphrase from memory
10404 <ispell> i run ispell on the message
10405 <new-mime> n compose new attachment using mailcap
10407 <pgp-menu> p show PGP options
10408 <pipe-entry> | pipe message/attachment to a shell
10410 <postpone-message> P save this message to send later
10411 <print-entry> l print the current entry
10412 <rename-file> R rename/move an attached file
10413 <send-message> y send the message
10414 <toggle-unlink> u toggle whether to delete file after
10416 <view-attach> RET view attachment using mailcap entry if
10418 <write-fcc> w write the message to a folder
10422 Table 7.11. Reference: Default Postpone Menu Function Bindings
10424 Function Default Key Description
10425 <delete-entry> d delete the current entry
10426 <undelete-entry> u undelete the current entry
10430 Table 7.12. Reference: Default Browser Menu Function Bindings
10432 Function Default Key Description
10433 <change-dir> c change directories
10434 <check-new> TAB check mailboxes for new mail
10435 <enter-mask> m enter a file mask
10436 <search> / search for a regular expression
10437 <search-next> n search for next match
10438 <search-reverse> ESC / search backwards for a regular expression
10439 <select-new> N select a new file in this directory
10440 <sort> o sort messages
10441 <sort-reverse> O sort messages in reverse order
10442 <toggle-mailboxes> TAB toggle whether to browse mailboxes or all
10444 <view-file> SPACE view file
10445 <subscribe> s subscribe to current mailbox (IMAP Only)
10446 <unsubscribe> u unsubscribe to current mailbox (IMAP Only)
10447 <toggle-subscribed> T toggle view all/subscribed mailboxes (IMAP
10452 Table 7.13. Reference: Default PGP Menu Function Bindings
10454 Function Default Key Description
10455 <view-name> % view the key's user id
10456 <verify-key> c verify a PGP public key
10460 Table 7.14. Reference: Default Editor Function Bindings
10462 Function Default Key Description
10463 <backspace> BackSpace delete the char in front of the cursor
10464 <backward-char> ^B move the cursor one character to the left
10465 <backward-word> ESC b move the cursor to the previous word
10466 <bol> ^A jump to the beginning of the line
10467 <buffy-cycle> Space cycle among incoming mailboxes
10468 <capitalize-word> ESC c uppercase the first character in the word
10469 <complete> TAB complete filename or alias
10470 <complete-query> ^T complete address with query
10471 <delete-char> ^D delete the char under the cursor
10472 <downcase-word> ESC l lowercase all characters in current word
10473 <eol> ^E jump to the end of the line
10474 <forward-char> ^F move the cursor one character to the right
10475 <forward-word> ESC f move the cursor to the next word
10476 <history-down> not bound scroll down through the history list
10477 <history-up> not bound scroll up through the history list
10478 <kill-eol> ^K delete chars from cursor to end of line
10479 <kill-eow> ESC d delete chars from cursor to end of word
10480 <kill-line> ^U delete all chars on the line
10481 <kill-word> ^W delete the word in front of the cursor
10482 <quote-char> ^V quote the next typed key
10483 <transpose-chars> not bound transpose character under cursor with
10485 <upcase-word> ESC u uppercase all characters in current word
10489 Table 7.15. Referene: Default Sidebar Function Bindings
10491 Key Function Description
10492 none <sidebar-scroll-up> Scrolls the mailbox list up 1 page
10493 none <sidebar-scroll-down> Scrolls the mailbox list down 1 page
10494 none <sidebar-next> Highlights the next mailbox
10495 none <sidebar-next-new> Highlights the next mailbox with new mail
10496 none <sidebar-previous> Highlights the previous mailbox
10497 none <sidebar-open> Opens the currently highlighted mailbox
10499 Appendix A. Acknowledgments
10501 Kari Hurtta <kari.hurtta@fmi.fi> co-developed the original MIME >parsing
10502 code back in the ELM-ME days.
10504 The following people have been very helpful to the development of Mutt
10505 (sorted by surnames):
10507 o Vikas Agnihotri <vikasa@writeme.com>
10508 o Francois Berjon < Francois.Berjon@aar.alcatel-alsthom.fr>
10509 o Aric Blumer <aric@fore.com>, John Capo < jc@irbs.com >
10510 o David Champion <dgc@uchicago.edu>
10511 o Brendan Cully <brendan@kublai.com>
10512 o Liviu Daia <daia@stoilow.imar.ro>
10513 o Thomas E. Dickey <dickey@herndon4.his.com>
10514 o David DeSimone <fox@convex.hp.com>
10515 o Nickolay N. Dudorov <nnd@wint.itfs.nsk.su>
10516 o Ruslan Ermilov <ru@freebsd.org>
10517 o Edmund Grimley Evans <edmundo@rano.org>
10518 o Michael Finken <finken@conware.de>
10519 o Sven Guckes <guckes@math.fu-berlin.de>
10520 o Lars Hecking <lhecking@nmrc.ie>
10521 o Mark Holloman <holloman@nando.net>
10522 o Andreas Holzmann <holzmann@fmi.uni-passau.de>
10523 o Marco d'Itri <md@linux.it>
10524 o Björn Jacke <bjacke@suse.com>
10525 o Byrial Jensen <byrial@image.dk>
10526 o David Jeske <jeske@igcom.net>
10527 o Christophe Kalt <kalt@hugo.int-evry.fr>
10528 o Tommi Komulainen <Tommi.Komulainen@iki.fi>
10529 o Felix von Leitner (a.k.a ``Fefe'') < leitner@math.fu-berlin.de >
10530 o Brandon Long <blong@fiction.net>
10531 o Jimmy Mäkeä <jmy@flashback.net>
10532 o Lars Marowsky-Bree <lmb@pointer.in-minden.de>
10533 o Thomas ``Mike'' Michlmayr <mike@cosy.sbg.ac.at>
10534 o Andrew W. Nosenko <awn@bcs.zp.ua>
10535 o David O'Brien <obrien@Nuxi.cs.ucdavis.edu>
10536 o Clint Olsen <olsenc@ichips.intel.com>
10537 o Park Myeong Seok <pms@romance.kaist.ac.kr>
10538 o Thomas Parmelan <tom@ankh.fr.eu.org>
10539 o Ollivier Robert <roberto@keltia.freenix.fr>
10540 o Thomas Roessler <roessler@does-not-exist.org>
10541 o Roland Rosenfeld <roland@spinnaker.de>
10542 o TAKIZAWA Takashi <taki@luna.email.ne.jp>
10543 o Allain Thivillon <Allain.Thivillon@alma.fr>
10544 o Gero Treuner <gero@faveve.uni-stuttgart.de>
10545 o Vsevolod Volkov <vvv@lucky.net>
10546 o Ken Weinert <kenw@ihs.com>
10548 Mutt-ng is developed by the following people:
10550 o Andreas Krennmair <ak@synflood.at>
10551 o Nico Golde <nico@ngolde.de>
10552 o Rocco Rutte <pdmef@cs.tu-berlin.de>
10554 The following people have been very helpful to the development of Mutt-ng
10555 (sorted by surnames):
10557 o Christian Gall <cg@cgall.de>
10558 o Iain Lea <iain@bricbrac.de>
10559 o Andreas Kneib <akneib@gmx.net>
10560 o Felix Meinhold <felix.meinhold@gmx.net>
10561 o Carsten Schoelzki <cjs@weisshuhn.de>
10562 o Elimar Riesebieter <riesebie@lxtec.de>
10564 Appendix B. Hacking Documentation
10566 This manual is written in XML and transformed via a XSLT stylesheet into
10567 valid DocBook/XML to be again transformed via a XSLT stylesheet into the
10570 This two pass processing is required to keep the file size low and to
10571 sanitize use, i.e. drastically lower the typing overhead.
10573 To achieve the latter, the sources come with a file called
10574 muttng-manual.xsl introducing the muttng-doc namespace which offers the
10575 following tags to be used (note: this is far from being complete, any help
10576 towards consistency is highly appreciated).
10578 <muttng-doc:man name="" [sect=""]/>
10580 References to manual pages. If the sect parameter is omitted,
10581 it'll be 1 for the commands section. There's no auto-indexing yet.
10583 <muttng-doc:envvar name=""/>
10585 References to environment variables. The name parameter must
10586 contain upper-case letters only without the dollar sign as it'll
10587 be added automatically. Auto-indexing under Environment Variables
10590 <muttng-doc:hook name=""/>
10592 References to hooks. The string -hook will be added automatically
10593 to the value given in the name parameter. All entries will be
10594 auto-indexed under Hooks.
10596 <muttng-doc:command name=""/>
10598 References to configuration commands. The name is given via the
10599 name parameter and will be auto-indexed under Configuration
10602 <muttng-doc:pattern name="" [full="1"]/>
10604 References to patterns. The name parameter must only contain the
10605 letter/symbol for the pattern as the tilde symbol/equal sign will
10606 be added automatically. Auto-indexing is done under Patterns. If
10607 the full is given the equal sign as well as tilde will be printed
10608 for a fully complete reference.
10610 <muttng-doc:funcdef name="" key=""/>
10612 Defining a command.. It's used to define a command with the name
10613 given in the name parameter and a default key binding given via
10614 key. The string will be automatically enclosed in <>.
10615 Auto-indexing is done under Functions. Also an anchor with id
10616 func-[name] will be added with [name] being the value of the name
10619 <muttng-doc:funcref name=""/>
10621 References to functions.. This is practically the same as the
10622 above except that there's no anchor defined.
10624 <muttng-doc:vardef name="" id=""/>
10626 Defining a variable. This is to be used by makedoc only to define
10627 a command with a given name and XML-normalized link given via id.
10628 Auto-indexing is done under Configuration Variables. The name
10629 parameter's value will be prefixed with a dollar sign as for
10630 environment variables.
10632 <muttng-doc:varref name=""/>
10634 References to variables. This practically is the same as above
10635 except that the text inbetween won't be wrapped within a <sect1>
10636 tag. Auto-indexing is the same as for the above. This one is
10637 intended for manual use.
10639 <muttng-doc:web url""/>
10641 Pretty print a linked URL. As for E-Mail addresses where the text
10642 (mostly) equals the link's target, URLs must be enclosed in <>
10643 (also this reduced redudant URL typing).
10645 <muttng-doc:rfc num=""/>
10647 References to RfC documents. Use this to produce links to RfC
10648 document with number given as the num parameter. A link to
10649 <http://www.faqs.org/> will be made. Auto-indexing is not done
10656 Configuration Commands
10658 alias, Miscellaneous Functions, Defining/Using aliases,
10659 Configuration Commands
10661 alternates, Alternative addresses, Configuration Commands
10663 alternative_order, Configuration Commands
10665 auto_view, The Pager, Optional Fields, Search Order, MIME
10666 Multipart/Alternative, Configuration Commands
10668 bind, Editing Input Fields, Changing the default key
10669 bindings, Keyboard macros, Configuration Commands
10671 color, The Pager, Using color and mono video attributes,
10672 Configuration Commands
10674 exec, Executing functions, Configuration Commands
10676 hdr_order, Defining the order of headers when viewing
10677 messages, Configuration Commands
10679 ignore, Miscellaneous Functions, Ignoring (weeding) unwanted
10680 message headers, Configuration Commands
10682 lists, Miscellaneous Functions, Mailing lists, Handling
10683 Mailing Lists, Configuration Commands
10685 macro, Miscellaneous Functions, Keyboard macros, Adding key
10686 sequences to the keyboard buffer, Using Tags, Configuration
10689 mailboxes, Defining mailboxes which receive mail,
10690 Configuration Commands
10692 mime_lookup, Configuration Commands
10694 mono, Using color and mono video attributes, Configuration
10697 my_hdr, User defined headers, Configuration Commands
10699 nospam, Spam detection, Configuration Commands
10701 push, Adding key sequences to the keyboard buffer, Using
10702 Tags, Configuration Commands
10704 reset, Setting variables, Configuration Commands
10706 score, Message Scoring, Configuration Commands
10708 set, Setting variables, Configuration Commands
10710 source, Miscellaneous Functions, Defining/Using aliases,
10711 Reading initialization commands from another file,
10712 Configuration Commands
10714 spam, Spam detection, Configuration Commands
10716 subscribe, Mailing lists, Configuration Commands
10718 toggle, Setting variables, Configuration Commands
10720 unalias, Configuration Commands
10722 unalternates, Alternative addresses, Configuration Commands
10724 unalternative_order, Configuration Commands
10726 unauto_view, Configuration Commands
10728 uncolor, Using color and mono video attributes, Configuration
10731 unhdr_order, Configuration Commands
10733 unhook, Removing hooks, Configuration Commands
10735 unignore, Ignoring (weeding) unwanted message headers,
10736 Configuration Commands
10738 unlists, Mailing lists, Configuration Commands
10740 unmailboxes, Defining mailboxes which receive mail
10742 unmime_lookup, Configuration Commands
10744 unmono, Using color and mono video attributes, Configuration
10747 unmy_hdr, User defined headers, Configuration Commands
10749 unscore, Message Scoring, Configuration Commands
10751 unset, Setting variables, Configuration Commands
10753 unsubscribe, Mailing lists, Configuration Commands
10755 Configuration Variables
10757 $abort_noattach , $abort_noattach
10759 $abort_nosubject , $abort_nosubject
10761 $abort_unmodified , $abort_unmodified
10763 $agent_string , Configuration variables, $agent_string
10765 $alias_file, Miscellaneous Functions, Defining/Using aliases,
10768 $alias_format , $alias_format
10770 $allow_8bit , $allow_8bit
10772 $allow_ansi , $allow_ansi
10774 $arrow_cursor , $arrow_cursor
10776 $ascii_chars , $ascii_chars
10782 $assumed_charset , $assumed_charset
10784 $attach_format , $attach_format
10786 $attach_remind_regexp , $attach_remind_regexp
10788 $attach_sep , $attach_sep
10790 $attach_split , $attach_split
10792 $attribution, Change settings based upon message recipients,
10795 $autoedit , $autoedit
10797 $auto_tag, Using Tags, $auto_tag
10801 $beep_new , $beep_new
10805 $bounce_delivered , $bounce_delivered
10807 $braille_friendly , $braille_friendly
10809 $certificate_file , $certificate_file
10811 $charset , $charset
10813 $check_new , $check_new
10815 $collapse_unread , $collapse_unread
10817 $compose_format , $compose_format
10819 $config_charset , $config_charset
10821 $confirmappend , $confirmappend
10823 $confirmcreate , $confirmcreate
10825 $connect_timeout , $connect_timeout
10827 $content_type , $content_type
10831 $crypt_autoencrypt , Configuration variables,
10834 $crypt_autopgp , $crypt_autopgp
10836 $crypt_autosign , Configuration variables, $crypt_autosign
10838 $crypt_autosmime , $crypt_autosmime
10840 $crypt_replyencrypt , Configuration variables,
10841 $crypt_replyencrypt
10843 $crypt_replysign , Configuration variables, $crypt_replysign
10845 $crypt_replysignencrypted , Configuration variables,
10846 $crypt_replysignencrypted
10848 $crypt_timestamp , $crypt_timestamp
10850 $crypt_use_gpgme , $crypt_use_gpgme
10852 $crypt_verify_sig , Configuration variables,
10855 $date_format , $date_format
10857 $debug_level , $debug_level
10859 $default_hook , $default_hook
10863 $delete_space, Additional Notes, $delete_space
10865 $delete_untag , $delete_untag
10867 $digest_collapse , $digest_collapse
10869 $display_filter , $display_filter
10871 $dotlock_program , $dotlock_program
10873 $dsn_notify, Delivery Status Notification (DSN) Support,
10876 $dsn_return, Delivery Status Notification (DSN) Support,
10879 $duplicate_threads , $duplicate_threads
10883 $editor_headers, Editing the message header, Defining/Using
10884 aliases, $editor_headers
10886 $edit_headers, Editing the message header, User defined
10887 headers, mailto:-style links, Configuration variables,
10890 $encode_from , $encode_from
10892 $entropy_file , $entropy_file
10894 $envelope_from , $envelope_from
10898 $fast_reply , $fast_reply
10900 $fcc_attach , $fcc_attach
10902 $fcc_clear , $fcc_clear
10904 $file_charset , $file_charset
10906 $folder, Configuration Variables, Defining mailboxes which
10907 receive mail, Mailbox Shortcuts, $folder
10909 $folder_format , $folder_format
10911 $followup_to, Mailing lists, Handling Mailing Lists,
10914 $force_buffy_check , $force_buffy_check
10916 $force_name , $force_name
10918 $forward_decode , Configuration variables, $forward_decode
10920 $forward_decrypt , Configuration variables, $forward_decrypt
10922 $forward_edit , $forward_edit
10924 $forward_format , Configuration variables, $forward_format
10926 $forward_quote , Configuration variables, $forward_quote
10930 $gecos_mask , $gecos_mask
10936 $header_cache , $header_cache
10938 $header_cache_compress , $header_cache_compress
10942 $hidden_host , $hidden_host
10944 $hide_limited , $hide_limited
10946 $hide_missing , $hide_missing
10948 $hide_thread_subject , $hide_thread_subject
10950 $hide_top_limited , $hide_top_limited
10952 $hide_top_missing , $hide_top_missing
10954 $history , $history
10956 $honor_followup_to, Miscellaneous Functions, Handling Mailing
10957 Lists, $honor_followup_to
10959 $hostname , $hostname
10961 $ignore_list_reply_to , $ignore_list_reply_to
10963 $imap_authenticators, Authentication, $imap_authenticators
10965 $imap_check_subscribed , $imap_check_subscribed
10967 $imap_delim_chars , $imap_delim_chars
10969 $imap_headers , $imap_headers
10971 $imap_home_namespace, Configuration Variables,
10972 $imap_home_namespace
10974 $imap_keepalive , $imap_keepalive
10976 $imap_list_subscribed, IMAP Support (OPTIONAL),
10977 $imap_list_subscribed
10979 $imap_login , $imap_login
10981 $imap_mail_check, Conditional parts, IMAP Support (OPTIONAL),
10984 $imap_pass, Authentication, $imap_pass
10986 $imap_passive , $imap_passive
10988 $imap_peek , $imap_peek
10990 $imap_reconnect , $imap_reconnect
10992 $imap_servernoise , $imap_servernoise
10994 $imap_user, Authentication, $imap_user
10996 $implicit_autoview , $implicit_autoview
10998 $include , $include
11000 $include_onlyfirst , $include_onlyfirst
11002 $indent_string , Configuration variables, $indent_string
11004 $index_format, Threaded Mode, Spam detection, Handling
11005 Mailing Lists, Configuration variables, $index_format
11009 $keep_flagged , $keep_flagged
11011 $list_reply , $list_reply
11013 $locale, Change settings based upon message recipients,
11016 $mailcap_path, mailcap, $mailcap_path
11018 $mailcap_sanitize, Secure use of mailcap, mailcap,
11021 $maildir_header_cache_verify , $maildir_header_cache_verify
11023 $maildir_trash , $maildir_trash
11025 $mail_check , $mail_check
11027 $markers , $markers
11029 $mark_old , $mark_old
11033 $max_display_recips , $max_display_recips
11035 $max_line_length , $max_line_length
11037 $mbox, Mailbox Shortcuts, $mbox
11039 $mbox_type, Mailbox Formats, Append a message to a compressed
11040 mailbox, $mbox_type
11042 $menu_context , $menu_context
11044 $menu_move_off , $menu_move_off
11046 $menu_scroll , $menu_scroll
11048 $message_format , Configuration variables, $message_format
11050 $meta_key , $meta_key
11054 $mh_purge , $mh_purge
11056 $mh_seq_flagged , $mh_seq_flagged
11058 $mh_seq_replied , $mh_seq_replied
11060 $mh_seq_unseen , $mh_seq_unseen
11062 $mime_forward , Configuration variables, $mime_forward
11064 $mime_forward_decode , $mime_forward_decode
11066 $mime_forward_rest , $mime_forward_rest
11068 $mixmaster , $mixmaster
11070 $mix_entry_format, Sending anonymous messages via mixmaster,
11075 $msgid_format, Message-ID: headers, $msgid_format
11077 $muttng_bindir , $muttng_bindir
11079 $muttng_docdir , $muttng_docdir
11081 $muttng_folder_name , $muttng_folder_name
11083 $muttng_folder_path , $muttng_folder_path
11085 $muttng_hcache_backend , $muttng_hcache_backend
11087 $muttng_pwd , $muttng_pwd
11089 $muttng_revision , $muttng_revision
11091 $muttng_sysconfdir , $muttng_sysconfdir
11093 $muttng_version , $muttng_version
11095 $narrow_tree , $narrow_tree
11097 $net_inc , $net_inc
11099 $nntp_ask_followup_to , Configuration variables,
11100 $nntp_ask_followup_to
11102 $nntp_ask_x_comment_to , Configuration variables,
11103 $nntp_ask_x_comment_to
11105 $nntp_cache_dir , Configuration variables, $nntp_cache_dir
11107 $nntp_catchup , Configuration variables, $nntp_catchup
11109 $nntp_context , $nntp_context
11111 $nntp_followup_to_poster , Configuration variables,
11112 $nntp_followup_to_poster
11114 $nntp_group_index_format , Configuration variables,
11115 $nntp_group_index_format
11117 $nntp_host , Configuration variables, $nntp_host
11119 $nntp_inews , Configuration variables, $nntp_inews
11121 $nntp_load_description , $nntp_load_description
11123 $nntp_mail_check , Configuration variables, $nntp_mail_check
11125 $nntp_mime_subject , Configuration variables,
11128 $nntp_newsrc, NNTP Support (OPTIONAL), Configuration
11129 variables, $nntp_newsrc
11131 $nntp_pass , $nntp_pass
11133 $nntp_post_moderated , Configuration variables,
11134 $nntp_post_moderated
11136 $nntp_reconnect , $nntp_reconnect
11138 $nntp_save_unsubscribed , Configuration variables,
11139 $nntp_save_unsubscribed
11141 $nntp_show_new_news , Configuration variables,
11142 $nntp_show_new_news
11144 $nntp_show_only_unread , Configuration variables,
11145 $nntp_show_only_unread
11147 $nntp_user , $nntp_user
11149 $nntp_x_comment_to , Configuration variables,
11152 $operating_system , $operating_system
11156 $pager_context , $pager_context
11158 $pager_format , $pager_format
11160 $pager_index_lines, Conditional parts, $pager_index_lines
11162 $pager_stop , $pager_stop
11164 $pgp_autoinline , Configuration variables, $pgp_autoinline
11166 $pgp_auto_decode , $pgp_auto_decode
11168 $pgp_check_exit , $pgp_check_exit
11170 $pgp_clearsign_command , $pgp_clearsign_command
11172 $pgp_decode_command , $pgp_decode_command
11174 $pgp_decrypt_command , $pgp_decrypt_command
11176 $pgp_encrypt_only_command , $pgp_encrypt_only_command
11178 $pgp_encrypt_sign_command , $pgp_encrypt_sign_command
11180 $pgp_entry_format, Using Mutt-ng with PGP, $pgp_entry_format
11182 $pgp_export_command , $pgp_export_command
11184 $pgp_getkeys_command , $pgp_getkeys_command
11186 $pgp_good_sign , $pgp_good_sign
11188 $pgp_ignore_subkeys , $pgp_ignore_subkeys
11190 $pgp_import_command , $pgp_import_command
11192 $pgp_list_pubring_command , $pgp_list_pubring_command
11194 $pgp_list_secring_command , $pgp_list_secring_command
11196 $pgp_long_ids , $pgp_long_ids
11198 $pgp_mime_auto , $pgp_mime_auto
11200 $pgp_replyinline , Configuration variables, $pgp_replyinline
11202 $pgp_retainable_sigs , $pgp_retainable_sigs
11204 $pgp_show_unusable , $pgp_show_unusable
11206 $pgp_sign_as, Using Mutt-ng with PGP, $pgp_sign_as
11208 $pgp_sign_command , $pgp_sign_command
11210 $pgp_sort_keys , $pgp_sort_keys
11212 $pgp_strict_enc , $pgp_strict_enc
11214 $pgp_timeout , $pgp_timeout
11216 $pgp_use_gpg_agent , $pgp_use_gpg_agent
11218 $pgp_verify_command , $pgp_verify_command
11220 $pgp_verify_key_command , $pgp_verify_key_command
11222 $pipe_decode, Miscellaneous Functions, $pipe_decode
11224 $pipe_sep , $pipe_sep
11226 $pipe_split, Miscellaneous Functions, $pipe_split
11228 $pop_authenticators , $pop_authenticators
11230 $pop_auth_try_all , $pop_auth_try_all
11232 $pop_delete , $pop_delete
11234 $pop_host , $pop_host
11236 $pop_last , $pop_last
11238 $pop_mail_check, POP3 Support (OPTIONAL), Configuration
11239 variables, $pop_mail_check
11241 $pop_pass , $pop_pass
11243 $pop_reconnect , $pop_reconnect
11245 $pop_user , $pop_user
11247 $postpone, Postponing Mail, $postpone
11249 $postponed, Postponing Mail, $postponed
11251 $post_indent_string , Configuration variables,
11252 $post_indent_string
11254 $preconnect , $preconnect
11258 $print_command , Configuration variables, $print_command
11260 $print_decode , $print_decode
11262 $print_split , $print_split
11264 $prompt_after , $prompt_after
11266 $query_command, External Address Queries, $query_command
11270 $quote_empty , $quote_empty
11272 $quote_quoted , $quote_quoted
11274 $quote_regexp, Miscellaneous Functions, Using color and mono
11275 video attributes, $quote_regexp
11277 $read_inc , $read_inc
11279 $read_only , $read_only
11281 $realname , $realname
11285 $record, Environment Variables, Specify default Fcc: mailbox
11286 when composing, Mailbox Shortcuts, $record
11288 $reply_regexp , $reply_regexp
11290 $reply_self , $reply_self
11292 $reply_to, Alternative addresses, Handling Mailing Lists,
11295 $resolve , $resolve
11297 $reverse_alias , $reverse_alias
11299 $reverse_name , $reverse_name
11301 $reverse_realname , $reverse_realname
11303 $rfc2047_parameters , $rfc2047_parameters
11305 $save_address , $save_address
11307 $save_empty, Compressed folders Support (OPTIONAL),
11310 $save_name , $save_name
11314 $score_threshold_delete, Message Scoring,
11315 $score_threshold_delete
11317 $score_threshold_flag, Message Scoring, $score_threshold_flag
11319 $score_threshold_read, Message Scoring, $score_threshold_read
11321 $sendmail, Change settings based upon message recipients,
11324 $sendmail_wait , $sendmail_wait
11326 $send_charset , $send_charset
11330 $sidebar_boundary , $sidebar_boundary
11332 $sidebar_delim , $sidebar_delim
11334 $sidebar_newmail_only , $sidebar_newmail_only
11336 $sidebar_number_format , $sidebar_number_format
11338 $sidebar_shorten_hierarchy , Configuration variables,
11339 $sidebar_shorten_hierarchy
11341 $sidebar_visible , $sidebar_visible
11343 $sidebar_width , $sidebar_width
11345 $signature, Change settings based upon message recipients,
11348 $signoff_string , $signoff_string
11350 $sig_dashes , $sig_dashes
11352 $sig_on_top , $sig_on_top
11354 $simple_search , $simple_search
11356 $sleep_time , $sleep_time
11358 $smart_wrap , $smart_wrap
11360 $smileys , $smileys
11362 $smime_ask_cert_label , $smime_ask_cert_label
11364 $smime_ca_location , $smime_ca_location
11366 $smime_certificates , $smime_certificates
11368 $smime_decrypt_command , $smime_decrypt_command
11370 $smime_decrypt_use_default_key ,
11371 $smime_decrypt_use_default_key
11373 $smime_default_key , Configuration variables,
11376 $smime_encrypt_command , $smime_encrypt_command
11378 $smime_encrypt_with , $smime_encrypt_with
11380 $smime_get_cert_command , $smime_get_cert_command
11382 $smime_get_cert_email_command , $smime_get_cert_email_command
11384 $smime_get_signer_cert_command ,
11385 $smime_get_signer_cert_command
11387 $smime_import_cert_command , $smime_import_cert_command
11389 $smime_is_default , $smime_is_default
11391 $smime_keys , $smime_keys
11393 $smime_pk7out_command , $smime_pk7out_command
11395 $smime_sign_command , $smime_sign_command
11397 $smime_sign_opaque_command , $smime_sign_opaque_command
11399 $smime_timeout , $smime_timeout
11401 $smime_verify_command , $smime_verify_command
11403 $smime_verify_opaque_command , $smime_verify_opaque_command
11405 $smtp_envelope, SMTP Support (OPTIONAL), $smtp_envelope
11407 $smtp_host, SMTP Support (OPTIONAL), $smtp_host
11409 $smtp_pass, SMTP Support (OPTIONAL), Configuration variables,
11412 $smtp_port , $smtp_port
11414 $smtp_user, SMTP Support (OPTIONAL), Configuration variables,
11417 $smtp_use_tls, SMTP Support (OPTIONAL), $smtp_use_tls
11421 $sort_alias , $sort_alias
11423 $sort_aux , $sort_aux
11425 $sort_browser , $sort_browser
11427 $sort_re , $sort_re
11429 $spam_separator , $spam_separator
11431 $spoolfile, Setting variables based upon mailbox, Defining
11432 mailboxes which receive mail, Mailbox Shortcuts, POP3 Support
11433 (OPTIONAL), $spoolfile
11435 $ssl_ca_certificates_file , $ssl_ca_certificates_file
11437 $ssl_client_cert , $ssl_client_cert
11439 $ssl_force_tls , $ssl_force_tls
11441 $ssl_min_dh_prime_bits , $ssl_min_dh_prime_bits
11443 $ssl_starttls , $ssl_starttls
11445 $ssl_usesystemcerts , $ssl_usesystemcerts
11447 $ssl_use_sslv2 , $ssl_use_sslv2
11449 $ssl_use_sslv3 , $ssl_use_sslv3
11451 $ssl_use_tlsv1 , $ssl_use_tlsv1
11453 $status_chars , $status_chars
11455 $status_format, Composing new messages, Introduction,
11458 $status_on_top , $status_on_top
11460 $strict_mailto, mailto:-style links, $strict_mailto
11462 $strict_mime , $strict_mime
11464 $strict_threads, Threaded Mode, $strict_threads
11466 $strip_was , $strip_was
11468 $strip_was_regex , $strip_was_regex
11470 $stuff_quoted , $stuff_quoted
11472 $suspend , $suspend
11474 $text_flowed , $text_flowed
11476 $thorough_search , $thorough_search
11478 $thread_received , $thread_received
11482 $timeout, IMAP Support (OPTIONAL), $timeout
11484 $tmpdir, Temporary Files, $tmpdir
11486 $to_chars, Status Flags, $to_chars
11492 $umask, Temporary Files, $umask
11494 $uncollapse_jump , $uncollapse_jump
11496 $use_8bitmime, SMTP Support (OPTIONAL), $use_8bitmime
11498 $use_domain , $use_domain
11500 $use_from , $use_from
11502 $use_idn , $use_idn
11504 $use_ipv6 , $use_ipv6
11508 $wait_key, Miscellaneous Functions, Optional Fields,
11511 $weed, Miscellaneous Functions, $weed
11513 $wrapmargin , $wrapmargin
11515 $wrap_search , $wrap_search
11517 $write_bcc , $write_bcc
11519 $write_inc , $write_inc
11521 $xterm_icon , $xterm_icon
11523 $xterm_leave , $xterm_leave
11525 $xterm_set_titles , $xterm_set_titles
11527 $xterm_title , $xterm_title
11531 Environment Variables
11533 $COLORFGBG, Using color and mono video attributes
11535 $EDITOR, Composing new messages
11537 $HOME, MIME Type configuration with mime.types, MIME Viewer
11538 configuration with mailcap
11540 $HOSTNAME, Environment Variables
11542 $NNTPSERVER, NNTP Support (OPTIONAL)
11544 $VISUAL, Composing new messages
11550 <attach-file>, Composing new messages, compose
11552 <attach-key>, Composing new messages, compose
11554 <attach-message>, Composing new messages, compose
11556 <backspace>, Editing Input Fields, editor
11558 <backward-char>, Editing Input Fields, editor
11560 <backward-word>, Editing Input Fields, editor
11562 <bol>, Editing Input Fields, editor
11564 <bottom-page>, generic
11568 <bounce-message>, index, pager, attach
11570 <bounce>, Sending Mail
11572 <buffy-cycle>, editor
11574 <capitalize-word>, Editing Input Fields, editor
11576 <change-dir>, browser
11578 <change-folder-readonly>, index, pager
11580 <change-folder>, index, pager
11582 <check-new>, browser
11584 <check-traditional-pgp>, Miscellaneous Functions, index,
11587 <clear-flag>, index
11589 <collapse-all>, Threaded Mode
11591 <collapse-parts>, attach
11593 <collapse-thread>, Threaded Mode
11595 <complete-query>, Editing Input Fields, editor
11597 <complete>, Editing Input Fields, editor
11599 <compose>, Sending Mail
11601 <copy-file>, compose
11603 <copy-message>, index, pager
11605 <create-alias>, Miscellaneous Functions, Defining/Using
11606 aliases, index, pager, query
11608 <current-bottom>, generic
11610 <current-middle>, generic
11612 <current-top>, generic
11614 <decode-copy>, index
11616 <decode-save>, index, pager
11618 <delete-char>, Editing Input Fields, editor
11620 <delete-entry>, attach, postpone
11622 <delete-message>, index, pager
11624 <delete-pattern>, index
11626 <delete-subthread>, Threaded Mode, index, pager
11628 <delete-thread>, Threaded Mode, index, pager
11630 <detach-file>, Composing new messages, compose
11632 <display-address>, index, pager
11634 <display-message>, index
11636 <display-toggle-weed>, Miscellaneous Functions, index, pager,
11639 <downcase-word>, Editing Input Fields, editor
11641 <edit-bcc>, Composing new messages, compose
11643 <edit-cc>, Composing new messages, compose
11645 <edit-description>, Composing new messages, compose
11647 <edit-encoding>, compose
11649 <edit-fcc>, Composing new messages, compose
11651 <edit-file>, compose
11653 <edit-from>, Composing new messages, compose
11655 <edit-headers>, compose
11657 <edit-mime>, compose
11659 <edit-reply-to>, Composing new messages, compose
11661 <edit-subject>, Composing new messages, compose
11663 <edit-to>, Composing new messages, compose
11665 <edit-type>, Miscellaneous Functions, index, pager, attach,
11668 <edit>, Miscellaneous Functions, index, pager, compose
11670 <enter-command>, Miscellaneous Functions, generic, pager
11672 <enter-mask>, browser
11674 <eol>, Editing Input Fields, editor
11676 <exit>, generic, index, pager
11678 <extract-keys>, Miscellaneous Functions, index, pager, attach
11680 <fetch-mail>, index
11682 <filter-entry>, compose
11684 <first-entry>, Moving Around in Menus, generic
11686 <flag-message>, index, pager
11688 <forget-passphrase>, Miscellaneous Functions, Composing new
11689 messages, index, pager, compose
11691 <forward-char>, Editing Input Fields, editor
11693 <forward-message>, index, pager, attach
11695 <forward-word>, Editing Input Fields, editor
11697 <forward>, Sending Mail
11699 <group-reply>, Sending Mail, index, pager, attach
11701 <half-down>, generic, pager
11703 <half-up>, generic, pager
11705 <help>, Moving Around in Menus, generic, pager
11707 <history-down>, Editing Input Fields, editor
11709 <history-up>, Editing Input Fields, editor
11711 <ispell>, Composing new messages, compose
11715 <kill-eol>, Editing Input Fields, editor
11717 <kill-eow>, Editing Input Fields, editor
11719 <kill-line>, Editing Input Fields, editor
11721 <kill-word>, Editing Input Fields, editor
11723 <last-entry>, Moving Around in Menus, generic
11727 <list-reply>, Miscellaneous Functions, Sending Mail, index,
11730 <mail-key>, Sending Mail, index, pager
11732 <mail>, index, pager, query
11734 <mark-as-new>, pager
11736 <middle-page>, generic
11738 <new-mime>, compose
11740 <next-entry>, Moving Around in Menus, generic, pager
11742 <next-line>, generic, pager
11744 <next-new-then-unread>, index, pager
11746 <next-new>, index, pager
11748 <next-page>, generic, pager
11750 <next-subthread>, Threaded Mode, index, pager
11752 <next-thread>, Threaded Mode, index, pager
11754 <next-undeleted>, index, pager
11756 <next-unread>, index, pager
11758 <page-down>, Moving Around in Menus
11760 <page-up>, Moving Around in Menus
11762 <parent-message>, Threaded Mode, index, pager
11764 <pgp-menu>, Composing new messages, compose
11766 <pipe-entry>, attach, compose
11768 <pipe-message>, Miscellaneous Functions, index, pager
11770 <postpone-message>, Composing new messages, compose
11772 <previous-entry>, Moving Around in Menus, generic, pager
11774 <previous-line>, generic, pager
11776 <previous-new-then-unread>, index, pager
11778 <previous-new>, index, pager
11780 <previous-page>, generic, index, pager
11782 <previous-subthread>, Threaded Mode, index, pager
11784 <previous-thread>, Threaded Mode, index, pager
11786 <previous-undeleted>, index, pager
11788 <previous-unread>, index, pager
11790 <print-entry>, attach, compose
11792 <print-message>, index, pager
11794 <query-append>, query
11796 <query>, index, query
11798 <quit>, Moving Around in Menus, Composing new messages,
11801 <quote-char>, Editing Input Fields, editor
11803 <read-subthread>, Threaded Mode, index, pager
11805 <read-thread>, Threaded Mode, index, pager
11807 <recall-message>, index, pager
11809 <redraw-screen>, pager
11813 <rename-file>, compose
11815 <reply>, Sending Mail, index, pager, attach
11817 <resend-message>, Miscellaneous Functions, The Attachment
11818 Menu, index, attach
11820 <save-entry>, attach
11822 <save-message>, index, pager
11824 <search-next>, generic, pager, alias, query, browser
11826 <search-opposite>, generic, pager, query
11828 <search-reverse>, generic, pager, alias, query, browser
11830 <search-toggle>, pager
11832 <search>, generic, pager, alias, query, browser
11834 <select-entry>, generic
11836 <select-new>, browser
11838 <send-message>, Composing new messages, compose
11840 <senderdecode-copy>, pager
11844 <shell-escape>, Miscellaneous Functions, generic, pager
11846 <show-limit>, index
11848 <show-version>, index, pager
11850 <sidebar-next-new>, sidebar
11852 <sidebar-next>, sidebar
11854 <sidebar-open>, sidebar
11856 <sidebar-previous>, sidebar
11858 <sidebar-scroll-down>, sidebar
11860 <sidebar-scroll-up>, sidebar
11862 <skip-quoted>, Miscellaneous Functions, pager
11864 <smime-menu>, Composing new messages
11866 <sort-mailbox>, index
11868 <sort-reverse>, index, browser
11872 <subscribe>, browser
11874 <sync-mailbox>, index, pager
11876 <tag-entry>, generic
11878 <tag-message>, pager
11880 <tag-pattern>, index
11882 <tag-prefix-cond>, generic
11884 <tag-prefix>, generic
11886 <tag-thread>, Threaded Mode, index
11888 <toggle-mailboxes>, browser
11890 <toggle-new>, index
11892 <toggle-quoted>, Miscellaneous Functions, pager
11894 <toggle-subscribed>, browser
11896 <toggle-unlink>, compose
11898 <toggle-write>, index
11900 <top-page>, generic
11904 <transpose-chars>, editor
11906 <undelete-entry>, attach, postpone
11908 <undelete-message>, index, pager
11910 <undelete-pattern>, index
11912 <undelete-subthread>, Threaded Mode, index, pager
11914 <undelete-thread>, Threaded Mode, index, pager
11916 <unsubscribe>, browser
11918 <untag-pattern>, index
11920 <upcase-word>, Editing Input Fields, editor
11924 <view-attach>, attach, compose
11926 <view-attachments>, index, pager
11928 <view-file>, browser
11930 <view-mailcap>, attach
11934 <view-text>, attach
11936 <what-key>, generic
11938 <write-fcc>, Composing new messages, compose
11944 account-hook, Managing multiple IMAP/POP/NNTP accounts
11945 (OPTIONAL), Configuration Commands
11947 append-hook, Compressed folders Support (OPTIONAL), Append a
11948 message to a compressed mailbox, Encrypted folders,
11949 Configuration Commands
11951 charset-hook, Defining aliases for character sets,
11952 Configuration Commands
11954 close-hook, Compressed folders Support (OPTIONAL), Write a
11955 compressed mailbox, Append a message to a compressed mailbox,
11956 Configuration Commands
11958 crypt-hook, Choosing the cryptographic key of the recipient,
11959 Configuration Commands
11961 default-hook, Message Matching in Hooks
11963 fcc-hook, Specify default Fcc: mailbox when composing,
11964 Specify default save filename and default Fcc: mailbox at
11965 once, Using Hooks, Message Matching in Hooks, Configuration
11968 fcc-save-hook, Specify default save filename, Specify default
11969 Fcc: mailbox when composing, Specify default save filename
11970 and default Fcc: mailbox at once, Using Hooks, Configuration
11973 folder-hook, Setting variables based upon mailbox, Spam
11974 detection, Using Hooks, Managing multiple IMAP/POP/NNTP
11975 accounts (OPTIONAL), Configuration Commands
11977 iconv-hook, Defining aliases for character sets
11979 mbox-hook, Using Multiple spool mailboxes, Using Hooks,
11980 Configuration Commands
11982 message-hook, Change settings before formatting a message,
11983 Using Hooks, Message Matching in Hooks, MIME Autoview,
11984 Configuration Commands
11986 open-hook, Compressed folders Support (OPTIONAL), Open a
11987 compressed mailbox for reading, Write a compressed mailbox,
11988 Append a message to a compressed mailbox, Configuration
11991 pattern-hook, Specify default save filename, Specify default
11992 Fcc: mailbox when composing, Change settings based upon
11993 message recipients, Change settings before formatting a
11996 reply-hook, Change settings based upon message recipients,
11997 Configuration Commands
11999 save-hook, Specify default save filename, Specify default
12000 save filename and default Fcc: mailbox at once, Using Hooks,
12001 Message Matching in Hooks, Mailbox Shortcuts, Configuration
12004 send-hook, Change settings based upon message recipients,
12005 Using Hooks, Message Matching in Hooks, Configuration
12008 send2-hook, Change settings based upon message recipients
12016 ~*/ =*, Again: Scoring, Patterns
12020 ~A/ =A, Change settings before formatting a message, Patterns
12022 ~b/ =b, Complex Patterns, Patterns
12026 ~C/ =C, Using Hooks, Patterns
12030 ~d/ =d, Patterns and Dates, Patterns
12038 ~f/ =f, Change settings before formatting a message, Message
12039 Scoring, Complex Patterns, Patterns
12047 ~H/ =H, Spam detection, Patterns
12063 ~n/ =n, Message Scoring, Patterns
12079 ~s/ =s, Complex Patterns, Patterns
12083 ~t/ =t, Message Matching in Hooks, Patterns
12087 ~U/ =U, Complex Patterns, Patterns
12097 ~x/ =x, Complex Patterns, Patterns
12099 ~y/ =y, Handling Mailing Lists, Patterns