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. $imap_mail_check
506 is a configuration variable while $EDITOR is an environment variable.
508 o Muttng-specific functions are enclosed in <> and printed in a
509 typewriter font, too, as in <sync-mailbox>.
511 o As common for UNIX-like environments, references to manual pages are
512 printed with the section enclosed in braces, as in vi(1) or
513 muttngrc(5). Execute man [section] [name] to view the manual page.
515 o Keys are presented in the following way: ordinary keys are just given
516 as-is, e.g. q. Control characters are prefixed with C- (e.g. the
517 screen can be redraw by pressing C-L) and E- for Escape, e.g. a folder
518 can be opened read-only with E-c.
520 If, while reading this fine manual, you find any inconsistencies of
521 whatever kind, please contact the developers via
522 <mutt-ng-devel@lists.berlios.de> to report it.
524 Chapter 2. Getting Started
530 1.1. Screens and Menus
562 3. Moving Around in Menus
564 4. Editing Input Fields
566 5. Reading Mail - The Index and Pager
568 5.1. The Message Index
574 5.4. Miscellaneous Functions
578 6.1. Composing new messages
582 6.3. Editing the message header
584 6.4. Using Mutt-ng with PGP
586 6.5. Sending anonymous messages via mixmaster
588 7. Forwarding and Bouncing Mail
594 1.1. Screens and Menus
596 mutt-ng offers different screens of which every has its special purpose:
598 o The index displays the contents of the currently opened mailbox.
600 o The pager is responsible for displaying messages, that is, the header,
601 the body and all attached parts.
603 o The file browser offers operations on and displays information of all
604 folders mutt-ng should watch for mail.
606 o The sidebar offers a permanent view of which mailboxes contain how
607 many total, new and/or flagged mails.
609 o The help screen lists for all currently available commands how to
610 invoke them as well as a short description.
612 o The compose menu is a comfortable interface take last actions before
613 sending mail: change subjects, attach files, remove attachements, etc.
615 o The attachement menu gives a summary and the tree structure of the
616 attachements of the current message.
618 o The alias menu lists all or a fraction of the aliases a user has
621 o The key menu used in connection with encryption lets users choose the
622 right key to encrypt with.
624 When mutt-ng is started without any further options, it'll open the users
625 default mailbox and display the index.
629 Mutt-ng does not feature an internal configuration interface or menu due
630 to the simple fact that this would be too complex to handle (currently
631 there are several hundred variables which fine-tune the behaviour.)
633 Mutt-ng is configured using configuration files which allow users to add
634 comments or manage them via version control systems to ease maintenance.
636 Also, mutt-ng comes with a shell script named grml-muttng kindly
637 contributed by users which really helps and eases the creation of a user's
638 configuration file. When downloading the source code via a snapshot or via
639 subversion, it can be found in the contrib directory.
643 Mutt-ng offers great flexibility due to the use of functions: internally,
644 every action a user can make mutt-ng perform is named ``function.'' Those
645 functions are assigned to keys (or even key sequences) and may be
646 completely adjusted to user's needs. The basic idea is that the impatient
647 users get a very intuitive interface to start off with and advanced users
648 virtually get no limits to adjustments.
652 Mutt-ng has two basic concepts of user interaction:
654 1. There is one dedicated line on the screen used to query the user for
655 input, issue any command, query variables and display error and
656 informational messages. As for every type of user input, this requires
657 manual action leading to the need of input.
659 2. The automatized interface for interaction are the so called hooks.
660 Hooks specify actions the user wants to be performed at well-defined
661 situations: what to do when entering which folder, what to do when
662 displaying or replying to what kind of message, etc. These are
663 optional, i.e. a user doesn't need to specify them but can do so.
667 Although mutt-ng has many functionality built-in, many features can be
668 delegated to external tools to increase flexibility: users can define
669 programs to filter a message through before displaying, users can use any
670 program they want for displaying a message, message types (such as PDF or
671 PostScript) for which mutt-ng doesn't have a built-in filter can be
672 rendered by arbitrary tools and so forth. Although mutt-ng has an alias
673 mechanism built-in, it features using external tools to query for nearly
674 every type of addresses from sources like LDAP, databases or just the list
675 of locally known users.
679 Mutt-ng has a built-in pattern matching ``language'' which is as widely
680 used as possible to present a consistent interface to users. The same
681 ``pattern terms'' can be used for searching, scoring, message selection
688 The index is the screen that you usually see first when you start mutt-ng.
689 It gives an overview over your emails in the currently opened mailbox. By
690 default, this is your system mailbox. The information you see in the index
691 is a list of emails, each with its number on the left, its flags (new
692 email, important email, email that has been forwarded or replied to,
693 tagged email, ...), the date when email was sent, its sender, the email
694 size, and the subject. Additionally, the index also shows thread
695 hierarchies: when you reply to an email, and the other person replies
696 back, you can see the other's person email in a "sub-tree" below. This is
697 especially useful for personal email between a group of people or when
698 you've subscribed to mailing lists.
702 The pager is responsible for showing the email content. On the top of the
703 pager you have an overview over the most important email headers like the
704 sender, the recipient, the subject, and much more information. How much
705 information you actually see depends on your configuration, which we'll
708 Below the headers, you see the email body which usually contains the
709 message. If the email contains any attachments, you will see more
710 information about them below the email body, or, if the attachments are
711 text files, you can view them directly in the pager.
713 To give the user a good overview, it is possible to configure mutt-ng to
714 show different things in the pager with different colors. Virtually
715 everything that can be described with a regular expression can be colored,
716 e.g. URLs, email addresses or smileys.
720 The file browser is the interface to the local or remote file system. When
721 selecting a mailbox to open, the browser allows custom sorting of items,
722 limiting the items shown by a regular expression and a freely adjustable
723 format of what to display in which way. It also allows for easy navigation
724 through the file system when selecting file(s) to attach to a message,
725 select multiple files to attach and many more.
729 The sidebar comes in handy to manage mails which are spread over different
730 folders. All folders users setup mutt-ng to watch for new mail will be
731 listed. The listing includes not only the name but also the number of
732 total messages, the number of new and flagged messages. Items with new
733 mail may be colored different from those with flagged mail, items may be
734 shortened or compress if they're they to long to be printed in full form
735 so that by abbreviated names, user still now what the name stands for.
739 The help screen is meant to offer a quick help to the user. It lists the
740 current configuration of key bindings and their associated commands
741 including a short description, and currently unbound functions that still
742 need to be associated with a key binding (or alternatively, they can be
743 called via the mutt-ng command prompt).
747 The compose menu features a split screen containing the information which
748 really matter before actually sending a message by mail or posting an
749 article to a newsgroup: who gets the message as what (recipient,
750 newsgroup, who gets what kind of copy). Additionally, users may set
751 security options like deciding whether to sign, encrypt or sign and
752 encrypt a message with/for what keys.
754 Also, it's used to attach messages, news articles or files to a message,
755 to re-edit any attachment including the message itself.
759 The alias menu is used to help users finding the recipients of messages.
760 For users who need to contact many people, there's no need to remember
761 addresses or names completely because it allows for searching, too. The
762 alias mechanism and thus the alias menu also features grouping several
763 addresses by a shorter nickname, the actual alias, so that users don't
764 have to select each single recipient manually.
768 As will be later discussed in detail, mutt-ng features a good and stable
769 MIME implementation, that is, is greatly supports sending and receiving
770 messages of arbitrary type. The attachment menu displays a message's
771 structure in detail: what content parts are attached to which parent part
772 (which gives a true tree structure), which type is of what type and what
773 size. Single parts may saved, deleted or modified to offer great and easy
774 access to message's internals.
780 3. Moving Around in Menus
782 Information is presented in menus, very similar to ELM. Here is a
783 tableshowing the common keys used to navigate menus in Mutt-ng.
785 Table 2.1. Most commonly used movement bindings
787 Key Function Description
788 j or Down <next-entry> move to the next entry
789 k or Up <previous-entry> move to the previous entry
790 z or PageDn <page-down> go to the next page
791 Z or PageUp <page-up> go to the previous page
792 = or Home <first-entry> jump to the first entry
793 * or End <last-entry> jump to the last entry
794 q <quit> exit the current menu
795 ? <help> list all key bindings for the current menu
797 4. Editing Input Fields
799 Mutt-ng has a builtin line editor which is used as the primary way to
800 input textual data such as email addresses or filenames. The keys used to
801 move around while editing are very similar to those of Emacs.
803 Table 2.2. Line Editor Functions
805 Key Function Description
806 C-A or Home <bol> move to the start of the line
807 C-B or Left <backward-char> move back one char
808 E-B <backward-word> move back one word
809 C-D or Delete <delete-char> delete the char under the cursor
810 C-E or End <eol> move to the end of the line
811 C-F or Right <forward-char> move forward one char
812 E-F <forward-word> move forward one word
813 Tab <complete> complete filename or alias
814 C-T <complete-query> complete address with query
815 C-K <kill-eol> delete to the end of the line
816 E-d <kill-eow> delete to the end of the word
817 C-W <kill-word> kill the word in front of the cursor
818 C-U <kill-line> delete entire line
819 C-V <quote-char> quote the next typed key
820 Up <history-up> recall previous string from history
821 Down <history-down> recall next string from history
822 BackSpace <backspace> kill the char in front of the cursor
823 E-u <upcase-word> convert word to upper case
824 E-l <downcase-word> convert word to lower case
825 E-c <capitalize-word> capitalize the word
827 Return finish editing
829 You can remap the editor functions using the bind command. For example, to
830 make the Delete key delete the character in front of the cursor rather
831 than under, you could use
833 bind editor <delete> backspace
835 5. Reading Mail - The Index and Pager
837 Similar to many other mail clients, there are two modes in which mail
838 isread in Mutt-ng. The first is the index of messages in the mailbox,
839 which is called the ``index'' in Mutt-ng. The second mode is the display
840 of the message contents. This is called the ``pager.''
842 The next few sections describe the functions provided in each of these
845 5.1. The Message Index
847 Table 2.3. Most commonly used Index Bindings
849 Key Function Description
850 c change to a different mailbox
851 E-c change to a folder in read-only mode
852 C copy the current message to another mailbox
853 E-C decode a message and copy it to a folder
854 E-s decode a message and save it to a folder
855 D delete messages matching a pattern
856 d delete the current message
858 l show messages matching a pattern
859 N mark message as new
860 o change the current sort method
861 O reverse sort the mailbox
862 q save changes and exit
864 T tag messages matching a pattern
865 t toggle the tag on a message
866 E-t toggle tag on entire message thread
867 U undelete messages matching a pattern
870 x abort changes and exit
871 Return display-message
872 Tab jump to the next new or unread message
873 @ show the author's full e-mail address
874 $ save changes to mailbox
877 C-L clear and redraw the screen
878 C-T untag messages matching a pattern
882 In addition to who sent the message and the subject, a short summary of
883 the disposition of each message is printed beside the message number. Zero
884 or more of the following ``flags'' may appear, which mean:
888 message is deleted (is marked for deletion)
892 message have attachments marked for deletion
896 contains a PGP public key
908 message is PGP encrypted
912 message has been replied to
916 message is signed, and the signature is succesfully verified
930 Some of the status flags can be turned on or off using
932 o set-flag (default: w)
934 o clear-flag (default: W)
936 Furthermore, the following flags reflect who the message is addressed to.
937 They can be customized with the $to_chars variable.
941 message is to you and you only
945 message is to you, but also to or cc'ed to others
949 message is cc'ed to you
957 message is sent to a subscribed mailing list
961 By default, Mutt-ng uses its builtin pager to display the body of
962 messages. The pager is very similar to the Unix program less though not
963 nearly as featureful.
965 Table 2.4. Most commonly used Pager Bindings
967 Key Function Description
968 Return go down one line
969 Space display the next page (or next message if at the end of a
971 - go back to the previous page
972 n search for next match
973 S skip beyond quoted text
974 T toggle display of quoted text
976 / search for a regular expression (pattern)
977 E-/ search backwards for a regular expression
978 \ toggle search pattern coloring
979 ^ jump to the top of the message
981 In addition, many of the functions from the index are available in the
982 pager, such as delete-message or copy-message (this is one advantage over
983 using an external pager to view messages).
985 Also, the internal pager supports a couple other advanced features. For
986 one, it will accept and translate the ``standard'' nroff sequences forbold
987 and underline. These sequences are a series of either the letter,
988 backspace (C-H), the letter again for bold or the letter, backspace, _ for
989 denoting underline. Mutt-ng will attempt to display these in bold and
990 underline respectively if your terminal supports them. If not, you can use
991 the bold and underline color objects to specify a color or mono attribute
994 Additionally, the internal pager supports the ANSI escape sequences for
995 character attributes. Mutt-ng translates them into the correct color and
996 character settings. The sequences Mutt-ng supports are: ESC [
997 Ps;Ps;Ps;...;Ps m (see table below for possible values for Ps).
999 Table 2.5. ANSI Escape Sequences
1002 0 All Attributes Off
1007 3x Foreground color is x (see table below)
1008 4x Background color is x (see table below)
1010 Table 2.6. ANSI Colors
1022 Mutt-ng uses these attributes for handling text/enriched messages, and
1023 they can also be used by an external auto_view script for highlighting
1024 purposes. Note: If you change the colors for your display, for example by
1025 changing the color associated with color2 for your xterm, then that color
1026 will be used instead of green.
1030 When the mailbox is sorted by threads ,there are a few additional
1031 functions available in the index and pager modes.
1033 Table 2.7. Most commonly used thread-related bindings
1035 Key Function Description
1036 C-D <delete-thread> delete all messages in the current thread
1037 C-U <undelete-thread> undelete all messages in the current thread
1038 C-N <next-thread> jump to the start of the next thread
1039 C-P <previous-thread> jump to the start of the previous thread
1040 C-R <read-thread> mark the current thread as read
1041 E-d <delete-subthread> delete all messages in the current subthread
1042 E-u <undelete-subthread> undelete all messages in the current subthread
1043 E-n <next-subthread> jump to the start of the next subthread
1044 E-p <previous-subthread> jump to the start of the previous subthread
1045 E-r <read-subthread> mark the current subthread as read
1046 E-t <tag-thread> toggle the tag on the current thread
1047 E-v <collapse-thread> toggle collapse for the current thread
1048 E-V <collapse-all> toggle collapse for all threads
1049 P <parent-message> jump to parent message in thread
1051 Note: Collapsing a thread displays only the first message in the thread
1052 and hides the others. This is useful when threads contain so many messages
1053 that you can only see a handful of threads onthe screen. See %M in
1056 For example, you could use %?M?(#%03M)&(%4l)? in $index_format to
1057 optionally display the number of hidden messages if the thread is
1060 See also the $strict_threads variable.
1062 5.4. Miscellaneous Functions
1064 <create-alias> (default: a)
1066 Creates a new alias based upon the current message (or prompts for a new
1067 one). Once editing is complete, an alias command is added to the file
1068 specified by the $alias_file variable for future use. Note: Specifying an
1069 $alias_file does not add the aliases specified there-in, you must also
1072 <check-traditional-pgp> (default: E-P)
1074 This function will search the current message for content signed or
1075 encrypted with PGP the "traditional" way, that is, without proper MIME
1076 tagging. Technically, this function will temporarily change the MIME
1077 content types of the body parts containing PGP data; this is similar to
1078 the <edit-type> function's effect.
1080 <display-toggle-weed> (default: h)
1082 Toggles the weeding of message header fields specified by ignore commands.
1086 This command (available in the ``index'' and ``pager'') allows you to edit
1087 the raw current message as it's present in the mail folder. After you have
1088 finished editing, the changed message will be appended to the current
1089 folder, and the original message will be marked for deletion.
1091 <edit-type> (default: ) (default: C-E on the attachment menu, and in the
1092 pager and index menus; C-T on the compose menu)
1094 This command is used to temporarily edit an attachment's content type to
1095 fix, for instance, bogus character set parameters. When invoked from the
1096 index or from the pager, you'll have the opportunity to edit the top-level
1097 attachment's content type. On the attach-menu, you can change any
1098 attachment's content type. These changes are not persistent, and get lost
1099 upon changing folders.
1101 Note that this command is also available on the compose-menu .There, it's
1102 used to fine-tune the properties of attachments you are going to send.
1104 <enter-command> (default: :)
1106 This command is used to execute any command you would normally put in a
1107 configuration file. A common use is to check the settings of variables, or
1108 in conjunction with macro to change settings on the fly.
1110 <extract-keys> (default: C-K)
1112 This command extracts PGP public keys from the current or tagged
1113 message(s) and adds them to your PGP public key ring.
1115 <forget-passphrase> (default: C-F)
1117 This command wipes the passphrase(s) from memory. It is useful, if you
1118 misspelled the passphrase.
1120 <list-reply> (default: L)
1122 Reply to the current or tagged message(s) by extracting any addresses
1123 which match the regular expressions given by the lists commands, but also
1124 honor any Mail-Followup-To header(s) if the $honor_followup_to
1125 configuration variable is set. Using this when replying to messages posted
1126 to mailing lists helps avoid duplicate copies being sent to the author of
1127 the message you are replying to.
1129 <pipe-message> (default: )
1131 Asks for an external Unix command and pipes the current or tagged
1132 message(s) to it. The variables $pipe_decode, $pipe_split, $pipe_decode
1133 and $wait_key control the exact behavior of this function.
1135 <resend-message> (default: E-e)
1137 With resend-message, mutt takes the current message as a template for a
1138 new message. This function is best described as "recall from arbitrary
1139 folders". It can conveniently be used to forward MIME messages while
1140 preserving the original mail structure. Note that the amount of headers
1141 included here depends on the value of the $weed variable.
1143 This function is also available from the attachment menu. You can use this
1144 to easily resend a message which was included with a bounce message as a
1145 message/rfc822 body part.
1147 <shell-escape> (default: !)
1149 Asks for an external Unix command and executes it. The $wait_key can be
1150 used to control whether Mutt-ng will wait for a key to be pressed when the
1151 command returns (presumably to let the user read the output of the
1152 command), based on the return status of the named command.
1154 <toggle-quoted> (default: T)
1156 The pager uses the $quote_regexp variable to detect quoted text when
1157 displaying the body of the message. This function toggles the displayof
1158 the quoted material in the message. It is particularly useful when are
1159 interested in just the response and there is a large amount of quoted text
1162 <skip-quoted> (default: S)
1164 This function will go to the next line of non-quoted text which come after
1165 a line of quoted text in the internal pager.
1169 The following bindings are available in the index for sending messages.
1171 Table 2.8. Most commonly used Mail Composition Bindings
1173 Key Function Description
1174 m <compose> compose a new message
1175 r <reply> reply to sender
1176 g <group-reply> reply to all recipients
1177 L <list-reply> reply to mailing list address
1178 f <forward> forward message
1179 b <bounce> bounce (remail) message
1180 E-k <mail-key> mail a PGP public key to someone
1182 Bouncing a message sends the message as is to the recipient you specify.
1183 Forwarding a message allows you to add comments or modify the message you
1184 are forwarding. These items are discussed in greater detail in the next
1185 chapter forwarding-mail.
1187 6.1. Composing new messages
1189 When you want to send an email using mutt-ng, simply press m on your
1190 keyboard. Then, mutt-ng asks for the recipient via a prompt in the last
1195 After you've finished entering the recipient(s), press return. If you want
1196 to send an email to more than one recipient, separate the email addresses
1197 using the comma ",". Mutt-ng then asks you for the email subject. Again,
1198 press return after you've entered it. After that, mutt-ng got the most
1199 important information from you, and starts up an editor where you can then
1202 The editor that is called is selected in the following way: you can e.g.
1203 set it in the mutt-ng configuration:
1205 set editor = "vim +/^$/ -c ':set tw=72'"
1207 set editor = "emacs"
1209 If you don't set your preferred editor in your configuration, mutt-ng
1210 first looks whether the environment variable $VISUAL is set, and if so, it
1211 takes its value as editor command. Otherwise, it has a look at $EDITOR and
1212 takes its value if it is set. If no editor command can be found, mutt-ng
1213 simply assumes vi(1) to be the default editor, since it's the most
1214 widespread editor in the Unix world and it's pretty safe to assume that it
1215 is installed and available.
1217 When you've finished entering your message, save it and quit your editor.
1218 Mutt-ng will then present you with a summary screen, the compose menu. On
1219 the top, you see a summary of the most important available key commands.
1220 Below that, you see the sender, the recipient(s), Cc and/or Bcc
1221 recipient(s), the subject, the reply-to address, and optionally
1222 information where the sent email will be stored and whether it should be
1223 digitally signed and/or encrypted.
1225 Below that, you see a list of "attachments". The mail you've just entered
1226 before is also an attachment, but due to its special type (it's plain
1227 text), it will be displayed as the normal message on the receiver's side.
1229 At this point, you can add more attachments, pressing a, you can edit the
1230 recipient addresses, pressing t for the "To:" field, c for the "Cc:"
1231 field, and b for the "Bcc: field. You can also edit the subject the
1232 subject by simply pressing s or the email message that you've entered
1233 before by pressing e. You will then again return to the editor. You can
1234 even edit the sender, by pressing <esc>f, but this shall only be used with
1237 Alternatively, you can configure mutt-ng in a way that most of the above
1238 settings can be edited using the editor. Therefore, you only need to add
1239 the following to your configuration:
1243 Once you have finished editing the body of your mail message, you are
1244 returned to the compose menu. The following options are available:
1246 Table 2.9. Most commonly used Compose Menu Bindings
1248 Key Function Description
1249 a <attach-file> attach a file
1250 A <attach-message> attach message(s) to the message
1251 E-k <attach-key> attach a PGP public key
1252 d <edit-description> edit description on attachment
1253 D <detach-file> detach a file
1254 t <edit-to> edit the To field
1255 E-f <edit-from> edit the From field
1256 r <edit-reply-to> edit the Reply-To field
1257 c <edit-cc> edit the Cc field
1258 b <edit-bcc> edit the Bcc field
1259 y <send-message> send the message
1260 s <edit-subject> edit the Subject
1261 S <smime-menu> select S/MIME options
1262 f <edit-fcc> specify an ``Fcc'' mailbox
1263 p <pgp-menu> select PGP options
1264 P <postpone-message> postpone this message until later
1265 q <quit> quit (abort) sending the message
1266 w <write-fcc> write the message to a folder
1267 i <ispell> check spelling (if available on your system)
1268 C-F <forget-passphrase> wipe passphrase(s) from memory
1270 Note: The attach-message function will prompt you for a folder to attach
1271 messages from. You can now tag messages in that folder and theywill be
1272 attached to the message you are sending. Note that certainoperations like
1273 composing a new mail, replying, forwarding, etc. are not permitted when
1274 you are in that folder. The %r in $status_format will change to a 'A' to
1275 indicate that you are in attach-message mode.
1279 6.2.1. Simple Replies
1281 When you want to reply to an email message, select it in the index menu
1282 and then press r. Mutt-ng's behaviour is then similar to the behaviour
1283 when you compose a message: first, you will be asked for the recipient,
1284 then for the subject, and then, mutt-ng will start the editor with the
1285 quote attribution and the quoted message. This can e.g. look like the
1288 On Mon, Mar 07, 2005 at 05:02:12PM +0100, Michael Svensson wrote:
1289 > Bill, can you please send last month's progress report to Mr.
1290 > Morgan? We also urgently need the cost estimation for the new
1291 > production server that we want to set up before our customer's
1292 > project will go live.
1294 You can start editing the email message. It is strongly recommended to put
1295 your answer below the quoted text and to only quote what is really
1296 necessary and that you refer to. Putting your answer on top of the quoted
1297 message, is, although very widespread, very often not considered to be a
1298 polite way to answer emails.
1300 The quote attribution is configurable, by default it is set to
1302 set attribution = "On %d, %n wrote:"
1304 It can also be set to something more compact, e.g.
1306 set attribution = "attribution="* %n <%a> [%(%y-%m-%d %H:%M)]:"
1308 The example above results in the following attribution:
1310 * Michael Svensson <svensson@foobar.com> [05-03-06 17:02]:
1311 > Bill, can you please send last month's progress report to Mr.
1312 > Morgan? We also urgently need the cost estimation for the new
1313 > production server that we want to set up before our customer's
1314 > project will go live.
1316 Generally, try to keep your attribution short yet information-rich. It is
1317 not the right place for witty quotes, long "attribution" novels or
1318 anything like that: the right place for such things is - if at all - the
1319 email signature at the very bottom of the message.
1321 When you're done with writing your message, save and quit the editor. As
1322 before, you will return to the compose menu, which is used in the same way
1325 6.2.2. Group Replies
1327 In the situation where a group of people uses email as a discussion, most
1328 of the emails will have one or more recipients, and probably several "Cc:"
1329 recipients. The group reply functionalityensures that when you press g
1330 instead of r to do a reply, each and every recipient that is contained in
1331 the original message will receive a copy of the message, either as normal
1332 recipient or as "Cc:" recipient.
1336 When you use mailing lists, it's generally better to send your reply to a
1337 message only to the list instead of the list and the original author. To
1338 make this easy to use, mutt-ng features list replies.
1340 To do a list reply, simply press L. If the email contains a
1341 Mail-Followup-To: header, its value will be used as reply address.
1342 Otherwise, mutt-ng searches through all mail addresses in the original
1343 message and tries to match them a list of regular expressions which can be
1344 specified using the lists command. If any of the regular expression
1345 matches, a mailing list address has been found, and it will be used as
1348 lists linuxevent@luga\.at vuln-dev@ mutt-ng-users@
1350 Nowadays, most mailing list software like GNU Mailman adds a
1351 Mail-Followup-To: header to their emails anyway, so setting lists is
1352 hardly ever necessary in practice.
1354 6.3. Editing the message header
1356 When editing the header of your outgoing message, there are a couple of
1357 special features available.
1359 If you specify Fcc:filename Mutt-ng will pick up filename just as if you
1360 had used the edit-fcc function in the compose menu.
1362 You can also attach files to your message by specifying
1364 Attach: filename [description]
1366 where filename is the file to attach and description is an optional string
1367 to use as the description of the attached file.
1369 When replying to messages, if you remove the In-Reply-To: field from the
1370 header field, Mutt-ng will not generate a References: field, which allows
1371 you to create a new message thread.
1373 Also see the $edit_headers and $editor_headers variables
1375 6.4. Using Mutt-ng with PGP
1377 If you want to use PGP, you can specify
1381 ``E'' encrypts, ``S'' signs and ``S<id>'' signs with the given key,
1382 setting $pgp_sign_as permanently.
1384 If you have told mutt to PGP encrypt a message, it will guide you through
1385 a key selection process when you try to send the message. Mutt-ng will not
1386 ask you any questions about keys which have a certified user ID matching
1387 one of the message recipients' mail addresses. However, there may be
1388 situations in which there are several keys, weakly certified user ID
1389 fields, or where no matching keys can be found.
1391 In these cases, you are dropped into a menu with a list of keys from which
1392 you can select one. When you quit this menu, or mutt can't find any
1393 matching keys, you are prompted for a user ID. You can, as usually, abort
1394 this prompt using C-G. When you do so, mutt will return to the compose
1397 Once you have successfully finished the key selection, the message will be
1398 encrypted using the selected public keys, and sent out.
1400 Most fields of the entries in the key selection menu (see also
1401 $pgp_entry_format) have obvious meanings. But some explanations on the
1402 capabilities, flags, and validity fields are in order.
1404 The flags sequence (%f) will expand to one of the following flags:
1406 Table 2.10. PGP Key Menu Flags
1409 R The key has been revoked and can't be used.
1410 X The key is expired and can't be used.
1411 d You have marked the key as disabled.
1412 c There are unknown critical self-signature packets.
1414 The capabilities field (%c) expands to a two-character
1415 sequencerepresenting a key's capabilities. The first character gives the
1416 key's encryption capabilities: A minus sign (- )means that the key cannot
1417 be used for encryption. A dot (. )means that it's marked as a signature
1418 key in one of the user IDs, but may also be used for encryption. The
1419 letter e indicates that this key can be used for encryption.
1421 The second character indicates the key's signing capabilities. Once again,
1422 a ``-'' implies ``not for signing'', ``.'' implies that the key is marked
1423 as an encryption key in one of the user-ids, and ``s'' denotes a key which
1424 can be used for signing.
1426 Finally, the validity field (%t) indicates how well-certified a user-id
1427 is. A question mark (?) indicates undefined validity, a minus character
1428 (-) marks an untrusted association, a space character means a partially
1429 trusted association, and a plus character (+ ) indicates complete
1432 6.5. Sending anonymous messages via mixmaster
1434 You may also have configured mutt to co-operate with Mixmaster, an
1435 anonymous remailer. Mixmaster permits you to send your messages
1436 anonymously using a chain of remailers. Mixmaster support in mutt is for
1437 mixmaster version 2.04 (beta 45 appears to be the latest) and 2.03. It
1438 does not support earlier versions or the later so-called version 3 betas,
1439 of which the latest appears to be called 2.9b23.
1441 To use it, you'll have to obey certain restrictions. Most important, you
1442 cannot use the Cc and Bcc headers. To tell Mutt-ng to use mixmaster, you
1443 have to select a remailer chain, using the mix function on the compose
1446 The chain selection screen is divided into two parts. In the (larger)
1447 upper part, you get a list of remailers you may use. In the lower part,
1448 you see the currently selected chain of remailers.
1450 You can navigate in the chain using the chain-prev and chain-next
1451 functions, which are by default bound to the left and right arrows and to
1452 the h and l keys (think vi keyboard bindings). To insert a remailer at the
1453 current chain position, use the insert function. To append a remailer
1454 behind the current chain position, use select-entry or append . You can
1455 also delete entries from the chain, using the corresponding function.
1456 Finally, to abandon your changes, leave the menu, or accept them pressing
1457 (by default) the Return key.
1459 Note that different remailers do have different capabilities, indicated in
1460 the %c entry of the remailer menu lines (see $mix_entry_format). Most
1461 important is the ``middleman'' capability, indicated by a capital ``M'':
1462 This means that the remailer in question cannot be used as the final
1463 element of a chain, but will only forward messages to other mixmaster
1464 remailers. For details on the other capabilities, please have a look at
1465 the mixmaster documentation.
1467 7. Forwarding and Bouncing Mail
1469 Often, it is necessary to forward mails to other people. Therefore,
1470 mutt-ng supports forwarding messages in two different ways.
1472 The first one is regular forwarding, as you probably know it from other
1473 mail clients. You simply press f, enter the recipient email address, the
1474 subject of the forwarded email, and then you can edit the message to be
1475 forwarded in the editor. The forwarded message is separated from the rest
1476 of the message via the two following markers:
1478 ----- Forwarded message from Lucas User <luser@example.com> -----
1480 From: Lucas User <luser@example.com>
1481 Date: Thu, 02 Dec 2004 03:08:34 +0100
1482 To: Michael Random <mrandom@example.com>
1483 Subject: Re: blackmail
1485 Pay me EUR 50,000.- cash or your favorite stuffed animal will die
1488 ----- End forwarded message -----
1490 When you're done with editing the mail, save and quit the editor, and you
1491 will return to the compose menu, the same menu you also encounter when
1492 composing or replying to mails.
1494 The second mode of forwarding emails with mutt-ng is the so-called
1495 bouncing: when you bounce an email to another address, it will be sent in
1496 practically the same format you send it (except for headers that are
1497 created during transporting the message). To bounce a message, press b and
1498 enter the recipient email address. By default, you are then asked whether
1499 you really want to bounce the message to the specified recipient. If you
1500 answer with yes, the message will then be bounced.
1502 To the recipient, the bounced email will look as if he got it like a
1503 regular email where he was Bcc: recipient. The only possibility to find
1504 out whether it was a bounced email is to carefully study the email headers
1505 and to find out which host really sent the email.
1509 At times it is desirable to delay sending a message that you have already
1510 begun to compose. When the postpone-message function is used in the
1511 compose menu, the body of your message and attachments are stored in the
1512 mailbox specified by the $postponed variable. This means that you can
1513 recall the message even if you exit Mutt-ng and then restart it at a later
1516 Once a message is postponed, there are several ways to resume it. From the
1517 command line you can use the ``-p'' option, or if you compose a new
1518 message from the index or pager you will be prompted if postponed messages
1519 exist. If multiple messages are currently postponed, the postponed menu
1520 will pop up and you can select which message you would like to resume.
1522 Note: If you postpone a reply to a message, the reply setting of the
1523 message is only updated when you actually finish the message and send it.
1524 Also, you must be in the same folder with the message you replied to for
1525 the status of the message to be updated.
1527 See also the $postpone quad-option.
1529 Chapter 3. Configuration
1533 1. Locations of Configuration Files
1535 2. Basic Syntax of Initialization Files
1537 3. Expansion within variables
1539 3.1. Commands' Output
1541 3.2. Environment Variables
1543 3.3. Configuration Variables
1545 3.4. Self-Defined Variables
1547 3.5. Pre-Defined Variables
1549 3.6. Type Conversions
1551 4. Defining/Using aliases
1553 5. Changing the default key bindings
1555 6. Defining aliases for character sets
1557 7. Setting variables based upon mailbox
1561 9. Using color and mono video attributes
1563 10. Ignoring (weeding) unwanted message headers
1565 11. Alternative addresses
1571 12.2. Receiving: Display Setup
1575 12.4. Additional Notes
1579 14. Using Multiple spool mailboxes
1581 15. Defining mailboxes which receive mail
1583 16. User defined headers
1585 17. Defining the order of headers when viewing messages
1587 18. Specify default save filename
1589 19. Specify default Fcc: mailbox when composing
1591 20. Specify default save filename and default Fcc: mailbox at once
1593 21. Change settings based upon message recipients
1595 22. Change settings before formatting a message
1597 23. Choosing the cryptographic key of the recipient
1599 24. Adding key sequences to the keyboard buffer
1601 25. Executing functions
1607 28. Setting variables
1609 29. Reading initialization commands from another file
1615 31.1. Character Sets
1617 31.2. Modularization
1619 31.3. Conditional parts
1621 32. Obsolete Variables
1623 1. Locations of Configuration Files
1625 While the default configuration (or ``preferences'') make Mutt-ng usable
1626 right out of the box, it is often desirable to tailor Mutt-ng to suit your
1627 own tastes. When Mutt-ng is first invoked, it will attempt to read the
1628 ``system'' configuration file (defaults set by your local system
1629 administrator), unless the ``-n'' commandline option is specified. This
1630 file is typically /usr/local/share/muttng/Muttngrc or /etc/Muttngrc ,
1631 Mutt-ng users will find this file in /usr/local/share/muttng/Muttrc or
1632 /etc/Muttngrc. Mutt will next look for a file named .muttrc in your home
1633 directory, Mutt-ng will look for .muttngrc. If this file does not exist
1634 and your home directory has a subdirectory named .mutt , mutt try to load
1635 a file named .muttng/muttngrc.
1637 .muttrc (or .muttngrc for Mutt-ng) is the file where you will usually
1638 place your commands to configure Mutt-ng.
1640 2. Basic Syntax of Initialization Files
1642 An initialization file consists of a series of commands. Each line of the
1643 file may contain one or more commands. When multiple commands are used,
1644 they must be separated by a semicolon (;).
1646 set realname='Mutt-ng user' ; ignore x-
1648 The hash mark, or pound sign (``#''), is used as a ``comment'' character.
1649 You can use it to annotate your initialization file. All text after the
1650 comment character to the end of the line is ignored. For example,
1652 my_hdr X-Disclaimer: Why are you listening to me? # This is a comment
1654 Single quotes (') and double quotes (") can be used to quote strings which
1655 contain spaces or other special characters. The difference between the two
1656 types of quotes is similar to that of many popular shell programs, namely
1657 that a single quote is used to specify a literal string (one that is not
1658 interpreted for shell variables or quoting with a backslash (see next
1659 paragraph), while double quotes indicate a string for which should be
1660 evaluated. For example, backtics are evaluated inside of double quotes,
1661 but not for single quotes.
1663 \ quotes the next character, just as in shells such as bash and zsh. For
1664 example, if want to put quotes ``"'' inside of a string, you can use ``\''
1665 to force the next character to be a literal instead of interpreted
1668 set realname="Michael \"MuttDude\" Elkins"
1670 ``\\'' means to insert a literal ``\'' into the line. ``\n'' and ``\r''
1671 have their usual C meanings of linefeed and carriage-return, respectively.
1673 A \ at the end of a line can be used to split commands over multiple
1674 lines, provided that the split points don't appear in the middle of
1677 Please note that, unlike the various shells, mutt-ng interprets a ``\'' at
1678 the end of a line also in comments. This allows you to disable a command
1679 split over multiple lines with only one ``#''.
1682 set realname="Michael \"MuttDude\" Elkins"
1684 When testing your config files, beware the following caveat. The backslash
1685 at the end of the commented line extends the current line with the next
1686 line - then referred to as a ``continuation line''. As the first line is
1687 commented with a hash (#) all following continuation lines are also part
1688 of a comment and therefore are ignored, too. So take care of comments when
1689 continuation lines are involved within your setup files!
1699 line1 ``continues'' until line4. however, the part after the # is a
1700 comment which includes line3 and line4. line5 is a new line of its own and
1701 thus is interpreted again.
1703 The commands understood by mutt are explained in the next paragraphs. For
1704 a complete list, see the commands.
1706 3. Expansion within variables
1708 Besides just assign static content to variables, there's plenty of ways of
1709 adding external and more or less dynamic content.
1711 3.1. Commands' Output
1713 It is possible to substitute the output of a Unix command in an
1714 initialization file. This is accomplished by enclosing the command in
1715 backquotes (``) as in, for example:
1717 my_hdr X-Operating-System: `uname -a`
1719 The output of the Unix command ``uname -a'' will be substituted before the
1720 line is parsed. Note that since initialization files are line oriented,
1721 only the first line of output from the Unix command will be substituted.
1723 3.2. Environment Variables
1725 UNIX environments can be accessed like the way it is done in shells like
1726 sh and bash: Prepend the name of the environment by a ``$'' sign. For
1729 set record=+sent_on_$HOSTNAME
1731 sets the $record variable to the string +sent_on_ and appends the value of
1732 the evironment variable $HOSTNAME.
1734 Note: There will be no warning if an environment variable is not defined.
1735 The result will of the expansion will then be empty.
1737 3.3. Configuration Variables
1739 As for environment variables, the values of all configuration variables as
1740 string can be used in the same way, too. For example,
1742 set imap_home_namespace = $folder
1744 would set the value of $imap_home_namespace to the value to which $folder
1745 is currently set to.
1747 Note: There're no logical links established in such cases so that the the
1748 value for $imap_home_namespace won't change even if $folder gets changed.
1750 Note: There will be no warning if a configuration variable is not defined
1751 or is empty. The result will of the expansion will then be empty.
1753 3.4. Self-Defined Variables
1755 Mutt-ng flexibly allows users to define their own variables. To avoid
1756 conflicts with the standard set and to prevent misleading error messages,
1757 there's a reserved namespace for them: all user-defined variables must be
1758 prefixed with user_ and can be used just like any ordinary configuration
1759 or environment variable.
1761 For example, to view the manual, users can either define two macros like
1764 macro generic <F1> "!less -r /path/to/manual" "Show manual"
1765 macro pager <F1> "!less -r /path/to/manual" "Show manual"
1767 for generic, pager and index .The alternative is to define a custom
1770 set user_manualcmd = "!less -r /path/to_manual"
1771 macro generic <F1> "$user_manualcmd<enter>" "Show manual"
1772 macro pager <F1> "$user_manualcmd<enter>" "Show manual"
1773 macro index <F1> "$user_manualcmd<enter>" "Show manual"
1775 to re-use the command sequence as in:
1777 macro index <F2> "$user_manualcmd | grep '\^[ ]\\+~. '" "Show Patterns"
1779 Using this feature, arbitrary sequences can be defined once and recalled
1780 and reused where necessary. More advanced scenarios could include to save
1781 a variable's value at the beginning of macro sequence and restore it at
1784 When the variable is first defined, the first value it gets assigned is
1785 also the initial value to which it can be reset using the reset command.
1787 The complete removal is done via the unset keyword.
1789 After the following sequence:
1794 the variable $user_foo has a current value of 666 and an initial of 42.
1799 will show 666. After doing the reset via
1803 a following query will give 42 as the result. After unsetting it via
1807 any query or operation (except the noted expansion within other
1808 statements) will lead to an error message.
1810 3.5. Pre-Defined Variables
1812 In order to allow users to share one setup over a number of different
1813 machines without having to change its contents, there's a number of
1814 pre-defined variables. These are prefixed with muttng_ and are read-only,
1815 i.e. they cannot be set, unset or reset. The reference chapter lists all
1816 available variables.
1818 Please consult the local copy of your manual for their values as they may
1819 differ from different manual sources. Where the manual is installed in can
1820 be queried (already using such a variable) by running:
1822 $ muttng -Q muttng_docdir
1824 To extend the example for viewing the manual via self-defined variables,
1825 it can be made more readable and more portable by changing the real path
1828 set user_manualcmd = '!less -r /path/to_manual'
1832 set user_manualcmd = "!less -r $muttng_docdir/manual.txt"
1834 which works everywhere if a manual is installed.
1836 Please note that by the type of quoting, muttng determines when to expand
1837 these values: when it finds double quotes, the value will be expanded
1838 during reading the setup files but when it finds single quotes, it'll
1839 expand it at runtime as needed.
1841 For example, the statement
1843 folder-hook . "set user_current_folder = $muttng_folder_name"
1845 will be already be translated to the following when reading the startup
1848 folder-hook . "set user_current_folder = some_folder"
1850 with some_folder being the name of the first folder muttng opens. On the
1853 folder-hook . 'set user_current_folder = $muttng_folder_name'
1855 will be executed at runtime because of the single quotes so that
1856 user_current_folder will always have the value of the currently opened
1859 A more practical example is:
1861 folder-hook . 'source ~/.mutt/score-$muttng_folder_name'
1863 which can be used to source files containing score commands depending on
1864 the folder the user enters.
1866 3.6. Type Conversions
1868 A note about variable's types during conversion: internally values are
1869 stored in internal types but for any dump/query or set operation they're
1870 converted to and from string. That means that there's no need to worry
1871 about types when referencing any variable. As an example, the following
1872 can be used without harm (besides makeing muttng very likely behave
1876 set folder = $read_inc
1877 set read_inc = $folder
1878 set user_magic_number = 42
1879 set folder = $user_magic_number
1881 4. Defining/Using aliases
1883 Usage: aliaskey address [, address,...]
1885 It's usually very cumbersome to remember or type out the address of
1886 someone you are communicating with. Mutt-ng allows you to create
1887 ``aliases'' which map a short string to a full address.
1889 Note: if you want to create an alias for a group (by specifying more than
1890 one address), you must separate the addresses with a comma (``,'').
1892 To remove an alias or aliases (``*'' means all aliases):
1894 Usage: unalias[* | key ... ]
1896 alias muttdude me@cs.hmc.edu (Michael Elkins)
1897 alias theguys manny, moe, jack
1899 Unlike other mailers, Mutt-ng doesn't require aliases to be defined in a
1900 special file. The alias command can appear anywhere in a configuration
1901 file, as long as this file is source. Consequently, you can have multiple
1902 alias files, or you can have all aliases defined in your muttrc.
1904 On the other hand, the <create-alias> function can use only one file, the
1905 one pointed to by the $alias_file variable (which is ~/.muttrc by
1906 default). This file is not special either, in the sense that Mutt-ng will
1907 happily append aliases to any file, but in order for the new aliases to
1908 take effect you need to explicitly source this file too.
1912 source /usr/local/share/Mutt-ng.aliases
1913 source ~/.mail_aliases
1914 set alias_file=~/.mail_aliases
1916 To use aliases, you merely use the alias at any place in mutt where
1917 muttprompts for addresses, such as the To: or Cc: prompt. You can also
1918 enter aliases in your editor at the appropriate headers if you have the
1919 $editor_headers variable set.
1921 In addition, at the various address prompts, you can use the tab character
1922 to expand a partial alias to the full alias. If there are multiple
1923 matches, mutt will bring up a menu with the matching aliases. In order to
1924 be presented with the full list of aliases, you must hit tab with out a
1925 partial alias, such as at the beginning of the prompt or after a comma
1926 denoting multiple addresses.
1928 In the alias menu, you can select as many aliases as you want with the
1929 select-entry key (default: RET), and use the exit key (default: q) to
1930 return to the address prompt.
1932 5. Changing the default key bindings
1934 Usage: bindmap key function
1936 This command allows you to change the default key bindings (operation
1937 invoked when pressing a key).
1939 map specifies in which menu the binding belongs. Multiple maps may be
1940 specified by separating them with commas (no additional whitespace
1941 isallowed). The currently defined maps are:
1945 This is not a real menu, but is used as a fallback for all of the
1946 other menus except for the pager and editor modes. If a key is not
1947 defined in another menu, Mutt-ng will look for a binding to use in
1948 this menu. This allows you to bind a key to a certain function in
1949 multiple menus instead of having multiple bind statements to
1950 accomplish the same task.
1954 The alias menu is the list of your personal aliases as defined in
1955 your muttrc. It is the mapping from a short alias name to the full
1956 email address(es) of the recipient(s).
1960 The attachment menu is used to access the attachments on received
1965 The browser is used for both browsing the local directory
1966 structure, and for listing all of your incoming mailboxes.
1970 The editor is the line-based editor the user enters text data.
1974 The index is the list of messages contained in a mailbox.
1978 The compose menu is the screen used when sending a new message.
1982 The pager is the mode used to display message/attachment data, and
1987 The pgp menu is used to select the OpenPGP keys used for
1988 encrypting outgoing messages.
1992 The postpone menu is similar to the index menu, except is used
1993 when recalling a message the user was composing, but saved until
1996 key is the key (or key sequence) you wish to bind. To specify a control
1997 character, use the sequence \Cx, where x is the letter of the control
1998 character (for example, to specify control-A use ``\Ca''). Note that the
1999 case of x as well as \C is ignored, so that \CA, \Ca, \cA and \ca are all
2000 equivalent. An alternative form is to specify the key as a three digit
2001 octal number prefixed with a ``\'' (for example \177 is equivalent to
2004 In addition, key may consist of:
2006 Table 3.1. Alternative Key Names
2008 Sequence Description
2011 <backtab> backtab / shift-tab
2021 <pagedown> Page Down
2022 <backspace> Backspace
2031 <f10> function key 10
2033 key does not need to be enclosed in quotes unless it contains a space (``
2036 function specifies which action to take when key is pressed. For a
2037 complete list of functions, see the functions. The special function noop
2038 unbinds the specified key sequence.
2040 6. Defining aliases for character sets
2042 Usage: charset-hookaliascharset
2044 Usage: iconv-hookcharsetlocal-charset
2046 The charset-hook command defines an alias for a character set. This is
2047 useful to properly display messages which are tagged with a character set
2048 name not known to mutt.
2050 The iconv-hook command defines a system-specific name for a character set.
2051 This is helpful when your systems character conversion library insists on
2052 using strange, system-specific names for character sets.
2054 7. Setting variables based upon mailbox
2056 Usage: folder-hook [!]regexpcommand
2058 It is often desirable to change settings based on which mailbox you are
2059 reading. The folder-hook command provides a method by which you can
2060 execute any configuration command. regexp is a regular expression
2061 specifying in which mailboxes to execute command before loading. If a
2062 mailbox matches multiple folder-hook's, they are executed in the order
2063 given in the muttrc.
2065 Note: if you use the ``!'' shortcut for $spoolfile at the beginning of the
2066 pattern, you must place it inside of double or single quotes in order to
2067 distinguish it from the logical not operator for the expression.
2069 Note that the settings are not restored when you leave the mailbox. For
2070 example, a command action to perform is to change the sorting methodbased
2071 upon the mailbox being read:
2073 folder-hook mutt set sort=threads
2075 However, the sorting method is not restored to its previous value when
2076 reading a different mailbox. To specify a default command, use the pattern
2079 folder-hook . set sort=date-sent
2083 Usage: macromenu key sequence [description]
2085 Macros are useful when you would like a single key to perform a series of
2086 actions. When you press key in menu menu ,Mutt-ng will behave as if you
2087 had typed sequence. So if you have a common sequence of commands you type,
2088 you can create a macro to execute those commands with a singlekey.
2090 menu is the maps which the macro will be bound. Multiple maps may be
2091 specified by separating multiple menu arguments by commas. Whitespace may
2092 not be used in between the menu arguments and thecommas separating them.
2094 key and sequence are expanded by the same rules as the bind. There are
2095 some additions however. The first is that control characters in sequence
2096 can also be specified as ^x. In order to get a caret (`^'') you need to
2097 specify it twice. Secondly, to specify a certain key such as up or to
2098 invoke a function directly, you can use the format <key name> and
2099 <function name> .For a listing of key names see the section on bind.
2100 Functions are listed in the functions.
2102 The advantage with using function names directly is that the macros
2103 willwork regardless of the current key bindings, so they are not dependent
2104 on the user having particular key definitions. This makes them more
2105 robustand portable, and also facilitates defining of macros in files used
2106 by more than one user (eg. the system Muttngrc).
2108 Optionally you can specify a descriptive text after sequence, which is
2109 shown in the help screens.
2111 Note: Macro definitions (if any) listed in the help screen(s), are
2112 silently truncated at the screen width, and are not wrapped.
2114 9. Using color and mono video attributes
2116 Usage: colorobject foreground background [regexp]
2118 Usage: colorindex foreground pattern
2120 Usage: uncolorindex pattern [pattern ...]
2122 If your terminal supports color, you can spice up Mutt-ng by creating your
2123 own color scheme. To define the color of an object (type of information),
2124 you must specify both a foreground color and a background color (it is not
2125 possible to only specify one or the other).
2127 object can be one of:
2131 o body (match regexp in the body of messages)
2133 o bold (highlighting bold patterns in the body of messages)
2135 o error (error messages printed by Mutt-ng)
2137 o header (match regexp in the message header)
2139 o hdrdefault (default color of the message header in the pager)
2141 o index (match pattern in the message index)
2143 o indicator (arrow or bar used to indicate the current item in a menu)
2145 o markers (the ``+'' markers at the beginning of wrapped lines in the
2148 o message (informational messages)
2152 o quoted (text matching $quote_regexp in the body of a message)
2154 o quoted1, quoted2, ..., quotedN (higher levels of quoting)
2156 o search (highlighting of words in the pager)
2160 o status (mode lines used to display info about the mailbox or message)
2162 o tilde (the ``~'' used to pad blank lines in the pager)
2164 o tree (thread tree drawn in the message index and attachment menu)
2166 o underline (highlighting underlined patterns in the body of messages)
2168 foreground and background can be one of the following:
2190 foreground can optionally be prefixed with the keyword bright to make the
2191 foreground color boldfaced (e.g., brightred).
2193 If your terminal supports it, the special keyword default can be used as a
2194 transparent color. The value brightdefault is also valid. If Mutt-ng is
2195 linked against the S-Lang library, you also need to set the $COLORFGBG
2196 environment variable to the default colors of your terminal for this to
2197 work; for example (for Bourne-like shells):
2199 set COLORFGBG="green;black"
2202 Note: The S-Lang library requires you to use the lightgray and brown
2203 keywords instead of white and yellow when setting this variable.
2205 Note: The uncolor command can be applied to the index object only. It
2206 removes entries from the list. You must specify the same pattern specified
2207 in the color command for it to be removed. The pattern ``*'' is a special
2208 token which means to clear the color index list of all entries.
2210 Mutt-ng also recognizes the keywords color0, color1 ,..., colorN-1 (N
2211 being the number of colors supported by your terminal). This is useful
2212 when you remap the colors for your display (for example by changing the
2213 color associated with color2 for your xterm), since color names may then
2214 lose their normal meaning.
2216 If your terminal does not support color, it is still possible change the
2217 video attributes through the use of the ``mono'' command:
2219 Usage: monoobject attribute [regexp]
2221 Usage: monoindex attribute pattern
2223 Usage: unmonoindex pattern [pattern ...]
2225 where attribute is one of the following:
2237 10. Ignoring (weeding) unwanted message headers
2239 Usage: ignorepattern [pattern ...]
2241 Usage: unignorepattern [pattern ...]
2243 Messages often have many header fields added by automatic processing
2244 systems, or which may not seem useful to display on the screen. This
2245 command allows you to specify header fields which you don't normally want
2248 You do not need to specify the full header field name. For example,
2249 ``ignore content-'' will ignore all header fields that begin with the
2250 pattern ``content-''. ``ignore *'' will ignore all headers.
2252 To remove a previously added token from the list, use the ``unignore''
2253 command. The ``unignore'' command will make Mutt-ng display headers with
2254 the given pattern. For example, if you do ``ignore x-'' it is possible to
2255 ``unignore x-mailer''.
2257 ``unignore *'' will remove all tokens from the ignore list.
2261 # Sven's draconian header weeding
2263 unignore from date subject to cc
2264 unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
2267 11. Alternative addresses
2269 Usage: alternatesregexp [regexp ...]
2271 Usage: unalternatesregexp [regexp ...]
2273 With various functions, mutt will treat messages differently, depending on
2274 whether you sent them or whether you received them from someone else. For
2275 instance, when replying to a message that you sent to a different party,
2276 mutt will automatically suggest to send the response to the original
2277 message's recipients--responding to yourself won't make much sense in many
2278 cases. (See $reply_to.)
2280 Many users receive e-mail under a number of different addresses. To fully
2281 use mutt's features here, the program must be able to recognize what
2282 e-mail addresses you receive mail under. That's the purpose of the
2283 alternates command: It takes a list of regular expressions, each of which
2284 can identify an address under which you receive e-mail.
2286 The unalternates command can be used to write exceptions to alternates
2287 patterns. If an address matches something in an alternates command, but
2288 you nonetheless do not think it is from you, you can list a more precise
2289 pattern under an unalternates command.
2291 To remove a regular expression from the alternates list, use the
2292 unalternates command with exactly the same regexp . Likewise, if the
2293 regexp for a alternates command matches an entry on the unalternates list,
2294 that unalternates entry will be removed. If the regexp for unalternates is
2295 ``*'', all entries on alternates will be removed.
2301 Mutt-ng contains support for so-called format=flowed messages. In the
2302 beginning of email, each message had a fixed line width, and it was enough
2303 for displaying them on fixed-size terminals. But times changed, and
2304 nowadays hardly anybody still uses fixed-size terminals: more people
2305 nowaydays use graphical user interfaces, with dynamically resizable
2306 windows. This led to the demand of a new email format that makes it
2307 possible for the email client to make the email look nice in a resizable
2308 window without breaking quoting levels and creating an incompatible email
2309 format that can also be displayed nicely on old fixed-size terminals.
2311 For introductory information on format=flowed messages, see
2312 <http://www.joeclark.org/ffaq.html>.
2314 12.2. Receiving: Display Setup
2316 When you receive emails that are marked as format=flowed messages, and is
2317 formatted correctly, mutt-ng will try to reformat the message to optimally
2318 fit on your terminal. If you want a fixed margin on the right side of your
2319 terminal, you can set the following:
2323 The code above makes the line break 10 columns before the right side of
2326 If your terminal is so wide that the lines are embarrassingly long, you
2327 can also set a maximum line length:
2329 set max_line_length = 120
2331 The example above will give you lines not longer than 120 characters.
2333 When you view at format=flowed messages, you will often see the quoting
2334 hierarchy like in the following example:
2336 >Bill, can you please send last month's progress report to Mr.
2337 >Morgan? We also urgently need the cost estimation for the new
2338 >production server that we want to set up before our customer's
2339 >project will go live.
2341 This obviously doesn't look very nice, and it makes it very hard to
2342 differentiate between text and quoting character. The solution is to
2343 configure mutt-ng to "stuff" the quoting:
2347 This will lead to a nicer result that is easier to read:
2349 > Bill, can you please send last month's progress report to Mr.
2350 > Morgan? We also urgently need the cost estimation for the new
2351 > production server that we want to set up before our customer's
2352 > project will go live.
2356 If you want mutt-ng to send emails with format=flowed set, you need to
2361 Additionally, you have to use an editor which supports writing
2362 format=flowed-conforming emails. For vim(1), this is done by adding w to
2363 the formatoptions (see :h formatoptions and :h fo-table) when writing
2366 Also note that format=flowed knows about ``space-stuffing'', that is, when
2367 sending messages, some kinds of lines have to be indented with a single
2368 space on the sending side. On the receiving side, the first space (if any)
2369 is removed. As a consequence and in addition to the above simple setting,
2370 please keep this in mind when making manual formattings within the editor.
2371 Also note that mutt-ng currently violates the standard (RfC 3676) as it
2372 does not space-stuff lines starting with:
2374 o > This is not the quote character but a right angle used for other
2377 Please make sure that you manually prepend a space to each of them.
2379 12.4. Additional Notes
2381 For completeness, the $delete_space variable provides the mechanism to
2382 generate a DelSp=yes parameter on outgoing messages. According to the
2383 standard, clients receiving a format=flowed messages should delete the
2384 last space of a flowed line but still interpret the line as flowed.
2385 Because flowed lines usually contain only one space at the end, this
2386 parameter would make the receiving client concatenate the last word of the
2387 previous with the first of the current line without a space. This makes
2388 ordinary text unreadable and is intended for languages rarely using
2389 spaces. So please use this setting only if you're sure what you're doing.
2393 Usage: listsregexp [regexp ...]
2395 Usage: unlistsregexp [regexp ...]
2397 Usage: subscriberegexp [regexp ...]
2399 Usage: unsubscriberegexp [regexp ...]
2401 Mutt-ng has a few nice features for using-lists. In order to take
2402 advantage of them, you must specify which addresses belong to mailing
2403 lists, and which mailing lists you are subscribed to. Once you have done
2404 this, the list-reply function will work for all known lists. Additionally,
2405 when you send a message to a subscribed list, mutt will add a
2406 Mail-Followup-To header to tell other users' mail user agents not to send
2407 copies of replies to your personal address. Note that the Mail-Followup-To
2408 header is a non-standard extension which is not supported by all mail user
2409 agents. Adding it is not bullet-proof against receiving personal CCs of
2410 list messages. Also note that the generation of the Mail-Followup-To
2411 header is controlled by the $followup_to configuration variable.
2413 More precisely, Mutt-ng maintains lists of patterns for the addresses of
2414 known and subscribed mailing lists. Every subscribed mailing list is
2415 known. To mark a mailing list as known, use the ``lists'' command. To mark
2416 it as subscribed, use ``subscribe''.
2418 You can use regular expressions with both commands. To mark all messages
2419 sent to a specific bug report's address on mutt's bug tracking system as
2420 list mail, for instance, you could say ``subscribe [0-9]*@bugs.guug.de''.
2421 Often, it's sufficient to just give a portion of the list's e-mail
2424 Specify as much of the address as you need to to remove ambiguity. For
2425 example, if you've subscribed to the Mutt-ng mailing list, you will
2426 receive mail addressed to mutt-users@mutt.org. So, to tell Mutt-ng that
2427 this is a mailing list, you could add ``lists mutt-users'' to your
2428 initialization file. To tell mutt that you are subscribed to it, add
2429 ``subscribe mutt-users'' to your initialization file instead. If you also
2430 happen to get mail from someone whose address is mutt-users@example.com,
2431 you could use ``lists mutt-users@mutt\\.org'' or ``subscribe
2432 mutt-users@mutt\\.org'' to match only mail from the actual list.
2434 The ``unlists'' command is used to remove a token from the list of known
2435 and subscribed mailing-lists. Use ``unlists *'' to remove all tokens.
2437 To remove a mailing list from the list of subscribed mailing lists, but
2438 keep it on the list of known mailing lists, use ``unsubscribe''.
2440 14. Using Multiple spool mailboxes
2442 Usage: mbox-hook [!]patternmailbox
2444 This command is used to move read messages from a specified mailbox to
2445 adifferent mailbox automatically when you quit or change folders. pattern
2446 is a regular expression specifying the mailbox to treat as a ``spool''
2447 mailbox and mailbox specifies where mail should be saved when read.
2449 Unlike some of the other hook commands, only the first matching pattern is
2450 used (it is not possible to save read mail in more than a single mailbox).
2452 15. Defining mailboxes which receive mail
2454 Usage: mailboxes[!]filename [filename ... ]
2456 Usage: unmailboxes[!]filename [filename ... ]
2458 This command specifies folders which can receive mail and which will be
2459 checked for new messages. By default, the main menu status bar displays
2460 how many of these folders have new messages.
2462 When changing folders, pressing space will cycle through folders with new
2465 Pressing TAB in the directory browser will bring up a menu showing the
2466 files specified by the mailboxes command, and indicate which contain new
2467 messages. Mutt-ng will automatically enter this mode when invoked from the
2468 command line with the -y option.
2470 The ``unmailboxes'' command is used to remove a token from the list of
2471 folders which receive mail. Use ``unmailboxes *'' to remove all tokens.
2473 Note: new mail is detected by comparing the last modification time to the
2474 last access time. Utilities like biff or frm or any other program which
2475 accesses the mailbox might cause Mutt-ng to never detect new mail for that
2476 mailbox if they do not properly reset the access time. Backup tools are
2477 another common reason for updated access times.
2479 Note: the filenames in the mailboxes command are resolved when the command
2480 is executed, so if these names contain shortcuts (such as ``='' and
2481 ``!''), any variable definition that affect these characters (like $folder
2482 and $spoolfile) should be executed before the mailboxes command.
2484 16. User defined headers
2488 Usage: unmy_hdrfield [field ...]
2490 The ``my_hdr'' command allows you to create your own header fields which
2491 will be added to every message you send.
2493 For example, if you would like to add an ``Organization:'' header field to
2494 all of your outgoing messages, you can put the command
2496 my_hdr Organization: A Really Big Company, Anytown, USA
2500 Note: space characters are not allowed between the keyword and the colon
2501 (``:''). The standard for electronic mail (RfC 822) says that space is
2502 illegal there, so Mutt-ng enforces the rule.
2504 If you would like to add a header field to a single message, you should
2505 either set the $edit_headers variable, or use the edit-headers function
2506 (default: ``E'') in the send-menu so that you can edit the header of your
2507 message along with the body.
2509 To remove user defined header fields, use the ``unmy_hdr'' command. You
2510 may specify an asterisk (``*'') to remove all header fields, or the fields
2511 to remove. For example, to remove all ``To'' and ``Cc'' header fields, you
2516 17. Defining the order of headers when viewing messages
2518 Usage: hdr_orderheader header [header ...]
2520 Usage: unhdr_order[ * | header header ...]
2522 With this command, you can specify an order in which mutt will attempt to
2523 present headers to you when viewing messages.
2525 ``unhdr_order *'' will clear all previous headers from the order list,
2526 thus removing the header order effects set by the system-wide startup
2529 hdr_order From Date: From: To: Cc: Subject:
2531 18. Specify default save filename
2533 Usage: save-hook [!]patternfilename
2535 This command is used to override the default filename used when saving
2536 messages. filename will be used as the default filename if the message is
2537 From: an address matching regexp or if you are the author and the message
2538 is addressed to: something matching regexp .
2540 See pattern-hook for information on the exact format of pattern.
2544 save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
2545 save-hook aol\\.com$ +spam
2547 Also see the fcc-save-hook command.
2549 19. Specify default Fcc: mailbox when composing
2551 Usage: fcc-hook [!]patternmailbox
2553 This command is used to save outgoing mail in a mailbox other than
2554 $record. Mutt-ng searches the initial list of message recipients for the
2555 first matching regexp and uses mailbox as the default Fcc: mailbox. If no
2556 match is found the message will be saved to $record mailbox.
2558 See pattern-hook for information on the exact format of pattern.
2562 fcc-hook [@.]aol\\.com$ +spammers
2564 The above will save a copy of all messages going to the aol.com domain to
2565 the `+spammers' mailbox by default. Also see the fcc-save-hook command.
2567 20. Specify default save filename and default Fcc: mailbox at once
2569 Usage: fcc-save-hook [!]patternmailbox
2571 This command is a shortcut, equivalent to doing both a fcc-hook and a
2572 save-hook with its arguments.
2574 21. Change settings based upon message recipients
2576 Usage: reply-hook [!]patterncommand
2578 Usage: send-hook [!]patterncommand
2580 Usage: send2-hook [!]patterncommand
2582 These commands can be used to execute arbitrary configuration commands
2583 based upon recipients of the message. pattern is a regular expression
2584 matching the desired address. command is executed when regexp matches
2585 recipients of the message.
2587 reply-hook is matched against the message you are replying to, instead of
2588 the message you are sending .send-hook is matched against all messages,
2589 both new and replies .Note:reply-hooks are matched before the send-hook,
2590 regardless of the order specified in the users's configuration file.
2592 send2-hook is matched every time a message is changed, either by editing
2593 it, or by using the compose menu to change its recipients or subject.
2594 send2-hook is executed after send-hook ,and can, e.g., be used to set
2595 parameters such as the $sendmail variable depending on the message's
2598 For each type of send-hook or reply-hook, when multiple matches occur,
2599 commands are executed in the order they are specified in the muttrc (for
2602 See pattern-hook for information on the exact format of pattern.
2604 Example: send-hook mutt "set mime_forward signature=''"
2606 Another typical use for this command is to change the values of the
2607 $attribution, $signature and $locale variables in order to change the
2608 language of the attributions and signatures based upon the recipients.
2610 Note: the send-hook's are only executed ONCE after getting the initial
2611 list of recipients. Adding a recipient after replying or editing the
2612 message will NOT cause any send-hook to be executed. Also note that my_hdr
2613 commands which modify recipient headers, or the message's subject, don't
2614 have any effect on the current message when executed from a send-hook.
2616 22. Change settings before formatting a message
2618 Usage: message-hook [!]patterncommand
2620 This command can be used to execute arbitrary configuration commands
2621 before viewing or formatting a message based upon information about the
2622 message. command is executed if the pattern matches the message to be
2623 displayed. When multiple matches occur, commands are executed in the order
2624 they are specified in the muttrc.
2626 See pattern-hook for information on the exact format of pattern.
2630 message-hook ~A 'set pager=builtin'
2631 message-hook '~f freshmeat-news' 'set pager="less \"+/^ subject:.*\""'
2633 23. Choosing the cryptographic key of the recipient
2635 Usage: crypt-hookpatternkeyid
2637 When encrypting messages with PGP or OpenSSL, you may want to associate a
2638 certain key with a given e-mail address automatically, either because the
2639 recipient's public key can't be deduced from the destination address, or
2640 because, for some reasons, you need to override the key Mutt-ng
2641 wouldnormally use. The crypt-hook command provides a method by which you
2642 can specify the ID of the public key to be used when encrypting messages
2643 to a certain recipient.
2645 The meaning of "key id" is to be taken broadly in this context: You can
2646 either put a numerical key ID here, an e-mail address, or even just a real
2649 24. Adding key sequences to the keyboard buffer
2653 This command adds the named string to the keyboard buffer. The string may
2654 contain control characters, key names and function names like the sequence
2655 string in the macro command. You may use it to automatically run a
2656 sequence of commands at startup, or when entering certain folders. For
2657 example, the following command will automatically collapse all threads
2658 when entering a folder:
2660 folder-hook . 'push <collapse-all>'
2662 25. Executing functions
2664 Usage: execfunction [function ... ]
2666 This command can be used to execute any function. Functions are listed in
2667 the functions. ``exec function'' is equivalent to ``push <function>''.
2671 Usage: scorepattern value
2673 Usage: unscorepattern [pattern ... ]
2675 In situations where you have to cope with a lot of emails, e.g. when you
2676 read many different mailing lists, and take part in discussions, it is
2677 always useful to have the important messages marked and the annoying
2678 messages or the ones that you aren't interested in deleted. For this
2679 purpose, mutt-ng features a mechanism called ``scoring''.
2681 When you use scoring, every message has a base score of 0. You can then
2682 use the score command to define patterns and a positive or negative value
2683 associated with it. When a pattern matches a message, the message's score
2684 will be raised or lowered by the amount of the value associated with the
2687 score "~f nion@muttng\.org" 50
2688 score "~f @sco\.com" -100
2690 If the pattern matches, it is also possible to set the score value of the
2691 current message to a certain value and then stop evaluation:
2693 score "~f santaclaus@northpole\.int" =666
2695 What is important to note is that negative score values will be rounded up
2698 To make scoring actually useful, the score must be applied in some way.
2699 That's what the score thresholds are for. Currently, there are three score
2702 o flag threshold: when a message has a score value equal or higher than
2703 the flag threshold, it will be flagged.
2705 o read threshold: when a message has a score value equal or lower than
2706 the read threshold, it will be marked as read.
2708 o delete threshold: when a message has a score value equal or lower than
2709 the delete threshold, it will be marked as deleted.
2711 These three thresholds can be set via the variables $score_threshold_read,
2712 $score_threshold_flag and $score_threshold_delete.
2714 By default, $score_threshold_read and $score_threshold_delete are set to
2715 -1, which means that in the default threshold configuration no message
2716 will ever get marked as read or deleted.
2718 Scoring gets especially interesting when combined with the color command
2721 color index black yellow "~n 10-"
2722 color index red yellow "~n 100-"
2724 The rules above mark all messages with a score between 10 and 99 with
2725 black and yellow, and messages with a score greater or equal 100 with red
2726 and yellow. This might be unusual to you if you're used to e.g. slrn's
2727 scoring mechanism, but it is more flexible, as it visually marks different
2732 Usage: spampattern format
2734 Usage: nospampattern
2736 Mutt-ng has generalized support for external spam-scoring filters. By
2737 defining your spam patterns with the spam and nospam commands, you can
2738 limit, search, and sort your mail based on its spam attributes, as
2739 determined by the external filter. You also can display the spam
2740 attributes in your index display using the %H selector in the
2741 $index_format variable. (Tip: try %?H?[%H] ? to display spam tags only
2742 when they are defined for a given message.)
2744 Your first step is to define your external filter's spam patterns using
2745 the spam command. pattern should be a regular expression that matches a
2746 header in a mail message. If any message in the mailbox matches this
2747 regular expression, it will receive a ``spam tag'' or ``spam attribute''
2748 (unless it also matches a nospam pattern -- see below.) The appearance of
2749 this attribute is entirely up to you, and is governed by the format
2750 parameter. format can be any static text, but it also can include
2751 back-references from the pattern expression. (A regular expression
2752 ``back-reference'' refers to a sub-expression contained within
2753 parentheses.) %1 is replaced with the first back-reference in the regex,
2754 %2 with the second, etc.
2756 If you're using multiple spam filters, a message can have more than one
2757 spam-related header. You can define spam patterns for each filter you use.
2758 If a message matches two or more of these patterns, and the
2759 $spam_separator variable is set to a string, then the message's spam tag
2760 will consist of all the format strings joined together, with the value of
2761 $spam_separator separating them.
2763 For example, suppose I use DCC, SpamAssassin, and PureMessage. I might
2764 define these spam settings:
2766 spam "X-DCC-.*-Metrics:.*(....)=many" "90+/DCC-%1"
2767 spam "X-Spam-Status: Yes" "90+/SA"
2768 spam "X-PerlMX-Spam: .*Probability=([0-9]+)%" "%1/PM"
2769 set spam_separator=", "
2771 If I then received a message that DCC registered with ``many'' hits under
2772 the ``Fuz2'' checksum, and that PureMessage registered with a 97%
2773 probability of being spam, that message's spam tag would read90+/DCC-Fuz2,
2774 97/PM. (The four characters before ``=many'' in a DCC report indicate the
2775 checksum used -- in this case, ``Fuz2''.)
2777 If the $spam_separator variable is unset, then each spam pattern match
2778 supersedes the previous one. Instead of getting joined format strings,
2779 you'll get only the last one to match.
2781 The spam tag is what will be displayed in the index when you use %H in the
2782 $index_format variable. It's also the string that the ~H pattern-matching
2783 expression matches against for search and limit functions. And it's what
2784 sorting by spam attribute will use as a sort key.
2786 That's a pretty complicated example, and most people's actual environments
2787 will have only one spam filter. The simpler your configuration, the more
2788 effective mutt can be, especially when it comes to sorting.
2790 Generally, when you sort by spam tag, mutt will sort lexically -- that is,
2791 by ordering strings alphnumerically. However, if a spam tag begins with a
2792 number, mutt will sort numerically first, and lexically only when two
2793 numbers are equal in value. (This is like UNIX's sort -n.) A message with
2794 no spam attributes at all -- that is, one that didn't match any of your
2795 spam patterns -- is sorted at lowest priority. Numbers are sorted next,
2796 beginning with 0 and ranging upward. Finally, non-numeric strings are
2797 sorted, with ``a'' taking lowerpriority than ``z''. Clearly, in general,
2798 sorting by spam tags is most effective when you can coerce your filter to
2799 give you a raw number. But in case you can't, mutt can still do something
2802 The nospam command can be used to write exceptions to spam patterns. If a
2803 header pattern matches something in a spam command, but you nonetheless do
2804 not want it to receive a spam tag, you can list amore precise pattern
2805 under a nospam command.
2807 If the pattern given to nospam is exactly the same as the pattern on an
2808 existing spam list entry, the effect will be to remove the entry from the
2809 spam list, instead of adding an exception. Likewise, if the pattern for a
2810 spam command matches an entry on the nospam list, that nospam entry will
2811 be removed. If the pattern for nospam is ``*'', all entries on both lists
2812 will be removed. This might be the default action if you use spam and
2813 nospam in conjunction with a folder-hook.
2815 You can have as many spam or nospam commands as you like. You can even do
2816 your own primitive spam detection within mutt -- for example, if you
2817 consider all mail from MAILER-DAEMON to be spam, you can use a spam
2820 spam "^From: .*MAILER-DAEMON" "999"
2822 28. Setting variables
2824 Usage: set[no|inv]variable [=value] [variable...]
2826 Usage: togglevariable [variable ...]
2828 Usage: unsetvariable [variable ...]
2830 Usage: resetvariable [variable ...]
2832 This command is used to set (and unset) variables. There are four basic
2833 types of variables: boolean, number, string and quadoption. boolean
2834 variables can be set (true) or unset (false). number variables can be
2835 assigned a positive integer value.
2837 string variables consist of any number of printable characters. strings
2838 must be enclosed in quotes if they contain spaces or tabs. You may also
2839 use the ``C'' escape sequences \n and \t for newline and tab,
2842 quadoption variables are used to control whether or not to be prompted for
2843 certain actions, or to specify a default action. A value of yes will cause
2844 the action to be carried out automatically as if you had answered yes to
2845 the question. Similarly, a value of no will cause the the action to be
2846 carried out as if you had answered ``no.'' A value of ask-yes will cause a
2847 prompt with a default answer of ``yes'' and ask-no will provide a default
2850 Prefixing a variable with ``no'' will unset it. Example: set noaskbcc .
2852 For boolean variables, you may optionally prefix the variable name with
2853 inv to toggle the value (on or off). This is useful when writing macros.
2854 Example: set invsmart_wrap.
2856 The toggle command automatically prepends the inv prefix to all specified
2859 The unset command automatically prepends the no prefix to all specified
2862 Using the enter-command function in the index menu, you can query the
2863 value of a variable by prefixing the name of the variable with a question
2868 The question mark is actually only required for boolean and quadoption
2871 The reset command resets all given variables to the compile time defaults
2872 (hopefully mentioned in this manual). If you use the command set and
2873 prefix the variable with ``&'' this has the same behavior as the reset
2876 With the reset command there exists the special variable ``all'', which
2877 allows you to reset all variables to their system defaults.
2879 29. Reading initialization commands from another file
2881 Usage: sourcefilename [filename ...]
2883 This command allows the inclusion of initialization commands from other
2884 files. For example, I place all of my aliases in ~/.mail_aliases so that I
2885 can make my ~/.muttrc readable and keep my aliases private.
2887 If the filename begins with a tilde (``~''), it will be expanded to the
2888 path of your home directory.
2890 If the filename ends with a vertical bar (|), then filename is considered
2891 to be an executable program from which to read input (eg. source
2896 Usage: unhook[* | hook-type]
2898 This command permits you to flush hooks you have previously defined. You
2899 can either remove all hooks by giving the ``*'' character as an argument,
2900 or you can remove all hooks of a specific type by saying something like
2905 31.1. Character Sets
2907 As users may run mutt-ng on different systems, the configuration must be
2908 maintained because it's likely that people want to use the setup
2909 everywhere they use mutt-ng. And mutt-ng tries to help where it can.
2911 To not produce conflicts with different character sets, mutt-ng allows
2912 users to specify in which character set their configuration files are
2913 encoded. Please note that while reading the configuration files, this is
2914 only respected after the corresponding declaration appears. It's advised
2915 to put the following at the very beginning of a users muttngrc:
2917 set config_charset = "..."
2919 and replacing the dots with the actual character set. To avoid problems
2920 while maintaining the setup, vim(1) user's may want to use modelines as
2923 # vim:fileencoding=...:
2925 while, again, replacing the dots with the appropriate name. This tells
2926 vim(1) as which character set to read and save the file.
2928 31.2. Modularization
2930 ``Modularization'' means to divide the setup into several files while
2931 sorting the options or commands by topic. Especially for longer setups
2932 (e.g. with many hooks), this helps maintaining it and solving trouble.
2934 When using separation, setups may be, as a whole or in fractions, shared
2935 over different systems.
2937 31.3. Conditional parts
2939 When using a configuration on different systems, the user may not always
2940 have influence on how mutt-ng is installed and which features it includes.
2942 To solve this, mutt-ng contain a feature based on the ``ifdef'' patch
2943 written for mutt. Its basic syntax is:
2945 ifdef <item> <command>
2946 ifndef <item> <command>
2948 ...whereby <item> can be one of:
2958 All available functions, variables and menus are documented elsewhere in
2959 this manual but ``features'' is specific to these two commands. To test
2960 for one, prefix one of the following keywords with feature_: ncurses,
2961 slang, iconv, idn, dotlock, standalone, pop, nntp, imap, ssl, gnutls,
2962 sasl, sasl2, libesmtp, compressed, color, classic_pgp, classic_smime,
2965 As an example, one can use the following in ~/.muttngrc:
2967 ifdef feature_imap 'source ~/.mutt-ng/setup-imap'
2968 ifdef feature_pop 'source ~/.mutt-ng/setup-pop'
2969 ifdef feature_nntp 'source ~/.mutt-ng/setup-nntp'
2971 ...to only source ~/.mutt-ng/setup-imap if IMAP support is built in, only
2972 source ~/.mutt-ng/setup-pop if POP support is built in and only source
2973 ~/.mutt-ng/setup-nntp if NNTP support is built in.
2975 An example for testing for variable names can be used if users use
2976 different revisions of mutt-ng whereby the older one may not have a
2977 certain variable. To test for the availability of $imap_mail_check use:
2979 ifdef imap_mail_check 'set imap_mail_check = 300'
2981 Provided for completeness is the test for menu names. To set
2982 $pager_index_lines only if the pager menu is available, use:
2984 ifdef pager 'set pager_index_lines = 10'
2986 For completeness, too, the opposite of ifdef is provided: ifndef which
2987 only executes the command if the test fails. For example, the following
2988 two examples are equivalent:
2990 ifdef feature_ncurses 'source ~/.mutt-ng/setup-ncurses'
2991 ifndef feature_ncurses 'source ~/.mutt-ng/setup-slang'
2995 ifdef feature_slang 'source ~/.mutt-ng/setup-slang'
2996 ifndef feature_slang 'source ~/.mutt-ng/setup-ncurses'
2998 32. Obsolete Variables
3000 In the process of ensuring and creating more consistency, many variables
3001 have been renamed and some of the old names were already removed. Please
3002 see sect-obsolete for a complete list.
3004 Chapter 4. Advanced Usage
3008 1. Regular Expressions
3012 2.1. Complex Patterns
3014 2.2. Patterns and Dates
3020 3.2. Conditional Expansion
3022 3.3. Modifications and Padding
3028 5.1. Message Matching in Hooks
3030 6. Using the sidebar
3032 7. External Address Queries
3036 9. Mailbox Shortcuts
3038 10. Handling Mailing Lists
3042 11.1. Linking threads
3044 11.2. Breaking threads
3046 12. Delivery Status Notification (DSN) Support
3048 13. POP3 Support (OPTIONAL)
3050 14. IMAP Support (OPTIONAL)
3052 14.1. The Folder Browser
3054 14.2. Authentication
3056 15. NNTP Support (OPTIONAL)
3058 15.1. Again: Scoring
3060 16. SMTP Support (OPTIONAL)
3062 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
3064 18. Start a WWW Browser on URLs (EXTERNAL)
3066 19. Compressed folders Support (OPTIONAL)
3068 19.1. Open a compressed mailbox for reading
3070 19.2. Write a compressed mailbox
3072 19.3. Append a message to a compressed mailbox
3074 19.4. Encrypted folders
3076 1. Regular Expressions
3078 All string patterns in Mutt-ng including those in more complex patterns
3079 must be specified using regular expressions (regexp) in the ``POSIX
3080 extended'' syntax (which is more or less the syntax used by egrep and GNU
3081 awk). For your convenience, we have included below a brief description of
3084 The search is case sensitive if the pattern contains at least one upper
3085 case letter, and case insensitive otherwise. Note that ``\'' must be
3086 quoted if used for a regular expression in an initialization command:
3089 A regular expression is a pattern that describes a set of strings. Regular
3090 expressions are constructed analogously to arithmetic expressions, by
3091 using various operators to combine smaller expressions.
3093 Note that the regular expression can be enclosed/delimited by either " or
3094 ' which is useful if the regular expression includes a white-space
3095 character. See muttrc-syntax for more information on " and ' delimiter
3096 processing. To match a literal " or ' you must preface it with \
3099 The fundamental building blocks are the regular expressions that match a
3100 single character. Most characters, including all letters and digits, are
3101 regular expressions that match themselves. Any metacharacter with special
3102 meaning may be quoted by preceding it with a backslash.
3104 The period ``.'' matches any single character. The caret ``^'' andthe
3105 dollar sign ``$'' are metacharacters that respectively match the empty
3106 string at the beginning and end of a line.
3108 A list of characters enclosed by ``]'' and ``]'' matches any single
3109 character in that list; if the first character of the list is a caret
3110 ``^'' then it matches any character not in the list. For example, the
3111 regular expression ]0123456789] matches any single digit. A range of ASCII
3112 characters may be specified by giving the first and last characters,
3113 separated by a hyphen ``-''. Most metacharacters lose their special
3114 meaning inside lists. To include a literal ``]'' place it first in the
3115 list. Similarly, to include a literal ``^'' place it anywhere but first.
3116 Finally, to include a literal hyphen ``-'' place it last.
3118 Certain named classes of characters are predefined. Character classes
3119 consist of ``[:'', a keyword denoting the class, and ``:]''. The following
3120 classes are defined by the POSIX standard:
3124 Alphanumeric characters.
3128 Alphabetic characters.
3132 Space or tab characters.
3144 Characters that are both printable and visible. (A space is
3145 printable, but not visible, while an ``a'' is both.)
3149 Lower-case alphabetic characters.
3153 Printable characters (characters that are not control characters.)
3157 Punctuation characters (characters that are not letter, digits,
3158 control characters, or space characters).
3162 Space characters (such as space, tab and formfeed, to name a few).
3166 Upper-case alphabetic characters.
3170 Characters that are hexadecimal digits.
3172 A character class is only valid in a regular expression inside the
3173 brackets of a character list. Note that the brackets in these class names
3174 are part of the symbolic names, and must be included in addition to the
3175 brackets delimiting the bracket list. For example, [[:digit:]] is
3176 equivalent to [0-9].
3178 Two additional special sequences can appear in character lists. These
3179 apply to non-ASCII character sets, which can have single symbols
3180 (calledcollating elements) that are represented with more than one
3181 character, as well as several characters that are equivalent for collating
3182 or sorting purposes:
3186 A collating symbol is a multi-character collating element enclosed
3187 in ``[.'' and ``.]''. For example, if ``ch'' is a collating
3188 element, then [[.ch.]] is a regexp that matches this collating
3189 element, while [ch] is a regexp that matches either ``c'' or
3194 An equivalence class is a locale-specific name for a list of
3195 characters that are equivalent. The name is enclosed in ``[='' and
3196 ``=]''. For example, the name ``e'' might be used to represent all
3197 of ``è'' ``é'' and ``e''. In this case, [[=e=]] is a regexp that
3198 matches any of ``è'', ``é'' and ``e''.
3200 A regular expression matching a single character may be followed by one of
3201 several repetition operators:
3205 The preceding item is optional and matched at most once.
3209 The preceding item will be matched zero or more times.
3213 The preceding item will be matched one or more times.
3217 The preceding item is matched exactly n times.
3221 The preceding item is matched n or more times.
3225 The preceding item is matched at most m times.
3229 The preceding item is matched at least n times, but no more than m
3232 Two regular expressions may be concatenated; the resulting regular
3233 expression matches any string formed by concatenating two substrings that
3234 respectively match the concatenated subexpressions.
3236 Two regular expressions may be joined by the infix operator ``|''; the
3237 resulting regular expression matches any string matching either
3240 Repetition takes precedence over concatenation, which in turn takes
3241 precedence over alternation. A whole subexpression may be enclosed in
3242 parentheses to override these precedence rules.
3244 Note: If you compile Mutt-ng with the GNU rx package, the following
3245 operators may also be used in regular expressions:
3249 Matches the empty string at either the beginning or the end of a
3254 Matches the empty string within a word.
3258 Matches the empty string at the beginning of a word.
3262 Matches the empty string at the end of a word.
3266 Matches any word-constituent character (letter, digit, or
3271 Matches any character that is not word-constituent.
3275 Matches the empty string at the beginning of a buffer (string).
3279 Matches the empty string at the end of a buffer.
3281 Please note however that these operators are not defined by POSIX, so they
3282 may or may not be available in stock libraries on various systems.
3286 Mutt-ng's pattern language provides a simple yet effective way to set up
3287 rules to match messages, e.g. for operations like tagging and scoring. A
3288 pattern consists of one or more sub-pattern, which can be logically
3289 grouped, ORed, and negated. For a complete listing of these patterns,
3290 please refer to table patterns in the Reference chapter.
3292 It must be noted that in this table, EXPR is a regular expression. For
3293 ranges, the forms <[MAX], >>[MIN], [MIN]- and -[MAX] are also possible.
3295 2.1. Complex Patterns
3297 It is possible to combine several sub-patterns to a more complex pattern.
3298 The most simple possibility is to logically AND several patterns by
3299 stringing them together:
3303 The pattern above matches all messages that contain ``SPAM'' in the
3304 subject and are unread.
3306 To logical OR patterns, simply use the | operator. This one especially
3307 useful when using local groups:
3309 ~f ("nion@muttng\.org"|"ak@muttng\.org"|"pdmef@muttng\.org")
3310 (~b mutt-ng|~s Mutt-ng)
3313 The first pattern matches all messages that were sent by one of the
3314 mutt-ng maintainers, while the seconds pattern matches all messages that
3315 contain ``mutt-ng'' in the message body or ``Mutt-ng'' in the subject. The
3316 third pattern matches all messages that do not contain ``@synflood\.at''
3317 in the References: header, i.e. messages that are not an (indirect) reply
3318 to one of my messages. A pattern can be logicall negated using the !
3321 2.2. Patterns and Dates
3323 When using dates in patterns, the dates must be specified in a special
3324 format, i.e. DD/MM/YYYY. If you don't specify month or year, they default
3325 to the current month or year. When using date ranges, and you specify only
3326 the minimum or the maximum, the specified date will be excluded, e.g.
3327 01/06/2005- matches against all messages after Juni 1st, 2005.
3329 It is also possible to use so-called ``error margins'' when specifying
3330 date ranges. You simply specify a date, and then the error margin. This
3331 margin needs to contain the information whether it goes ``forth'' or
3332 ``back'' in time, by using + and -. Then follows a number and a unit, i.e.
3333 y for years, m for months, w for weeks and d for days. If you use the
3334 special * sign, it means that the error margin goes to both``directions''
3341 The first pattern matches all dates between January 1st, 2005 and January
3342 1st 2006. The second pattern matches all dates between October 18th, 2004
3343 and October 4th 2004 (2 weeks before 18/10/2004), while the third pattern
3344 matches all dates 1 day around December 28th, 2004 (i.e. Dec 27th, 28th
3347 Relative dates are also very important, as they make it possible to
3348 specify date ranges between a fixed number of units and the current date.
3349 How this works can be seen in the following example:
3351 ~d >2w # messages older than two weeks
3352 ~d <3d # messages newer than 3 days
3353 ~d =1m # messages that are exactly one month old
3359 The so called Format Strings offer great flexibility when configuring
3360 mutt-ng. In short, they describe what items to print out how in menus and
3363 Basically, they work as this: for different menus and bars, there's a
3364 variable specifying the layout. For every item available, there is a so
3367 For example, when running mutt-ng on different machines or different
3368 versions for testing purposes, it may be interesting to have the following
3369 information always printed on screen when one is in the index:
3371 o the current hostname
3373 o the current mutt-ng version number
3375 The setting for the status bar of the index is controlled via the
3376 $status_format variable. For the hostname and version string, there's an
3377 expando for $status_format: %h expands to the hostname and %v to the
3378 version string. When just configuring:
3380 set status_format = "%v on %h: ..."
3382 mutt-ng will replace the sequence %v with the version string and %h with
3383 the host's name. When you are, for example, running mutt-ng version 1.5.9i
3384 on host mailhost, you'll see the following when you're in the index:
3386 Mutt-ng 1.5.9i on mailhost: ...
3388 In the index, there're more useful information one could want to see:
3390 o which mailbox is open
3392 o how man new, flagged or postponed messages
3396 To include the mailbox' name is as easy as:
3398 set status_format = "%v on %h: %B: ...
3400 When the currently opened mailbox is Inbox, this will be expanded to:
3402 Mutt-ng 1.5.9i on mailhost: Inbox: ...
3404 For the number of certain types of messages, one more feature of the
3405 format strings is extremely useful. If there aren't messages of a certain
3406 type, it may not be desired to print just that there aren't any but
3407 instead only print something if there are any.
3409 3.2. Conditional Expansion
3411 To only print the number of messages if there are new messages in the
3412 current mailbox, further extend $status_format to:
3414 set status_format = "%v on %h: %B %?n?%n new? ...
3416 This feature is called nonzero-printing and works as this: some expandos
3417 may be optionally printed nonzero, i.e. a portion of the format string is
3418 only evaluated if the value of the expando is different from zero. The
3421 %?<item>?<string if nonzero>?
3423 which tells mutt-ng to only look at <string if nonzero> if the value of
3424 the %<item%gt; expando is different from zero. In our example, we used n
3425 as the expando to check for and %n new as the optional nonzero string.
3427 But this is not all: this feature only offers one alternative: ``print
3428 something if not zero.'' Mutt-ng does, as you might guess, also provide a
3429 logically complete version: ``if zero, print something and else print
3430 something else.'' This is achieved by the following syntax for those
3431 expandos which may be printed nonzero:
3433 %?<item>?<string if nonzero>&<string if zero>?
3435 Using this we can make mutt-ng to do the following:
3437 o make it print ``n new messages'' whereby n is the count but only if
3440 o and make it print ``no new messages'' if there aren't any
3442 The corresponding configuration is:
3444 set status_format = "%v on %h: %B: %?n?%n new messages&no new messages? ...
3446 This doubles the use of the ``new messages'' string because it'll get
3447 always printed. Thus, it can be shortened to:
3449 set status_format = "%v on %h: %B: %?n?%n&no? new messages ...
3451 As you might see from this rather simple example, one can create very
3452 complex but fancy status messages. Please see the reference chapter for
3453 expandos and those which may be printed nonzero.
3455 3.3. Modifications and Padding
3457 Besides the information given so far, there're even more features of
3460 o When specifying %_<item> instead of just %<item>, mutt-ng will convert
3461 all characters in the expansion of <item> to lowercase.
3463 o When specifying %:<item> instead of just %<item>, mutt-ng will convert
3464 all dots in the expansion of <item> to underscores (_).
3466 Also, there's a feature called Padding supplied by the following two
3467 expandos: %|X and %>X .
3471 When this occurs, mutt-ng will fill the rest of the line with the
3472 character X. In our example, filling the rest of the line with
3473 dashes is done by setting:
3475 set status_format = "%v on %h: %B: %?n?%n&no? new messages %|-"
3479 Since the previous expando stops at the end of line, there must be
3480 a way to fill the gap between two items via the %>X expando: it
3481 puts as many characters X in between two items so that the rest of
3482 the line will be right-justified. For example, to not put the
3483 version string and hostname of our example on the left but on the
3484 right and fill the gap with spaces, one might use (note the space
3487 set status_format = "%B: %?n?%n&no? new messages %> (%v on %h)"
3491 Sometimes it is desirable to perform an operation on a group of messages
3492 all at once rather than one at a time. An example might be to save
3493 messages to a mailing list to a separate folder, or to delete all messages
3494 with a given subject. To tag all messages matching a pattern, use the
3495 tag-pattern function, which is bound to ``shift-T'' by default. Or you can
3496 select individual messages by hand using the ``tag-message'' function,
3497 which is bound to ``t'' by default. See patterns for Mutt-ng's pattern
3500 Once you have tagged the desired messages, you can use the ``tag-prefix''
3501 operator, which is the ``;'' (semicolon) key by default. When the
3502 ``tag-prefix'' operator is used, the next operation will be applied to all
3503 tagged messages if that operation can be used in that manner. If the
3504 $auto_tag variable is set, the next operation applies to the tagged
3505 messages automatically, without requiring the ``tag-prefix''.
3507 In macro or push commands, you can use the ``tag-prefix-cond'' operator.
3508 If there are no tagged messages, mutt will "eat" the rest of the macro to
3509 abort it's execution.Mutt-ng will stop "eating" the macro when it
3510 encounters the ``end-cond'' operator; after this operator the rest of the
3511 macro will be executed asnormal.
3515 A hook is a concept borrowed from the EMACS editor which allows you to
3516 execute arbitrary commands before performing some operation. For example,
3517 you may wish to tailor your configuration based upon which mailbox you are
3518 reading, or to whom you are sending mail. In the Mutt-ng world, a hook
3519 consists of a regexp or patterns along with a configuration
3536 for specific details on each type of hook available.
3538 Note: if a hook changes configuration settings, these changes remain
3539 effective until the end of the current mutt session. As this is generally
3540 not desired, a default hook needs to be added before all other hooks to
3541 restore configuration defaults. Here is an example with send-hook and the
3544 send-hook . 'unmy_hdr From:'
3545 send-hook '~C ^b@b\.b$' my-hdr from: c@c.c
3547 5.1. Message Matching in Hooks
3549 Hooks that act upon messages (send-hook, save-hook, fcc-hook,message-hook
3550 )are evaluated in a slightly different manner. For the other types of
3551 hooks, a regexp is sufficient. But in dealing with messages a finer grain
3552 of control is needed for matching since for different purposes you want to
3553 match different criteria.
3555 Mutt-ng allows the use of the patterns language for matching messages in
3556 hook commands. This works in exactly the same way as it would when
3557 limiting orsearching the mailbox, except that you are restricted to those
3558 operators which match information mutt extracts from the header of the
3559 message (i.e. from, to, cc, date, subject, etc.).
3561 For example, if you wanted to set your return address based upon sending
3562 mail to a specific address, you could do something like:
3564 send-hook '~t ^me@cs\.hmc\.edu$' 'my-hdr From: Mutt-ng User <user@host>'
3566 which would execute the given command when sending mail to me@cs.hmc.edu.
3568 However, it is not required that you write the pattern to match using the
3569 full searching language. You can still specify a simple regular expression
3570 like the other hooks, in which case Mutt-ng will translate your pattern
3571 into the full language, using the translation specified by the
3572 default-hook variable. The pattern is translated at the time the hook is
3573 declared, so the value of default-hook that is in effect at that time will
3576 6. Using the sidebar
3578 The sidebar, a feature specific to Mutt-ng, allows you to use a mailbox
3579 listing which looks very similar to the ones you probably know from GUI
3580 mail clients. The sidebar lists all specified mailboxes, shows the number
3581 in each and highlights the ones with new email Use the following
3582 configuration commands:
3584 set sidebar_visible="yes"
3585 set sidebar_width=25
3587 If you want to specify the mailboxes you can do so with:
3595 You can also specify the colors for mailboxes with new mails by using:
3597 color sidebar_new red black
3598 color sidebar white black
3600 Reasonable key bindings look e.g. like this:
3602 bind index \Cp sidebar-prev
3603 bind index \Cn sidebar-next
3604 bind index \Cb sidebar-open
3605 bind pager \Cp sidebar-prev
3606 bind pager \Cn sidebar-next
3607 bind pager \Cb sidebar-open
3609 macro index B ':toggle sidebar_visible^M'
3610 macro pager B ':toggle sidebar_visible^M'
3612 You can then go up and down by pressing Ctrl-P and Ctrl-N, and switch on
3613 and off the sidebar simply by pressing 'B'.
3615 7. External Address Queries
3617 Mutt-ng supports connecting to external directory databases such as LDAP,
3618 ph/qi, bbdb, or NIS through a wrapper script which connects to mutt using
3619 a simple interface. Using the $query_command variable, you specify the
3620 wrapper command to use. For example:
3622 set query_command = "mutt_ldap_query.pl '%s'"
3624 The wrapper script should accept the query on the command-line. It should
3625 return a one line message, then each matching response on a single line,
3626 each line containing a tab separated address then name thensome other
3627 optional information. On error, or if there are no matching addresses,
3628 return a non-zero exit code and a one line error message.
3630 An example multiple response output:
3632 Searching database ... 20 entries ... 3 matching:
3633 me@cs.hmc.edu Michael Elkins mutt dude
3634 blong@fiction.net Brandon Long mutt and more
3635 roessler@guug.de Thomas Roessler mutt pgp
3637 There are two mechanisms for accessing the query function of mutt. One is
3638 to do a query from the index menu using the query function (default: Q).
3639 This will prompt for a query, then bring up the query menu which will list
3640 the matching responses. From the query menu, you can select addresses to
3641 create aliases, or to mail. You can tag multiple addressesto mail, start a
3642 new query, or have a new query appended to the current responses.
3644 The other mechanism for accessing the query function is for address
3645 completion, similar to the alias completion. In any prompt for address
3646 entry, you can use the complete-query function (default: ^T) to run a
3647 query based on the current address you have typed. Like aliases, mutt will
3648 look for what you have typed back to the last space or comma. If there is
3649 a single response for that query, mutt will expand the address in place.
3650 If there are multiple responses, mutt will activate the querymenu. At the
3651 query menu, you can select one or more addresses to be added to the
3656 Mutt-ng supports reading and writing of four different mailbox formats:
3657 mbox, MMDF, MH and Maildir. The mailbox type is autodetected, so there is
3658 no need to use a flag for different mailbox types. When creating
3659 newmailboxes, Mutt-ng uses the default specified with the $mbox_type
3662 mbox. This is the most widely used mailbox format for UNIX. All messages
3663 are stored in a single file. Each message has a line of the form:
3665 From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST
3667 to denote the start of a new message (this is often referred to as the
3670 MMDF. This is a variant of the mbox format. Each message is surrounded by
3671 lines containing ``^A^A^A^A'' (four control-A's).
3673 MH. A radical departure from mbox and MMDF, a mailbox consists of a
3674 directory and each message is stored in a separate file. The filename
3675 indicates the message number (however, this is may not correspond to the
3676 message number Mutt-ng displays). Deleted messages arerenamed with a comma
3677 (,) prepended to the filename. Note: Mutt detects this type of mailbox by
3678 looking for either .mh_sequences or .xmhcache (needed to distinguish
3679 normal directories from MH mailboxes).
3681 Maildir. The newest of the mailbox formats, used by the Qmail MTA (a
3682 replacement for sendmail). Similar to MH, except that it adds three
3683 subdirectories of the mailbox: tmp, new and cur .Filenames for the
3684 messages are chosen in such a way they are unique, even when twoprograms
3685 are writing the mailbox over NFS, which means that no file locking is
3688 9. Mailbox Shortcuts
3690 There are a number of built in shortcuts which refer to specific
3691 mailboxes. These shortcuts can be used anywhere you are prompted for a
3692 file or mailbox path.
3694 o ! -- refers to your $spoolfile (incoming) mailbox
3696 o > -- refers to your $mbox file
3698 o < -- refers to your $record file
3700 o ^ -- refers to the current mailbox
3702 o - or !! -- refers to the file you've last visited
3704 o ~ -- refers to your home directory
3706 o = or + -- refers to your $folder directory
3708 o @alias -- refers to the save-hook as determined by the address of the
3711 10. Handling Mailing Lists
3713 Mutt-ng has a few configuration options that make dealing with large
3714 amounts of mail easier. The first thing you must do is to let Mutt know
3715 what addresses you consider to be mailing lists (technically this does not
3716 have to be a mailing list, but that is what it is most often used for),
3717 and what lists you are subscribed to. This is accomplished through the use
3718 of the lists commands in your muttrc.
3720 Now that Mutt-ng knows what your mailing lists are, it can do several
3721 things, the first of which is the ability to show the name of a list
3722 through which you received a message (i.e., of a subscribed list) in the
3723 index menu display. This is useful to distinguish between personal and
3724 list mail in the same mailbox. In the $index_format variable, the escape
3725 ``%L'' will return the string ``To <list>'' when ``list'' appears in the
3726 ``To'' field, and ``Cc <list>'' when it appears in the ``Cc'' field
3727 (otherwise it returns the name of the author).
3729 Often times the ``To'' and ``Cc'' fields in mailing list messages tend to
3730 get quite large. Most people do not bother to remove the author of the
3731 message they are reply to from the list, resulting in two or more copies
3732 being sent to that person. The ``list-reply'' function, which by default
3733 is bound to ``L'' in the index menu and pager, helps reduce the clutter by
3734 only replying to the known mailing list addresses instead of all
3735 recipients (except as specified by Mail-Followup-To, see below).
3737 Mutt-ng also supports the Mail-Followup-To header. When you send a message
3738 to a list of recipients which includes one or several subscribed mailing
3739 lists, and if the $followup_to option is set, mutt will generate a
3740 Mail-Followup-To header which contains all the recipients to whom you send
3741 this message, but not your address. This indicates that group-replies or
3742 list-replies (also known as ``followups'') to this message should only be
3743 sent to the original recipients of the message, and not separately to you
3744 - you'll receive your copy through one of the mailing lists you are
3747 Conversely, when group-replying or list-replying to a message which has a
3748 Mail-Followup-To header, mutt will respect this header if the
3749 $honor_followup_to configuration variable is set. Using list-reply will in
3750 this case also make sure that the reply goes to the mailing list, even if
3751 it's not specified in the list of recipients in the Mail-Followup-To.
3753 Note that, when header editing is enabled, you can create a
3754 Mail-Followup-To header manually. Mutt-ng will only auto-generate this
3755 header if it doesn't exist when you send the message.
3757 The other method some mailing list admins use is to generate a
3758 ``Reply-To'' field which points back to the mailing list address rather
3759 than the author of the message. This can create problems when trying to
3760 reply directly to the author in private, since most mail clients will
3761 automatically reply to the address given in the ``Reply-To'' field.
3762 Mutt-ng uses the $reply_to variable to help decide which address to use.
3763 If set to ask-yes or ask-no, you will be prompted as to whether or not you
3764 would like to use the address given inthe ``Reply-To'' field, or reply
3765 directly to the address given in the ``From'' field. When set to yes, the
3766 ``Reply-To'' field will be used when present.
3768 The ``X-Label:'' header field can be used to further identify mailing
3769 lists or list subject matter (or just to annotate messages individually).
3770 The $index_format variable's ``%y'' and ``%Y'' escapes can be used to
3771 expand ``X-Label:'' fields in the index, and Mutt-ng's pattern-matcher can
3772 match regular expressions to ``X-Label:'' fields with the ``~y'' selector.
3773 ``X-Label:'' is not a standard message header field, but it can easily be
3774 inserted by procmailand other mail filtering agents.
3776 Lastly, Mutt-ng has the ability to sort the mailbox into threads. A thread
3777 is a group of messages which all relate to the same subject. This is
3778 usually organized into a tree-like structure where a message and all of
3779 its replies are represented graphically. If you've ever used a threaded
3780 news client, this is the same concept. It makes dealingwith large volume
3781 mailing lists easier because you can easily delete uninteresting threads
3782 and quickly find topics of value.
3786 Mutt-ng has the ability to dynamically restructure threads that are broken
3787 either by misconfigured software or bad behavior from some correspondents.
3788 This allows to clean your mailboxes formats) from these annoyances which
3789 make it hard to follow a discussion.
3791 11.1. Linking threads
3793 Some mailers tend to "forget" to correctly set the "In-Reply-To:" and
3794 "References:" headers when replying to a message. This results in broken
3795 discussions because Mutt-ng has not enough information to guess the
3796 correct threading. You can fix this by tagging the reply, then moving to
3797 the parent message and using the ``link-threads'' function (bound to & by
3798 default). The reply will then be connected to this "parent" message.
3800 You can also connect multiple children at once, tagging them and using the
3801 tag-prefix command (';') or the auto_tag option.
3803 11.2. Breaking threads
3805 On mailing lists, some people are in the bad habit of starting a new
3806 discussion by hitting "reply" to any message from the list and changing
3807 the subject to a totally unrelated one. You can fix such threads by using
3808 the ``break-thread'' function (boundby default to #), which will turn the
3809 subthread starting from the current message into a whole different thread.
3811 12. Delivery Status Notification (DSN) Support
3813 RfC 1894 defines a set of MIME content types for relaying information
3814 about the status of electronic mail messages. These can be thought of as
3815 ``return receipts.''
3817 Users can make use of it in one of the following two ways:
3819 o Berkeley sendmail 8.8.x currently has some command line options in
3820 which the mail client can make requests as to what type of status
3821 messages should be returned.
3823 o The SMTP support via libESMTP supports it, too.
3825 To support this, there are two variables:
3827 o $dsn_notify is used to request receipts for different results (such as
3828 failed message,message delivered, etc.).
3830 o $dsn_return requests how much of your message should be returned with
3831 the receipt (headers or full message).
3833 Please see the reference chapter for possible values.
3835 13. POP3 Support (OPTIONAL)
3837 If Mutt-ng was compiled with POP3 support (by running the configure script
3838 with the --enable-pop flag), it has the ability to work with mailboxes
3839 located on a remote POP3 server and fetch mail for local browsing.
3841 You can access the remote POP3 mailbox by selecting the folder
3844 You can select an alternative port by specifying it with the server, i.e.:
3845 pop://popserver:port/.
3847 You can also specify different username for each folder, i.e.:
3848 pop://username@popserver[:port]/.
3850 Polling for new mail is more expensive over POP3 than locally. For this
3851 reason the frequency at which Mutt-ng will check for mail remotely can be
3852 controlled by the $pop_mail_check variable, which defaults to every 60
3855 If Mutt-ng was compiled with SSL support (by running the configure script
3856 with the --with-ssl flag), connections to POP3 servers can be encrypted.
3857 This naturally requires that the server supports SSL encrypted
3858 connections. To access a folder with POP3/SSL, you should use pops:
3859 prefix, ie: pops://[username@]popserver[:port]/.
3861 Another way to access your POP3 mail is the fetch-mail function (default:
3862 G). It allows to connect to pop-host ,fetch all your new mail and place it
3863 in the local $spoolfile. After this point, Mutt-ng runs exactly as if the
3864 mail had always been local.
3866 Note: If you only need to fetch all messages to local mailbox you should
3867 consider using a specialized program, such as fetchmail(1).
3869 14. IMAP Support (OPTIONAL)
3871 If Mutt-ng was compiled with IMAP support (by running the configure script
3872 with the --enable-imap flag), it has the ability to work with folders
3873 located on a remote IMAP server.
3875 You can access the remote inbox by selecting the folder via its URL:
3877 imap://imapserver/INBOX
3879 where imapserver is the name of the IMAP server and INBOX is the special
3880 name for your spool mailbox on the IMAP server. If you want to access
3881 another mail folder at the IMAP server, you should use
3883 imap://imapserver/path/to/folder
3885 where path/to/folder is the path of the folder you want to access. You can
3886 select an alternative port by specifying it with the server, i.e.:
3888 imap://imapserver:port/INBOX
3890 You can also specify different username for each folder by prenpending
3891 your username and an @ symbol to the server's name.
3893 If Mutt-ng was compiled with SSL support (by running the configure script
3894 with the --with-ssl flag), connections to IMAP servers can be encrypted.
3895 This naturally requires that the server supports SSL encrypted
3896 connections. To access a folder with IMAP/SSL, you only need to substitute
3897 the initial imap:// by imaps:// in the above examples.
3899 Note that not all servers use / as the hierarchy separator. Mutt-ng should
3900 correctly notice which separator is being used by the server and
3901 convertpaths accordingly.
3903 When browsing folders on an IMAP server, you can toggle whether to look at
3904 only the folders you are subscribed to, or all folders with the
3905 toggle-subscribed command. See also the $imap_list_subscribed variable.
3907 Polling for new mail on an IMAP server can cause noticeable delays. So,
3908 you'll want to carefully tune the $imap_mail_check and $timeout variables.
3910 Note that if you are using mbox as the mail store on UW servers prior
3911 tov12.250, the server has been reported to disconnect a client if another
3912 client selects the same folder.
3914 14.1. The Folder Browser
3916 As of version 1.2, mutt supports browsing mailboxes on an IMAP server.
3917 This is mostly the same as the local file browser, with the following
3920 o Instead of file permissions, mutt displays the string "IMAP", possibly
3921 followed by the symbol "+", indicating that the entry contains both
3922 messages and subfolders. On Cyrus-like servers folders will often
3923 contain both messages and subfolders.
3925 o For the case where an entry can contain both messages and subfolders,
3926 the selection key (bound to enter by default) will choose to descend
3927 into the subfolder view. If you wish to view the messages in that
3928 folder, you must use view-file instead (bound to space by default).
3930 o You can create, delete and rename mailboxes with the create-mailbox,
3931 delete-mailbox, and rename-mailbox commands (default bindings: C , d
3932 and r, respectively). You may also subscribe and unsubscribe to
3933 mailboxes (normally these are bound to s and u, respectively).
3935 14.2. Authentication
3937 Mutt-ng supports four authentication methods with IMAP servers: SASL,
3938 GSSAPI, CRAM-MD5, and LOGIN (there is a patch by Grant Edwards to add NTLM
3939 authentication for you poor exchange users out there, but it has yet to be
3940 integrated into the main tree). There is also support for the
3941 pseudo-protocol ANONYMOUS, which allows you to log in to a public IMAP
3942 server without having an account. To use ANONYMOUS, simply make your
3943 username blank or "anonymous".
3945 SASL is a special super-authenticator, which selects among several
3946 protocols (including GSSAPI, CRAM-MD5, ANONYMOUS, and DIGEST-MD5) the most
3947 secure method available on your host and the server. Using some of these
3948 methods (including DIGEST-MD5 and possibly GSSAPI), your entire session
3949 will be encrypted and invisible to those teeming network snoops. It is the
3950 best option if you have it. To use it, you must have the Cyrus SASL
3951 libraryinstalled on your system and compile mutt with the --with-sasl
3954 Mutt-ng will try whichever methods are compiled in and available on the
3955 server, in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5, LOGIN.
3957 There are a few variables which control authentication:
3959 o $imap_user - controls the username under which you request
3960 authentication on the IMAP server, for all authenticators. This is
3961 overridden by an explicit username in the mailbox path (i.e. by using
3962 a mailbox name of the form {user@host}).
3964 o $imap_pass - a password which you may preset, used by all
3965 authentication methods where a password is needed.
3967 o $imap_authenticators - a colon-delimited list of IMAP authentication
3968 methods to try, in the order you wish to try them. If specified, this
3969 overrides mutt's default (attempt everything, in the order listed
3972 15. NNTP Support (OPTIONAL)
3974 If compiled with ``--enable-nntp'' option, Mutt-ng can read news from a
3975 newsserver via NNTP. You can open a newsgroup with the
3976 ``change-newsgroup'' function from the index/pager which is by default
3979 The Default newsserver can be obtained from the $NNTPSERVER environment
3980 variable. Like other news readers, info about subscribed newsgroups is
3981 saved in a file as specified by the $nntp_newsrc variable. Article headers
3982 are cached and can be loaded from a file when a newsgroup is entered
3983 instead loading from newsserver; currently, this caching mechanism still
3984 is different from the header caching for maildir/IMAP.
3986 15.1. Again: Scoring
3988 Especially for Usenet, people often ask for advanced filtering and scoring
3989 functionality. Of course, mutt-ng has scoring and allows a killfile, too.
3990 How to use a killfile has been discussed in Message Scoring.
3992 What has not been discusses in detail is mutt-ng's built-in realname
3993 filter. For may newsreaders including those for ``advanced users'' like
3994 slrn or tin, there are frequent request for such functionality. The
3995 solutions offered often are complicated regular expressions.
3997 In mutt-ng this is as easy as
4001 This tells mutt-ng to apply a score of 42 to all messages whose sender
4002 specified a valid realname and a valid email address. Using
4006 on the contrary applies a score of 42 to all messages not matching those
4007 criteria which are very strict:
4009 o Email addresses must be valid according to RfC 2822
4011 o the name must consist of at least 2 fields whereby a field must not
4012 end in a dot. This means that ``Joe User'' and ``Joe A.User'' are
4013 valid while ``J. User'' and ``J. A. User'' aren't.
4015 o it's assumed that users are interested in reading their own mail and
4016 mail from people who they have defined an alias forso that those 2
4017 groups of messages are excluded from the strict rules.
4019 16. SMTP Support (OPTIONAL)
4021 Mutt-ng can be built using a library called ``libESMTP'' which provides
4022 SMTP functionality. When configure was called with --with-libesmtp or the
4023 output muttng -v contains +USE_LIBESMTP, this will be or is the case
4024 already. The SMTP support includes support for Delivery Status
4025 Notification (see dsn section) as well as handling the 8BITMIME flag
4026 controlled via $use_8bitmime.
4028 To enable sending mail directly via SMTP without an MTA such as Postfix or
4029 SSMTP and the like, simply set the $smtp_host variable pointing to your
4032 Authentication mechanisms are available via the $smtp_user and $smtp_pass
4035 Transport Encryption via the StartTLS command is also available. For this
4036 to work, first of all Mutt-ng must be built with SSL or GNUTLS. Secondly,
4037 the $smtp_use_tls variable must be either set to ``enabled'' or
4038 ``required.'' In both cases, StartTLS will be used if the server supports
4039 it: for the second case, the connection will fail ifit doesn't while
4040 switching back to unencrypted communication for the first one.
4042 Some mail providers require user's to set a particular envelope sender,
4043 i.e. they allow for only one value which may not be what the user wants to
4044 send as the From: header. In this case, the variable $smtp_envelope may be
4045 used to set the envelope different from the From: header.
4047 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
4049 If you happen to have accounts on multiple IMAP and/or POP servers, you
4050 may find managing all the authentication settings inconvenient and
4051 error-prone. The account-hook command may help. This hook works like
4052 folder-hook but is invoked whenever you access a remote mailbox (including
4053 inside the folder browser), not just when you open the mailbox.
4057 account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
4058 account-hook imap://host1/ 'set imap_user=me1 imap_pass=foo'
4059 account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'
4061 18. Start a WWW Browser on URLs (EXTERNAL)
4063 If a message contains URLs (unified resource locator = address in the WWW
4064 space like http://www.mutt.org/), it is efficient to get a menu with all
4065 the URLs and start a WWW browser on one of them. This functionality is
4066 provided by the external urlview program which can be retrieved at
4067 <ftp://ftp.mutt.org/mutt/contrib/> and the configuration commands:
4069 macro index \cb |urlview\n
4070 macro pager \cb |urlview\n
4072 19. Compressed folders Support (OPTIONAL)
4074 If Mutt-ng was compiled with compressed folders support (by running the
4075 configure script with the --enable-compressed flag), Mutt can open folders
4076 stored in an arbitrary format, provided that the user has a script to
4077 convert from/to this format to one of the accepted.
4079 The most common use is to open compressed archived folders e.g. with gzip.
4081 In addition, the user can provide a script that gets a folder in an
4082 accepted format and appends its context to the folder in the user-defined
4083 format, which may be faster than converting the entire folder to the
4084 accepted format, appending to it and converting back to the user-defined
4087 There are three hooks defined (open-hook, close-hook and append-hook
4088 )which define commands to uncompress and compress a folder and to append
4089 messages to an existing compressed folder respectively.
4093 open-hook \\.gz$ "gzip -cd %f > %t"
4094 close-hook \\.gz$ "gzip -c %t > %f"
4095 append-hook \\.gz$ "gzip -c %t >> %f"
4097 You do not have to specify all of the commands. If you omit append-hook
4098 ,the folder will be open and closed again each time you will add to it. If
4099 you omit close-hook (or give empty command) , the folder will be open in
4100 the mode. If you specify append-hook though you'll be able to append to
4103 Note that Mutt-ng will only try to use hooks if the file is not in one of
4104 the accepted formats. In particular, if the file is empty, mutt supposes
4105 it is not compressed. This is important because it allows the use of
4106 programs that do not have well defined extensions. Just use "." as a
4107 regexp. But this may be surprising if your compressing script produces
4108 empty files. In this situation, unset $save_empty ,so that the compressed
4109 file will be removed if you delete all of the messages.
4111 19.1. Open a compressed mailbox for reading
4113 Usage: open-hookregexp "command"
4115 The command is the command that can be used for opening the folders whose
4118 The command string is the printf-like format string, and it should accept
4119 two parameters: %f, which is replaced with the (compressed) folder name,
4120 and %t which is replaced with the name of the temporary folder to which to
4123 %f and %t can be repeated any number of times in the command string, and
4124 all of the entries are replaced with the appropriate folder name. In
4125 addition, %% is replaced by %, as in printf, and any other %anything is
4128 The command should not remove the original compressed file. The command
4129 should return non-zero exit status if it fails, so mutt knows something's
4134 open-hook \\.gz$ "gzip -cd %f > %t"
4136 If the command is empty, this operation is disabled for this file type.
4138 19.2. Write a compressed mailbox
4140 Usage: close-hookregexp"command"
4142 This is used to close the folder that was open with the open-hook command
4143 after some changes were made to it.
4145 The command string is the command that can be used for closing the folders
4146 whose names match regexp. It has the same format as in the open-hook
4147 command. Temporary folder in this case is the folder previously produced
4148 by the open-hook command.
4150 The command should not remove the decompressed file. The command should
4151 return non-zero exit status if it fails, so mutt knows something's wrong.
4155 close-hook \\.gz$ "gzip -c %t > %f"
4157 If the command is empty, this operation is disabled for this file type,
4158 and the file can only be open in the readonly mode.
4160 close-hook is not called when you exit from the folder if the folder was
4163 19.3. Append a message to a compressed mailbox
4165 Usage: append-hookregexp"command"
4167 This command is used for saving to an existing compressed folder. The
4168 command is the command that can be used for appending to the folders whose
4169 names match regexp. It has the same format as in the open-hook command.
4170 The temporary folder in this case contains the messages that are
4173 The command should not remove the decompressed file. The command should
4174 return non-zero exit status if it fails, so mutt knows something's wrong.
4178 append-hook \\.gz$ "gzip -c %t >> %f"
4180 When append-hook is used, the folder is not opened, which saves time, but
4181 this means that we can not find out what the folder type is. Thus the
4182 default ($mbox_type )type is always supposed (i.e. this is the format used
4183 for the temporary folder).
4185 If the file does not exist when you save to it, close-hook is called, and
4186 not append-hook. append-hook is only for appending to existing folders.
4188 If the command is empty, this operation is disabled for this file type. In
4189 this case, the folder will be open and closed again (using open-hook and
4190 close-hook respectively) each time you will add to it.
4192 19.4. Encrypted folders
4194 The compressed folders support can also be used to handle encrypted
4195 folders. If you want to encrypt a folder with PGP, you may want to usethe
4198 open-hook \\.pgp$ "pgp -f < %f > %t"
4199 close-hook \\.pgp$ "pgp -fe YourPgpUserIdOrKeyId < %t > %f"
4201 Please note, that PGP does not support appending to an encrypted folder,
4202 so there is no append-hook defined.
4204 Note: the folder is temporary stored decrypted in the /tmp directory,
4205 where it can be read by your system administrator. So thinkabout the
4206 security aspects of this.
4208 Chapter 5. Mutt-ng's MIME Support
4212 1. Using MIME in Mutt
4214 1.1. Viewing MIME messages in the pager
4216 1.2. The Attachment Menu
4218 1.3. The Compose Menu
4220 2. MIME Type configuration with mime.types
4222 3. MIME Viewer configuration with mailcap
4224 3.1. The Basics of the mailcap file
4226 3.2. Secure use of mailcap
4228 3.3. Advanced mailcap Usage
4230 3.4. Example mailcap files
4234 5. MIME Multipart/Alternative
4238 Quite a bit of effort has been made to make Mutt-ng the premier text-mode
4239 MIME MUA. Every effort has been made to provide the functionality that the
4240 discerning MIME user requires, and the conformance to the standards
4241 wherever possible. When configuring Mutt-ng for MIME, there are two
4242 extratypes of configuration files which Mutt-ng uses. One is the
4243 mime.types file, which contains the mapping of file extensions to IANA
4244 MIME types. The other is the mailcap file, which specifies the external
4245 commands to use for handling specific MIME types.
4247 1. Using MIME in Mutt
4249 There are three areas/menus in Mutt-ng which deal with MIME, they are the
4250 pager (while viewing a message), the attachment menu and the compose menu.
4252 1.1. Viewing MIME messages in the pager
4254 When you select a message from the index and view it in the pager, Mutt
4255 decodes the message to a text representation. Mutt-ng internally supports
4256 a number of MIME types, including text/plain, text/enriched,
4257 message/rfc822, and message/news .In addition, the export controlled
4258 version of Mutt-ng recognizes a variety of PGP MIME types, including
4259 PGP/MIME and application/pgp.
4261 Mutt-ng will denote attachments with a couple lines describing them. These
4262 lines are of the form:
4264 [-- Attachment #1: Description --]
4265 [-- Type: text/plain, Encoding: 7bit, Size: 10000 --]
4267 Where the Description is the description or filename given for the
4268 attachment, and the Encoding is one of
4269 7bit/8bit/quoted-printable/base64/binary.
4271 If Mutt-ng cannot deal with a MIME type, it will display a message like:
4273 [-- image/gif is unsupported (use 'v' to view this part) --]
4275 1.2. The Attachment Menu
4277 The default binding for view-attachments is `v', which displays the
4278 attachment menu for a message. The attachment menu displays a list ofthe
4279 attachments in a message. From the attachment menu, you can save, print,
4280 pipe, delete, and view attachments. You can apply these operations to a
4281 group of attachments at once, by tagging the attachments and by using the
4282 ``tag-prefix'' operator. You can also reply to the current message from
4283 this menu, and only the current attachment (or the attachments tagged)
4284 will be quoted in your reply. You can view attachments as text, or view
4285 them using the mailcap viewer definition.
4287 Finally, you can apply the usual message-related functions (like
4288 <resend-message>, and the reply and forward functions) to attachments of
4289 type message/rfc822.
4291 See the help on the attachment menu for more information.
4293 1.3. The Compose Menu
4295 The compose menu is the menu you see before you send a message. It allows
4296 you to edit the recipient list, the subject, and other aspects of your
4297 message. It also contains a list of the attachments of your message,
4298 including the main body. From this menu, you can print, copy, filter,
4299 pipe, edit, compose, review, and rename an attachment or a list of tagged
4300 attachments. You can also modifying the attachment information, notably
4301 the type, encoding and description.
4303 Attachments appear as follows:
4305 1 [text/plain, 7bit, 1K] /tmp/mutt-euler-8082-0 <no description>
4306 2 [applica/x-gunzip, base64, 422K] ~/src/mutt-0.85.tar.gz <no description>
4308 The '-' denotes that Mutt-ng will delete the file after sending (or
4309 postponing, or canceling) the message. It can be toggled with the
4310 toggle-unlink command (default: u). The next field is the MIME
4311 content-type, and can be changed with the edit-type command (default: ^T).
4312 The next field is the encoding for the attachment, which allows a binary
4313 message to be encoded for transmission on 7bit links. It can be changed
4314 with the edit-encoding command (default: ^E). The next field is the size
4315 of the attachment, rounded to kilobytes or megabytes. The next field is
4316 the filename, which can be changed with the rename-file command (default:
4317 R). The final field is the description of the attachment, and can be
4318 changed with the edit-description command (default: d).
4320 2. MIME Type configuration with mime.types
4322 When you add an attachment to your mail message, Mutt-ng searches your
4323 personal mime.types file within $HOME and then the system mime.types file
4324 at /usr/local/share/mutt/mime.types or /etc/mime.types
4326 The mime.types file consist of lines containing a MIME type and a space
4327 separated list of extensions. For example:
4329 application/postscript ps eps
4331 audio/x-aiff aif aifc aiff
4333 A sample mime.types file comes with the Mutt-ng distribution, and should
4334 contain most of the MIME types you are likely to use.
4336 If Mutt-ng can not determine the mime type by the extension of the file
4337 you attach, it will look at the file. If the file is free of binary
4338 information, Mutt-ng will assume that the file is plain text, and mark it
4339 as text/plain. If the file contains binary information, then Mutt-ng will
4340 mark it as application/octet-stream. You can change the MIME type that
4341 Mutt-ng assigns to an attachment by using the edit-type command from the
4342 compose menu (default: ^T). The MIME type is actually a major mime type
4343 followed by the sub-type, separated by a '/'. 6 major types: application,
4344 text, image, video, audio, and model have been approved after various
4345 internet discussions. Mutt-ng recognises all of these if the appropriate
4346 entry is found in the mime.types file. It also recognises other major mime
4347 types, such as the chemical type that is widely used in the molecular
4348 modelling community to pass molecular data in various forms to various
4349 molecular viewers. Non-recognised mime types should only be used if the
4350 recipient of the message is likely to be expecting such attachments.
4352 3. MIME Viewer configuration with mailcap
4354 Mutt-ng supports RfC 1524 MIME Configuration, in particular the Unix
4355 specific format specified in Appendix A of the RfC. This file format is
4356 commonly referred to as the mailcap format. Many MIME compliant programs
4357 utilize the mailcap format, allowing you to specify handling for all MIME
4358 types in one place for all programs. Programs known to use this format
4359 include Netscape, XMosaic, lynx and metamail.
4361 In order to handle various MIME types that Mutt-ng can not handle
4362 internally, Mutt-ng parses a series of external configuration files to
4363 find an external handler. The default search string for these files is a
4364 colon delimited list set to
4366 ${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap
4368 where $HOME is your home directory.
4370 In particular, the metamail distribution will install a mailcap file,
4371 usually as /usr/local/etc/mailcap, which contains some baseline entries.
4373 3.1. The Basics of the mailcap file
4375 A mailcap file consists of a series of lines which are comments, blank, or
4378 A comment line consists of a # character followed by anything you want.
4380 A blank line is blank.
4382 A definition line consists of a content type, a view command, and any
4383 number of optional fields. Each field of a definition line is dividedby a
4384 semicolon ';' character.
4386 The content type is specified in the MIME standard type/subtype method.
4387 For example, text/plain, text/html, image/gif, etc. In addition, the
4388 mailcap format includes two formats for wildcards, one using the special
4389 '*' subtype, the other is the implicit wild, where you only include the
4390 major type. For example, image/* ,or video, will match all image types and
4391 video types, respectively.
4393 The view command is a Unix command for viewing the type specified. There
4394 are two different types of commands supported. The default is to send the
4395 body of the MIME message to the command on stdin. You can change this
4396 behavior by using %s as a parameter to your view command. This will cause
4397 Mutt-ng to save the body of the MIME message to a temporary file, and then
4398 call the view command with the %s replaced by the name of the temporary
4399 file. In both cases, Mutt-ng will turn over the terminal to the view
4400 program until the program quits, at which time Mutt will remove the
4401 temporary file if it exists.
4403 So, in the simplest form, you can send a text/plain message to the
4404 external pager more on stdin:
4408 Or, you could send the message as a file:
4412 Perhaps you would like to use lynx to interactively view a text/html
4417 In this case, lynx does not support viewing a file from stdin, so you must
4418 use the %s syntax. Note:Some older versions of lynx contain a bug where
4419 they will check the mailcap file for a viewer for text/html. They will
4420 find the line which calls lynx, and run it. This causes lynx to
4421 continuously spawn itself to view the object.
4423 On the other hand, maybe you don't want to use lynx interactively, youjust
4424 want to have it convert the text/html to text/plain, then you can use:
4426 text/html; lynx -dump %s | more
4428 Perhaps you wish to use lynx to view text/html files, and a pager on all
4429 other text formats, then you would use the following:
4434 This is the simplest form of a mailcap file.
4436 3.2. Secure use of mailcap
4438 The interpretation of shell meta-characters embedded in MIME parameters
4439 can lead to security problems in general. Mutt-ng tries to quote
4440 parameters in expansion of %s syntaxes properly, and avoids risky
4441 characters by substituting them, see the $mailcap_sanitize variable.
4443 Although mutt's procedures to invoke programs with mailcap seem to be
4444 safe, there are other applications parsing mailcap, maybe taking less care
4445 of it. Therefore you should pay attention to the following rules:
4447 Keep the %-expandos away from shell quoting. Don't quote them with single
4448 or double quotes. Mutt-ng does this for you, the right way, as should any
4449 other program which interprets mailcap. Don't put them into backtick
4450 expansions. Be highly careful with eval statements, and avoid them if
4451 possible at all. Trying to fix broken behaviour with quotes introduces new
4452 leaks - there is no alternative to correct quoting in the first place.
4454 If you have to use the %-expandos' values in context where you need
4455 quoting or backtick expansions, put that value into a shell variable and
4456 reference the shell variable where necessary, as in the following example
4457 (using $charset inside the backtick expansion is safe, since it is not
4458 itself subject to any further expansion):
4460 text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
4461 && test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1
4463 3.3. Advanced mailcap Usage
4465 3.3.1. Optional Fields
4467 In addition to the required content-type and view command fields, you can
4468 add semi-colon ';' separated fields to set flags and other options.
4469 Mutt-ng recognizes the following optional fields:
4473 This flag tells Mutt-ng that the command passes possibly large
4474 amounts of text on stdout. This causes Mutt-ng to invoke a pager
4475 (either the internal pager or the external pager defined by the
4476 pager variable) on the output of the view command. Without this
4477 flag, Mutt-ng assumes that the command is interactive. One could
4478 use this to replace the pipe to more in the lynx -dump example in
4481 text/html; lynx -dump %s ; copiousoutput
4483 This will cause lynx to format the text/html output as text/plain
4484 and Mutt-ng will use your standard pager to display the results.
4488 Mutt-ng uses this flag when viewing attachments with auto_view, in
4489 order to decide whether it should honor the setting of the
4490 $wait_key variable or not. When an attachment is viewed using an
4491 interactive program, and the corresponding mailcap entry has a
4492 needsterminal flag, Mutt-ng will use $wait_key and the exit
4493 statusof the program to decide if it will ask you to press a key
4494 after the external program has exited. In all other situations it
4495 will not prompt you for a key.
4499 This flag specifies the command to use to create a new attachment
4500 of a specific MIME type. Mutt-ng supports this from the compose
4503 composetyped=<command>
4505 This flag specifies the command to use to create a new attachment
4506 of a specific MIME type. This command differs from the compose
4507 command in that mutt will expect standard MIME headers on the
4508 data. This can be used to specify parameters, filename,
4509 description, etc. for a new attachment. Mutt-ng supports this from
4514 This flag specifies the command to use to print a specific MIME
4515 type. Mutt-ng supports this from the attachment and compose menus.
4519 This flag specifies the command to use to edit a specific MIME
4520 type. Mutt-ng supports this from the compose menu, and also uses
4521 it to compose new attachments. Mutt-ng will default to the defined
4522 editor for text attachments.
4524 nametemplate=<template>
4526 This field specifies the format for the file denoted by %s in the
4527 command fields. Certain programs will require a certain file
4528 extension, for instance, to correctly view a file. For instance,
4529 lynx will only interpret a file as text/html if the file ends in
4530 .html. So, you would specify lynx as a text/html viewer with a
4531 line in the mailcap file like:
4533 text/html; lynx %s; nametemplate=%s.html
4537 This field specifies a command to run to test whether this mailcap
4538 entry should be used. The command is defined with the command
4539 expansion rules defined in the next section. If the command
4540 returns 0, then the test passed, and Mutt-ng uses this entry. If
4541 the command returns non-zero, then the test failed, and Mutt-ng
4542 continues searching for the right entry. Note:the content-type
4543 must match before Mutt-ng performs the test. For example:
4545 text/html; netscape -remote 'openURL(%s)' ; test=RunningX
4548 In this example, Mutt-ng will run the program RunningX which will
4549 return 0 if the X Window manager is running, and non-zero if it
4550 isn't. If RunningX returns 0, then Mutt-ng will call netscape to
4551 display the text/html object. If RunningX doesn't return 0, then
4552 Mutt-ng will go on to the next entry and use lynx to display the
4557 When searching for an entry in the mailcap file, Mutt-ng will search for
4558 the most useful entry for its purpose. For instance, if you are attempting
4559 to print an image/gif, and you have the following entries in your mailcap
4560 file, Mutt-ng will search for an entry with the print command:
4563 image/gif; ; print= anytopnm %s | pnmtops | lpr; \
4566 Mutt-ng will skip the image/* entry and use the image/gif entry with the
4569 In addition, you can use this with auto_view to denote two commands for
4570 viewing an attachment, one to be viewed automatically, the other to be
4571 viewed interactively from the attachment menu. In addition, you can then
4572 use the test feature to determine which viewer to use interactively
4573 depending on your environment.
4575 text/html; netscape -remote 'openURL(%s)' ; test=RunningX
4576 text/html; lynx %s; nametemplate=%s.html
4577 text/html; lynx -dump %s; nametemplate=%s.html; copiousoutput
4579 For auto_view, Mutt-ng will choose the third entry because of the
4580 copiousoutput tag. For interactive viewing, Mutt will run the program
4581 RunningX to determine if it should use the first entry. If the program
4582 returns non-zero, Mutt-ng will use the second entry for interactive
4585 3.3.3. Command Expansion
4587 The various commands defined in the mailcap files are passed to the
4588 /bin/sh shell using the system() function. Before the command is passed to
4589 /bin/sh -c, it is parsed to expand various special parameters with
4590 information from Mutt-ng. The keywords Mutt-ng expands are:
4594 As seen in the basic mailcap section, this variable is expanded to
4595 a filename specified by the calling program. This file contains
4596 the body of the message to view/print/edit or where the composing
4597 program should place the results of composition. In addition, the
4598 use of this keyword causes Mutt-ng to not pass the body of the
4599 message to the view/print/edit program on stdin.
4603 Mutt-ng will expand %t to the text representation of the content
4604 type of the message in the same form as the first parameter of the
4605 mailcap definition line, ie text/html or image/gif.
4609 Mutt-ng will expand this to the value of the specified parameter
4610 from the Content-Type: line of the mail message. For instance, if
4611 Your mail message contains:
4613 Content-Type: text/plain; charset=iso-8859-1
4615 then Mutt-ng will expand %{charset} to iso-8859-1. The default
4616 metamail mailcap file uses this feature to test the charset to
4617 spawn an xterm using the right charset to view the message.
4621 This will be replaced by a %
4623 Mutt-ng does not currently support the %F and %n keywords specified in RfC
4624 1524. The main purpose of these parameters is for multipart messages,
4625 which is handled internally by Mutt-ng.
4627 3.4. Example mailcap files
4629 This mailcap file is fairly simple and standard:
4632 # I'm always running X :)
4633 video/*; xanim %s > /dev/null
4634 image/*; xv %s > /dev/null
4636 # I'm always running netscape (if my computer had more memory, maybe)
4637 text/html; netscape -remote 'openURL(%s)'
4639 This mailcap file shows quite a number of examples:
4641 # Use xanim to view all videos Xanim produces a header on startup,
4642 # send that to /dev/null so I don't see it
4643 video/*; xanim %s > /dev/null
4645 # Send html to a running netscape by remote
4646 text/html; netscape -remote 'openURL(%s)'; test=RunningNetscape
4647 # If I'm not running netscape but I am running X, start netscape on the
4649 text/html; netscape %s; test=RunningX
4651 # Else use lynx to view it as text
4654 # This version would convert the text/html to text/plain
4655 text/html; lynx -dump %s; copiousoutput
4657 # I use enscript to print text in two columns to a page
4658 text/*; more %s; print=enscript -2Gr %s
4660 # Netscape adds a flag to tell itself to view jpegs internally
4661 image/jpeg;xv %s; x-mozilla-flags=internal
4663 # Use xv to view images if I'm running X
4664 # In addition, this uses the \ to extend the line and set my editor
4666 image/*;xv %s; test=RunningX; edit=xpaint %s
4668 # Convert images to text using the netpbm tools
4669 image/*; (anytopnm %s | pnmscale -xysize 80 46 | ppmtopgm | \
4670 pgmtopbm | pbmtoascii -1x2 ) 2>&1 ; copiousoutput
4672 # Send excel spreadsheets to my NT box
4673 application/ms-excel; open.pl %s
4677 Usage: auto_viewmime-type [mime-type ...]
4679 Usage: unauto_viewmime-type [mime-type ...]
4681 In addition to explicitly telling Mutt-ng to view an attachment with
4682 theMIME viewer defined in the mailcap file, Mutt-ng has support for
4683 automatically viewing MIME attachments while in the pager.
4685 To work, you must define a viewer in the mailcap file which uses the
4686 copiousoutput option to denote that it is non-interactive. Usually, you
4687 also use the entry to convert the attachment to a text representation
4688 which you can view in the pager.
4690 You then use the auto_view muttrc command to list the content-types that
4691 you wish to view automatically.
4693 For instance, if you set auto_view to:
4695 auto_view text/html application/x-gunzip application/postscript
4696 image/gif application/x-tar-gz
4698 Mutt-ng could use the following mailcap entries to automatically view
4699 attachments of these types.
4701 text/html; lynx -dump %s; copiousoutput; nametemplate=%s.html
4702 image/*; anytopnm %s | pnmscale -xsize 80 -ysize 50 | ppmtopgm | pgmtopbm | pbmtoascii ; copiousoutput
4703 application/x-gunzip; gzcat; copiousoutput
4704 application/x-tar-gz; gunzip -c %s | tar -tf - ; copiousoutput
4705 application/postscript; ps2ascii %s; copiousoutput
4707 ``unauto_view'' can be used to remove previous entries from the autoview
4708 list. This can be used with message-hook to autoview messages based on
4709 size, etc. ``unauto_view *'' will remove all previous entries.
4711 5. MIME Multipart/Alternative
4713 Usage: alternative_ordermime-type [mime-type ...]
4715 Usage: unalternative_ordermime-type [mime-type ...]
4717 Mutt-ng has some heuristics for determining which attachment of a
4718 multipart/alternative type to display. First, mutt will check the
4719 alternative_order list to determine if one of the available typesis
4720 preferred. The alternative_order list consists of a number of MIME types
4721 in order, including support for implicit and explicit wildcards, for
4724 alternative_order text/enriched text/plain text
4725 application/postscript image/*
4727 Next, mutt will check if any of the types have a defined auto_view, and
4728 use that. Failing that, Mutt-ng will look for any text type. As a last
4729 attempt, mutt willlook for any type it knows how to handle.
4731 To remove a MIME type from the alternative_order list, use the
4732 unalternative_order command.
4736 Usage: mime_lookupmime-type [mime-type ...]
4738 Usage: unmime_lookupmime-type [mime-type ...]
4740 Mutt-ng's mime_lookup list specifies a list of mime-types that should not
4741 be treated according to their mailcap entry. This option is designed
4742 todeal with binary types such as application/octet-stream. When an
4743 attachment's mime-type is listed in mime_lookup, then the extension of the
4744 filename will be compared to the list of extensions in the mime.types
4745 file. The mime-type associated with this extension will then be used to
4746 process the attachment according to the rules in the mailcap file and
4747 according to any other configuration options (such as auto_view)
4748 specified. Common usage would be:
4750 mime_lookup application/octet-stream application/X-Lotus-Manuscript
4752 In addition, the unmime_lookup command may be used to disable this feature
4753 for any particular mime-type if it had been set, for example, in a global
4756 Chapter 6. Security Considerations
4764 3. Information Leaks
4766 3.1. Message-ID: headers
4768 3.2. mailto:-style links
4770 4. External applications
4776 First of all, mutt-ng contains no security holes included by intention but
4777 may contain unknown security holes. As a consequence, please run mutt-ng
4778 only with as few permissions as possible.
4780 Please do not run mutt-ng as the super user.
4782 When configuring mutt-ng, there're some points to note about secure
4785 In practice, mutt-ng can be easily made as vulnerable as even the most
4786 insecure mail user agents (in their default configuration) just by
4787 changing mutt-ng's configuration files: it then can execute arbitrary
4788 programs and scripts attached to messages, send out private data on its
4789 own, etc. Although this is not believed to the common type of setup,
4790 please read this chapter carefully.
4794 Although mutt-ng can be told the various passwords for accounts, please
4795 never store passwords in configuration files. Besides the fact that the
4796 system's operator can always read them, you could forget to replace the
4797 actual password with asterisks when reporting a bug or asking for help
4798 via, for example, a mailing list so that your mail including your password
4799 could be archived by internet search engines, etc. Please never store
4804 Mutt-ng uses many temporary files for viewing messages, verifying digital
4805 signatures, etc. The $umask variable can be used to change the default
4806 permissions of these files. Please only change it if you really know what
4807 you are doing. Also, a different location for these files may be desired
4808 which can be changed via the $tmpdir variable.
4810 3. Information Leaks
4812 3.1. Message-ID: headers
4814 In the default configuration, mutt-ng will leak some information to the
4815 outside world when sending messages: the generation of Message-ID: headers
4816 includes a step counter which is increased (and rotated) with every
4817 message sent. If you'd like to hide this information probably telling
4818 others how many mail you sent in which time, you at least need to remove
4819 the %P expando from the default setting of the $msgid_format variable.
4820 Please make sure that you really know how local parts of these Message-ID:
4821 headers are composed.
4823 3.2. mailto:-style links
4825 As mutt-ng be can be set up to be the mail client to handle mailto: style
4826 links in websites, there're security considerations, too. To keep the old
4827 behavior by default, mutt-ng will be strict in interpreting them which
4828 means that arbitrary header fields can be embedded in these links which
4829 could override existing header fields or attach arbitrary files. This may
4830 be problematic if the $edit_headers variable is unset, i.e. the user
4831 doesn't want to see header fields while editing the message.
4833 For example, following a link like
4835 mailto:joe@host?Attach=~/.gnupg/secring.gpg
4837 will send out the user's private gnupg keyring to joe@host if the user
4838 doesn't follow the information on screen carefully enough.
4840 When unsetting the $strict_mailto variable, mutt-ng will
4842 o be less strict when interpreting these links by prepending a X-Mailto-
4843 string to all header fields embedded in such a link and
4845 o turn on the $edit_headers variable by force to let the user see all
4846 the headers (because they still may leak information.)
4848 4. External applications
4850 Mutt-ng in many places has to rely on external applications or for
4851 convenience supports mechanisms involving external applications.
4855 One of these is the mailcap mechanism as defined by RfC 1524. Mutt-ng can
4856 be set up to automatically execute any given utility as listed in one of
4857 the mailcap files (see the $mailcap_path variable for details.)
4859 These utilities may have a variety of security vulnerabilities, including
4860 overwriting of arbitrary files, information leaks or other exploitable
4861 bugs. These vulnerabilities may go unnoticed by the user, especially when
4862 they are called automatically (and without interactive prompting) from the
4863 mailcap file(s). When using mutt-ng's autoview mechanism in combination
4864 with mailcap files, please be sure to...
4866 o manually select trustworth applications with a reasonable calling
4869 o periodically check the contents of mailcap files, especially after
4870 software installations or upgrades
4872 o keep the software packages referenced in the mailcap file up to date
4874 o leave the $mailcap_sanitize variable in its default state to restrict
4875 mailcap expandos to a safe set of characters
4879 Besides the mailcap mechanism, mutt-ng uses a number of other external
4880 utilities for operation.
4882 The same security considerations apply for these as for tools involved via
4883 mailcap (for example, mutt-ng is vulnerable to Denial of Service Attacks
4884 with compressed folders support if the uncompressed mailbox is too large
4885 for the disk it is saved to.)
4887 As already noted, most of these problems are not built in but caused by
4888 wrong configuration, so please check your configuration.
4890 Chapter 7. Reference
4894 1. Command line options
4898 3. Configuration Commands
4900 4. Configuration variables
4928 1. Command line options
4930 Running mutt with no arguments will make Mutt-ng attempt to read your
4931 spool mailbox. However, it is possible to read other mailboxes and to send
4932 messages from the command line as well.
4934 Table 7.1. Reference: Command Line Options
4938 -a attach a file to a message
4939 -b specify a blind carbon-copy (BCC) address
4940 -c specify a carbon-copy (Cc) address
4941 -e specify a config command to be run after initialization files are
4943 -f specify a mailbox to load
4944 -F specify an alternate file to read initialization commands
4945 -h print help on command line options
4946 -H specify a draft file from which to read a header and body
4947 -i specify a file to include in a message composition
4948 -m specify a default mailbox type
4949 -n do not read the system Muttngrc
4950 -p recall a postponed message
4951 -Q query a configuration variable
4952 -R open mailbox in read-only mode
4953 -s specify a subject (enclose in quotes if it contains spaces)
4954 -t dump the value of all variables to stdout
4955 -T dump the value of all changed variables to stdout
4956 -v show version number and compile-time definitions
4957 -x simulate the mailx(1) compose mode
4958 -y show a menu containing the files specified by the mailboxes command
4959 -z exit immediately if there are no messages in the mailbox
4960 -Z open the first folder with new message,exit immediately if none
4962 To read messages in a mailbox
4964 mutt ] -nz ] ] -F muttrc ] ] -m type ] ] -f mailbox ]
4966 To compose a new message
4968 mutt ] -n ] ] -F muttrc ] ] -a file ] ] -c address ] ] -i filename ] ] -s
4969 subject ] address ] address ... ]
4971 Mutt-ng also supports a ``batch'' mode to send prepared messages. Simply
4972 redirect input from the file you wish to send. For example,
4974 mutt -s "data set for run #2" professor@bigschool.edu < ~/run2.dat
4976 This command will send a message to ``professor@bigschool.edu'' with a
4977 subject of ``data set for run #2''. In the body of the message will be the
4978 contents of the file ``~/run2.dat''.
4982 Table 7.2. Reference: Patterns
4984 Pattern Modifier Argument Description
4986 ~b/=b EXPR messages which contain EXPR in the message
4988 ~B/=B EXPR messages which contain EXPR in the whole
4990 ~c/=c EXPR messages carbon-copied to EXPR
4991 ~C/=C EXPR message is either to: or cc: EXPR
4992 ~D/=D deleted messages
4993 ~d/=d [MIN]-[MAX] messages with ``date-sent'' in a Date range
4994 ~E/=E expired messages
4995 ~e/=e EXPR message which contains EXPR in the ``Sender''
4997 ~F/=F flagged messages
4998 ~f/=f EXPR messages originating from EXPR
4999 ~g/=g cryptographically signed messages
5000 ~G/=G cryptographically encrypted messages
5001 ~H/=H EXPR messages with a spam attribute matching EXPR
5002 ~h/=h EXPR messages which contain EXPR in the message
5004 ~k/=k message contains PGP key material
5005 ~i/=i EXPR message which match ID in the ``Message-ID''
5007 ~L/=L EXPR message is either originated or received by
5009 ~l/=l message is addressed to a known mailing list
5010 ~m/=m [MIN]-[MAX] message in the range MIN to MAX *)
5011 ~M/=M multipart messages
5012 ~n/=n [MIN]-[MAX] messages with a score in the range MIN to MAX
5016 ~p/=p message is addressed to you (consults
5018 ~P/=P message is from you (consults alternates)
5019 ~Q/=Q messages which have been replied to
5021 ~r/=r [MIN]-[MAX] messages with ``date-received'' in a Date
5023 ~S/=S superseded messages
5024 ~s/=s EXPR messages having EXPR in the ``Subject''
5026 ~T/=T tagged messages
5027 ~t/=t EXPR messages addressed to EXPR
5028 ~U/=U unread messages
5029 ~u/=u message is addressed to a subscribed mailing
5031 ~v/=v message is part of a collapsed thread.
5032 ~V/=V cryptographically verified messages
5033 messages which contain EXPR in the
5034 ~w/=w EXPR `Newsgroups' field (if compiled with NNTP
5036 ~x/=x EXPR messages which contain EXPR in the
5038 ~y/=y EXPR messages which contain EXPR in the `X-Label'
5040 ~z/=z [MIN]-[MAX] messages with a size in the range MIN to MAX
5042 ~=/== duplicated messages (see $duplicate_threads)
5043 ~$/=$ unreferenced messages (requires threaded
5045 ``From'' contains realname and
5046 ~*/=* (syntactically) valid address (excluded are
5047 addresses matching against alternates or any
5050 Where EXPR are regexp. Special attention has to be made when using regular
5051 expressions inside of patterns. Specifically, Mutt-ng's parser for these
5052 patterns will strip one level of backslash (\), which is normally used for
5053 quoting. If it is your intention to use a backslash in the regular
5054 expression, you will need to use two backslashes instead (\\).
5056 *) The forms <[MAX], >[MIN], [MIN]- and -[MAX] are allowed, too.
5058 3. Configuration Commands
5060 The following are the commands understood by mutt.
5062 o account-hook pattern command
5064 o aliaskeyaddress [, address, ... ]
5066 o unalias [ * | key ... ]
5068 o alternatesregexp [ regexp ... ]
5070 o unalternates [ * | regexp ... ]
5072 o alternative_ordermimetype [ mimetype ... ]
5074 o unalternative_ordermimetype [ mimetype ... ]
5076 o append-hook regexp command
5078 o auto_viewmimetype [ mimetype ... ]
5080 o unauto_viewmimetype [ mimetype ... ]
5082 o bind map key function
5084 o charset-hook alias charset
5086 o close-hook regexp command
5088 o colorobjectforegroundbackground [ regexp ]
5090 o uncolorindexpattern [ pattern ... ]
5092 o execfunction [ function ... ]
5094 o fcc-hook pattern mailbox
5096 o fcc-save-hook pattern mailbox
5098 o folder-hook pattern command
5100 o hdr_orderheader [ header ... ]
5102 o unhdr_orderheader [ header ... ]
5104 o charset-hook charset local-charset
5106 o ignorepattern [ pattern ... ]
5108 o unignorepattern [ pattern ... ]
5110 o listsregexp [ regexp ... ]
5112 o unlistsregexp [ regexp ... ]
5114 o macromenukeysequence [ description ]
5116 o mailboxesfilename [ filename ... ]
5118 o mbox-hook pattern mailbox
5120 o message-hook pattern command
5122 o mime_lookupmimetype [ mimetype ... ]
5124 o unmime_lookupmimetype [ mimetype ... ]
5126 o monoobject attribute [ regexp ]
5128 o unmonoindexpattern [ pattern ... ]
5132 o unmy_hdrfield [ field ... ]
5134 o open-hook regexp command
5136 o crypt-hook pattern key-id
5140 o resetvariable [ variable ... ]
5142 o save-hook regexp filename
5144 o score pattern value
5146 o unscorepattern [ pattern ... ]
5148 o send-hook regexp command
5150 o reply-hook regexp command
5152 o set [no|inv]variable[ =value ] [ variable ... ]
5154 o unsetvariable [ variable ... ]
5158 o spam pattern format
5162 o subscriberegexp [ regexp ... ]
5164 o unsubscriberegexp [ regexp ... ]
5166 o togglevariable [ variable ... ]
5170 4. Configuration variables
5172 The following list contains all variables which, in the process of
5173 providing more consistency, have been renamed and are partially even
5174 removed already. The left column contains the old synonym variables, the
5175 right column the full/new name:
5177 Table 7.3. Reference: Obsolete Variables
5180 edit_hdrs $edit_headers
5181 forw_decode $forward_decode
5182 forw_format $forward_format
5183 forw_quote $forward_quote
5184 hdr_format $index_format
5185 indent_str $indent_string
5186 mime_fwd $mime_forward
5187 msg_format $message_format
5188 pgp_autosign $crypt_autosign
5189 pgp_autoencrypt $crypt_autoencrypt
5190 pgp_replyencrypt $crypt_replyencrypt
5191 pgp_replysign $crypt_replysign
5192 pgp_replysignencrypted $crypt_replysignencrypted
5193 pgp_verify_sig $crypt_verify_sig
5194 pgp_create_traditional $pgp_autoinline
5195 pgp_auto_traditional $pgp_replyinline
5196 forw_decrypt $forward_decrypt
5197 smime_sign_as $smime_default_key
5198 post_indent_str $post_indent_string
5199 print_cmd $print_command
5200 shorten_hierarchy $sidebar_shorten_hierarchy
5201 ask_followup_to $nntp_ask_followup_to
5202 ask_x_comment_to $nntp_ask_x_comment_to
5203 catchup_newsgroup $nntp_catchup
5204 followup_to_poster $nntp_followup_to_poster
5205 group_index_format $nntp_group_index_format
5207 mime_subject $nntp_mime_subject
5208 news_cache_dir $nntp_cache_dir
5209 news_server $nntp_host
5211 nntp_poll $nntp_mail_check
5212 pop_checkinterval $pop_mail_check
5213 post_moderated $nntp_post_moderated
5214 save_unsubscribed $nntp_save_unsubscribed
5215 show_new_news $nntp_show_new_news
5216 show_only_unread $nntp_show_only_unread
5217 x_comment_to $nntp_x_comment_to
5218 smtp_auth_username $smtp_user
5219 smtp_auth_password $smtp_pass
5220 user_agent $agent_string
5222 The contrib subdirectory contains a script named update-config.pl which
5225 A complete list of current variables follows.
5233 This variable specifies whether to abort sending if no attachment was made
5234 but the content references them, i.e. the content matches the regular
5235 expression given in $attach_remind_regexp. If a match was found and this
5236 variable is set to yes, message sending will be aborted but the mail will
5237 be send nevertheless if set to no.
5239 This variable and $attach_remind_regexp are intended to remind the user to
5240 attach files if the message's text references them.
5242 See also the $attach_remind_regexp variable.
5250 If set to yes, when composing messages and no subject is given at the
5251 subject prompt, composition will be aborted. If set to no, composing
5252 messages with no subject given at the subject prompt will never be
5255 3. $abort_unmodified
5261 If set to yes, composition will automatically abort after editing the
5262 message body if no changes are made to the file (this check only happens
5263 after the first edit of the file). When set to no, composition will never
5272 When set, Mutt-ng will add a ``User-Agent:'' header to outgoing messages,
5273 indicating which version of Mutt-ng was used for composing them.
5279 Default: "~/.muttngrc"
5281 The default file in which to save aliases created by the ``create-alias''
5284 Note: Mutt-ng will not automatically source this file; you must explicitly
5285 use the ``source'' command for it to be executed.
5291 Default: "%4n %2f %t %-10a %r"
5293 Specifies the format of the data displayed for the ``alias'' menu. The
5294 following printf(3)-style sequences are available:
5302 flags - currently, a "d" for an alias marked for deletion
5310 address which alias expands to
5314 character which indicates if the alias is tagged for inclusion
5322 Controls whether 8-bit data is converted to 7-bit using either
5323 quoted-printable or base64 encoding when sending mail.
5331 Controls whether ANSI color codes in messages (and color tags in rich text
5332 messages) are to be interpreted. Messages containing these codes are rare,
5333 but if this option is set, their text will be colored accordingly. Note
5334 that this may override your color choices, and even present a security
5335 problem, since a message could include a line like ``[-- PGP output
5336 follows ..." and give it the same color as your attachment color.
5344 When set, an arrow (``->'') will be used to indicate the current entry in
5345 menus instead of highlighting the whole line. On slow network or modem
5346 links this will make response faster because there is less that has to be
5347 redrawn on the screen when moving to the next or previous entries in the
5356 If set, Mutt-ng will use plain ASCII characters when displaying thread and
5357 attachment trees, instead of the default ACS characters.
5365 If set, Mutt-ng will prompt you for blind-carbon-copy (Bcc) recipients
5366 before editing an outgoing message.
5374 If set, Mutt-ng will prompt you for carbon-copy (Cc) recipients before
5375 editing the body of an outgoing message.
5377 13. $assumed_charset
5383 This variable is a colon-separated list of character encoding schemes for
5384 messages without character encoding indication. Header field values and
5385 message body content without character encoding indication would be
5386 assumed that they are written in one of this list. By default, all the
5387 header fields and message body without any charset indication are assumed
5390 For example, Japanese users might prefer this:
5392 set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
5394 However, only the first content is valid for the message body. This
5395 variable is valid only if $strict_mime is unset.
5401 Default: "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "
5403 This variable describes the format of the ``attachment'' menu. The
5404 following printf(3)-style sequences are understood:
5412 requires charset conversion (n or c)
5424 MIME Content-Transfer-Encoding: header field
5432 MIME Content-Disposition: header field (I=inline, A=attachment)
5456 graphic tree characters
5460 unlink (=to delete) flag
5464 right justify the rest of the string and pad with character "X"
5468 pad to the end of the line with character "X"
5470 15. $attach_remind_regexp
5472 Type: regular expression
5476 If this variable is non-empty, muttng will scan a message's contents
5477 before sending for this regular expression. If it is found, it will ask
5478 for what to do depending on the setting of $abort_noattach.
5480 This variable and $abort_noattach are intended to remind the user to
5481 attach files if the message's text references them.
5489 The separator to add between attachments when operating (saving, printing,
5490 piping, etc) on a list of tagged attachments.
5498 If this variable is unset, when operating (saving, printing, piping, etc)
5499 on a list of tagged attachments, Mutt-ng will concatenate the attachments
5500 and will operate on them as a single attachment. The ``$attach_sep''
5501 separator is added after each attachment. When set, Mutt-ng will operate
5502 on the attachments one by one.
5508 Default: "On %d, %n wrote:"
5510 This is the string that will precede a message which has been included in
5511 a reply. For a full listing of defined printf(3)-like sequences see the
5512 section on ``$index_format''.
5520 When set, functions in the index menu which affect a message will be
5521 applied to all tagged messages (if there are any). When unset, you must
5522 first use the ``tag-prefix'' function (default: ";") to make the next
5523 function apply to all tagged messages.
5531 When set along with ``$edit_headers'', Mutt-ng will skip the initial
5532 send-menu and allow you to immediately begin editing the body of your
5533 message. The send-menu may still be accessed once you have finished
5534 editing the body of your message.
5536 Also see ``$fast_reply''.
5544 When this variable is set, Mutt-ng will beep when an error occurs.
5552 When this variable is set, Mutt-ng will beep whenever it prints a message
5553 notifying you of new mail. This is independent of the setting of the
5562 Controls whether you will be asked to confirm bouncing messages. If set to
5563 yes you don't get asked if you want to bounce a message. Setting this
5564 variable to no is not generally useful, and thus not recommended, because
5565 you are unable to bounce messages.
5567 24. $bounce_delivered
5573 When this variable is set, Mutt-ng will include Delivered-To: header
5574 fields when bouncing messages. Postfix users may wish to unset this
5577 25. $braille_friendly
5583 When this variable is set, mutt will place the cursor at the beginning of
5584 the current line in menus, even when the arrow_cursor variable is unset,
5585 making it easier for blind persons using Braille displays to follow these
5586 menus. The option is disabled by default because many visual terminals
5587 don't permit making the cursor invisible.
5589 26. $certificate_file
5593 Default: "~/.mutt_certificates"
5595 Availability: SSL or GNUTLS
5597 This variable specifies the file where the certificates you trust are
5598 saved. When an unknown certificate is encountered, you are asked if you
5599 accept it or not. If you accept it, the certificate can also be saved in
5600 this file and further connections are automatically accepted.
5602 You can also manually add CA certificates in this file. Any server
5603 certificate that is signed with one of these CA certificates are also
5604 automatically accepted.
5606 Example: set certificate_file=~/.muttng/certificates
5614 Character set your terminal uses to display and enter textual data.
5622 Note: this option only affects maildir and MH style mailboxes.
5624 When set, Mutt-ng will check for new mail delivered while the mailbox is
5625 open. Especially with MH mailboxes, this operation can take quite some
5626 time since it involves scanning the directory and checking each file to
5627 see if it has already been looked at. If it's unset, no check for new mail
5628 is performed while the mailbox is open.
5630 29. $collapse_unread
5636 When unset, Mutt-ng will not collapse a thread if it contains any unread
5643 Default: "-- Mutt-ng: Compose [Approx. msg size: %l Atts: %a]%>-"
5645 Controls the format of the status line displayed in the ``compose'' menu.
5646 This string is similar to ``$status_format'', but has its own set of
5647 printf(3)-like sequences:
5651 total number of attachments
5659 approximate size (in bytes) of the current message
5663 Mutt-ng version string
5665 See the text describing the ``$status_format'' option for more information
5666 on how to set ``$compose_format''.
5674 When defined, Mutt-ng will recode commands in rc files from this encoding.
5682 When set, Mutt-ng will prompt for confirmation when appending messages to
5683 an existing mailbox.
5691 When set, Mutt-ng will prompt for confirmation when saving messages to a
5692 mailbox which does not yet exist before creating it.
5694 34. $connect_timeout
5700 Causes Mutt-ng to timeout a network connection (for IMAP or POP) after
5701 this many seconds if the connection is not able to be established. A
5702 negative value causes Mutt-ng to wait indefinitely for the connection to
5709 Default: "text/plain"
5711 Sets the default Content-Type: header field for the body of newly composed
5720 This variable controls whether or not copies of your outgoing messages
5721 will be saved for later references. Also see ``$record'', ``$save_name'',
5722 ``$force_name'' and ``fcc-hook''.
5724 37. $crypt_autoencrypt
5730 Setting this variable will cause Mutt-ng to always attempt to PGP encrypt
5731 outgoing messages. This is probably only useful in connection to the
5732 send-hook command. It can be overridden by use of the pgp-menu, when
5733 encryption is not required or signing is requested as well. If
5734 ``$smime_is_default'' is set, then OpenSSL is used instead to create
5735 S/MIME messages and settings can be overridden by use of the smime-menu.
5744 This variable controls whether or not Mutt-ng may automatically enable PGP
5745 encryption/signing for messages. See also ``$crypt_autoencrypt'',
5746 ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
5747 ``$smime_is_default''.
5755 Setting this variable will cause Mutt-ng to always attempt to
5756 cryptographically sign outgoing messages. This can be overridden by use of
5757 the pgp-menu, when signing is not required or encryption is requested as
5758 well. If ``$smime_is_default'' is set, then OpenSSL is used instead to
5759 create S/MIME messages and settings can be overridden by use of the
5760 smime-menu. (Crypto only)
5762 40. $crypt_autosmime
5768 This variable controls whether or not Mutt-ng may automatically enable
5769 S/MIME encryption/signing for messages. See also ``$crypt_autoencrypt'',
5770 ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
5771 ``$smime_is_default''.
5773 41. $crypt_replyencrypt
5779 If set, automatically PGP or OpenSSL encrypt replies to messages which are
5780 encrypted. (Crypto only)
5782 42. $crypt_replysign
5788 If set, automatically PGP or OpenSSL sign replies to messages which are
5791 Note: this does not work on messages that are encrypted and signed!
5794 43. $crypt_replysignencrypted
5800 If set, automatically PGP or OpenSSL sign replies to messages which are
5801 encrypted. This makes sense in combination with ``$crypt_replyencrypt'',
5802 because it allows you to sign all messages which are automatically
5803 encrypted. This works around the problem noted in ``$crypt_replysign'',
5804 that Mutt-ng is not able to find out whether an encrypted message is also
5805 signed. (Crypto only)
5807 44. $crypt_timestamp
5813 If set, Mutt-ng will include a time stamp in the lines surrounding PGP or
5814 S/MIME output, so spoofing such lines is more difficult. If you are using
5815 colors to mark these lines, and rely on these, you may unset this setting.
5818 45. $crypt_use_gpgme
5824 This variable controls the use the GPGME enabled crypto backends. If it is
5825 set and Mutt-ng was build with gpgme support, the gpgme code for S/MIME
5826 and PGP will be used instead of the classic code.
5828 Note: You need to use this option in your .muttngrc configuration file as
5829 it won't have any effect when used interactively.
5831 46. $crypt_verify_sig
5837 If ``yes'', always attempt to verify PGP or S/MIME signatures. If ``ask'',
5838 ask whether or not to verify the signature. If ``no'', never attempt to
5839 verify cryptographic signatures. (Crypto only)
5845 Default: "!%a, %b %d, %Y at %I:%M:%S%p %Z"
5847 This variable controls the format of the date printed by the ``%d''
5848 sequence in ``$index_format''. This is passed to strftime(3) to process
5851 Unless the first character in the string is a bang (``!''), the month and
5852 week day names are expanded according to the locale specified in the
5853 variable ``$locale''. If the first character in the string is a bang, the
5854 bang is discarded, and the month and week day names in the rest of the
5855 string are expanded in the C locale (that is in US English).
5865 This variable specifies the current debug level and may be used to
5866 increase or decrease the verbosity level during runtime. It overrides the
5867 level given with the -d command line option.
5869 Currently, this number must be >= 0 and <= 5 and muttng must be started
5870 with -d to enable debugging at all; enabling at runtime is not possible.
5876 Default: "~f %s !~P | (~P ~C %s)"
5878 This variable controls how send-hooks, message-hooks, save-hooks, and
5879 fcc-hooks will be interpreted if they are specified with only a simple
5880 regexp, instead of a matching pattern. The hooks are expanded when they
5881 are declared, so a hook will be interpreted according to the value of this
5882 variable at the time the hook is declared. The default value matches if
5883 the message is either from a user matching the regular expression given,
5884 or if it is from you (if the from address matches ``alternates'') and is
5885 to or cc'ed to a user matching the given regular expression.
5893 Controls whether or not messages are really deleted when closing or
5894 synchronizing a mailbox. If set to yes, messages marked for deleting will
5895 automatically be purged without prompting. If set to no, messages marked
5896 for deletion will be kept in the mailbox.
5904 When sending messages with format=flowed by setting the $text_flowed
5905 variable, this variable specifies whether to also set the DelSp parameter
5906 to yes. If this is unset, no additional parameter will be send as a value
5907 of no already is the default behavior.
5909 Note: this variable only has an effect on outgoing messages (if
5910 $text_flowed is set) but not on incomming.
5918 If this option is set, Mutt-ng will untag messages when marking them for
5919 deletion. This applies when you either explicitly delete a message, or
5920 when you save it to another folder.
5922 53. $digest_collapse
5928 If this option is set, Mutt-ng's received-attachments menu will not show
5929 the subparts of individual messages in a multipart/digest. To see these
5930 subparts, press 'v' on that menu.
5938 When set, specifies a command used to filter messages. When a message is
5939 viewed it is passed as standard input to $display_filter, and the filtered
5940 message is read from the standard output.
5942 55. $dotlock_program
5946 Default: "$muttng_bindir/muttng_dotlock"
5948 Availability: Standalone and Dotlock
5950 Contains the path of the muttng_dotlock(1) binary to be used by Mutt-ng.
5958 Note: you should not enable this unless you are using Sendmail 8.8.x or
5959 greater or in connection with the SMTP support via libESMTP.
5961 This variable sets the request for when notification is returned. The
5962 string consists of a comma separated list (no spaces!) of one or more of
5963 the following: never, to never request notification, failure, to request
5964 notification on transmission failure, delay, to be notified of message
5965 delays, success, to be notified of successful transmission.
5967 Example: set dsn_notify="failure,delay"
5975 Note: you should not enable this unless you are using Sendmail 8.8.x or
5976 greater or in connection with the SMTP support via libESMTP.
5978 This variable controls how much of your message is returned in DSN
5979 messages. It may be set to either hdrs to return just the message header,
5980 or full to return the full message.
5982 Example: set dsn_return=hdrs
5984 58. $duplicate_threads
5990 This variable controls whether Mutt-ng, when sorting by threads, threads
5991 messages with the same Message-Id: header field together. If it is set, it
5992 will indicate that it thinks they are duplicates of each other with an
5993 equals sign in the thread diagram.
6001 This option allows you to edit the header of your outgoing messages along
6002 with the body of your message.
6004 Which empty header fields to show is controlled by the $editor_headers
6013 This variable specifies which editor is used by Mutt-ng. It defaults to
6014 the value of the $VISUAL, or $EDITOR, environment variable, or to the
6015 string "vi" if neither of those are set.
6021 Default: "From: To: Cc: Bcc: Subject: Reply-To: Newsgroups: Followup-To:
6024 If $edit_headers is set, this space-separated list specifies which
6025 non-empty header fields to edit in addition to user-defined headers.
6027 Note: if $edit_headers had to be turned on by force because $strict_mailto
6028 is unset, this option has no effect.
6036 When set, Mutt-ng will quoted-printable encode messages when they contain
6037 the string ``From '' (note the trailing space) in the beginning of a line.
6038 Useful to avoid the tampering certain mail delivery and transport agents
6039 tend to do with messages.
6041 Note: as mutt-ng currently violates RfC3676 defining format=flowed, it's
6042 <em/strongly/ advised to set this option although discouraged by the
6043 standard. Alternatively, you must take care of space-stuffing <tt/From /
6044 lines (with a trailing space) yourself.
6054 The file which includes random data that is used to initialize SSL library
6057 64. $envelope_from_address
6059 Type: e-mail address
6063 Manually sets the envelope sender for outgoing messages. This value is
6064 ignored if ``$use_envelope_from'' is unset.
6072 Escape character to use for functions in the builtin editor.
6080 When set, the initial prompt for recipients and subject are skipped when
6081 replying to messages, and the initial prompt for subject is skipped when
6082 forwarding messages.
6084 Note: this variable has no effect when the ``$autoedit'' variable is set.
6092 This variable controls whether or not attachments on outgoing messages are
6093 saved along with the main body of your message.
6101 When this variable is set, FCCs will be stored unencrypted and unsigned,
6102 even when the actual message is encrypted and/or signed. (PGP only)
6110 This variable is a colon-separated list of character encoding schemes for
6111 text file attatchments. If unset, $charset value will be used instead. For
6112 example, the following configuration would work for Japanese text
6115 set file_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
6117 Note: ``iso-2022-*'' must be put at the head of the value as shown above
6126 Specifies the default location of your mailboxes. A ``+'' or ``='' at the
6127 beginning of a pathname will be expanded to the value of this variable.
6128 Note that if you change this variable from the default value you need to
6129 make sure that the assignment occurs before you use ``+'' or ``='' for any
6130 other variables since expansion takes place during the ``set'' command.
6136 Default: "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"
6138 This variable allows you to customize the file browser display to your
6139 personal taste. This string is similar to ``$index_format'', but has its
6140 own set of printf(3)-like sequences:
6148 date/time folder was last modified
6160 group name (or numeric gid, if missing)
6164 number of hard links
6168 N if folder has new mail, blank otherwise
6176 * if the file is tagged, blank otherwise
6180 owner name (or numeric uid, if missing)
6184 right justify the rest of the string and pad with character "X"
6188 pad to the end of the line with character "X"
6196 Controls whether or not the Mail-Followup-To: header field is generated
6197 when sending mail. When set, Mutt-ng will generate this field when you are
6198 replying to a known mailing list, specified with the ``subscribe'' or
6199 ``lists'' commands or detected by common mailing list headers.
6201 This field has two purposes. First, preventing you from receiving
6202 duplicate copies of replies to messages which you send to mailing lists.
6203 Second, ensuring that you do get a reply separately for any messages sent
6204 to known lists to which you are not subscribed. The header will contain
6205 only the list's address for subscribed lists, and both the list address
6206 and your own email address for unsubscribed lists. Without this header, a
6207 group reply to your message sent to a subscribed list will be sent to both
6208 the list and your address, resulting in two copies of the same email for
6211 73. $force_buffy_check
6217 When set, it causes Mutt-ng to check for new mail when the buffy-list
6218 command is invoked. When unset, buffy_list will just list all mailboxes
6219 which are already known to have new mail.
6221 Also see the following variables: ``$timeout'', ``$mail_check'' and
6222 ``$imap_mail_check''.
6230 This variable is similar to ``$save_name'', except that Mutt-ng will store
6231 a copy of your outgoing message by the username of the address you are
6232 sending to even if that mailbox does not exist.
6234 Also see the ``$record'' variable.
6242 Controls the decoding of complex MIME messages into text/plain when
6243 forwarding a message. The message header is also RFC2047 decoded. This
6244 variable is only used, if ``$mime_forward'' is unset, otherwise
6245 ``$mime_forward_decode'' is used instead.
6247 76. $forward_decrypt
6253 Controls the handling of encrypted messages when forwarding a message.
6254 When set, the outer layer of encryption is stripped off. This variable is
6255 only used if ``$mime_forward'' is set and ``$mime_forward_decode'' is
6264 This quadoption controls whether or not the user is automatically placed
6265 in the editor when forwarding messages. For those who always want to
6266 forward with no modification, use a setting of no.
6274 This variable controls the default subject when forwarding a message. It
6275 uses the same format sequences as the ``$index_format'' variable.
6283 When set forwarded messages included in the main body of the message (when
6284 ``$mime_forward'' is unset) will be quoted using ``$indent_string''.
6288 Type: e-mail address
6292 This variable contains a default from address. It can be overridden using
6293 my_hdr (including from send-hooks) and ``$reverse_name''. This variable is
6294 ignored if ``$use_from'' is unset.
6296 E.g. you can use send-hook Mutt-ng-devel@lists.berlios.de 'my_hdr From:
6297 Foo Bar <foo@bar.fb>' when replying to the mutt-ng developer's mailing
6298 list and Mutt-ng takes this email address.
6300 Defaults to the contents of the environment variable $EMAIL.
6304 Type: regular expression
6308 A regular expression used by Mutt-ng to parse the GECOS field of a
6309 password entry when expanding the alias. By default the regular expression
6310 is set to ``^[^,]*'' which will return the string up to the first ``,''
6311 encountered. If the GECOS field contains a string like "lastname,
6312 firstname" then you should do: set gecos_mask=".*".
6314 This can be useful if you see the following behavior: you address a e-mail
6315 to user ID stevef whose full name is Steve Franklin. If Mutt-ng expands
6316 stevef to ``Franklin'' stevef@foo.bar then you should set the gecos_mask
6317 to a regular expression that will match the whole name so Mutt-ng will
6318 expand ``Franklin'' to ``Franklin, Steve''.
6326 When unset, the header fields normally added by the ``my_hdr'' command are
6327 not created. This variable must be unset before composing a new message or
6328 replying in order to take effect. If set, the user defined header fields
6329 are added to every new message.
6337 When set, this variable causes Mutt-ng to include the header of the
6338 message you are replying to into the edit buffer. The ``$weed'' setting
6347 Availability: Header Cache
6349 The $header_cache variable points to the header cache database.
6351 If $header_cache points to a directory it will contain a header cache
6352 database per folder. If $header_cache points to a file that file will be a
6353 single global header cache. By default it is unset so no header caching
6356 85. $header_cache_compress
6362 If enabled the header cache will be compressed. So only one fifth of the
6363 usual diskspace is used, but the uncompression can result in a slower open
6364 of the cached folder.
6372 When set, help lines describing the bindings for the major functions
6373 provided by each menu are displayed on the first line of the screen.
6375 Note: The binding will not be displayed correctly if the function is bound
6376 to a sequence rather than a single keystroke. Also, the help line may not
6377 be updated if a binding is changed while Mutt-ng is running. Since this
6378 variable is primarily aimed at new users, neither of these should present
6387 When set, Mutt-ng will skip the host name part of ``$hostname'' variable
6388 when adding the domain part to addresses. This variable does not affect
6389 the generation of Message-ID: header fields, and it will not lead to the
6390 cut-off of first-level domains.
6398 When set, Mutt-ng will not show the presence of messages that are hidden
6399 by limiting, in the thread tree.
6407 When set, Mutt-ng will not show the presence of missing messages in the
6410 90. $hide_thread_subject
6416 When set, Mutt-ng will not show the subject of messages in the thread tree
6417 that have the same subject as their parent or closest previously displayed
6420 91. $hide_top_limited
6426 When set, Mutt-ng will not show the presence of messages that are hidden
6427 by limiting, at the top of threads in the thread tree. Note that when
6428 $hide_missing is set, this option will have no effect.
6430 92. $hide_top_missing
6436 When set, Mutt-ng will not show the presence of missing messages at the
6437 top of threads in the thread tree. Note that when $hide_limited is set,
6438 this option will have no effect.
6446 This variable controls the size (in number of strings remembered) of the
6447 string history buffer. The buffer is cleared each time the variable is
6450 94. $honor_followup_to
6456 This variable controls whether or not a Mail-Followup-To: header field is
6457 honored when group-replying to a message.
6465 Specifies the hostname to use after the ``@'' in local e-mail addresses
6466 and during generation of Message-Id: headers.
6468 Please be sure to really know what you are doing when changing this
6469 variable to configure a custom domain part of Message-IDs.
6471 96. $ignore_list_reply_to
6477 Affects the behaviour of the reply function when replying to messages from
6478 mailing lists. When set, if the ``Reply-To:'' header field is set to the
6479 same value as the ``To:'' header field, Mutt-ng assumes that the
6480 ``Reply-To:'' header field was set by the mailing list to automate
6481 responses to the list, and will ignore this field. To direct a response to
6482 the mailing list when this option is set, use the list-reply function;
6483 group-reply will reply to both the sender and the list.
6485 97. $imap_authenticators
6493 This is a colon-delimited list of authentication methods Mutt-ng may
6494 attempt to use to log in to an IMAP server, in the order Mutt-ng should
6495 try them. Authentication methods are either ``login'' or the right side of
6496 an IMAP ``AUTH='' capability string, e.g. ``digest-md5'', ``gssapi'' or
6497 ``cram-md5''. This parameter is case-insensitive.
6499 If this parameter is unset (the default) Mutt-ng will try all available
6500 methods, in order from most-secure to least-secure.
6502 Example: set imap_authenticators="gssapi:cram-md5:login"
6504 Note: Mutt-ng will only fall back to other authentication methods if the
6505 previous methods are unavailable. If a method is available but
6506 authentication fails, Mutt-ng will not connect to the IMAP server.
6508 98. $imap_check_subscribed
6514 When set, mutt will fetch the set of subscribed folders from your server
6515 on connection, and add them to the set of mailboxes it polls for new mail.
6516 See also the ``mailboxes'' command.
6518 99. $imap_delim_chars
6526 This contains the list of characters which you would like to treat as
6527 folder separators for displaying IMAP paths. In particular it helps in
6528 using the '=' shortcut for your $folder variable.
6538 Mutt-ng requests these header fields in addition to the default headers
6539 (``DATE FROM SUBJECT TO CC MESSAGE-ID REFERENCES CONTENT-TYPE
6540 CONTENT-DESCRIPTION IN-REPLY-TO REPLY-TO LINES X-LABEL'') from IMAP
6541 servers before displaying the ``index'' menu. You may want to add more
6542 headers for spam detection.
6544 Note: This is a space separated list.
6546 101. $imap_home_namespace
6554 You normally want to see your personal folders alongside your INBOX in the
6555 IMAP browser. If you see something else, you may set this variable to the
6556 IMAP path to your folders.
6558 102. $imap_keepalive
6566 This variable specifies the maximum amount of time in seconds that Mutt-ng
6567 will wait before polling open IMAP connections, to prevent the server from
6568 closing them before Mutt-ng has finished with them.
6570 The default is well within the RFC-specified minimum amount of time (30
6571 minutes) before a server is allowed to do this, but in practice the RFC
6572 does get violated every now and then.
6574 Reduce this number if you find yourself getting disconnected from your
6575 IMAP server due to inactivity.
6577 103. $imap_list_subscribed
6585 This variable configures whether IMAP folder browsing will look for only
6586 subscribed folders or all folders. This can be toggled in the IMAP browser
6587 with the toggle-subscribed function.
6597 Your login name on the IMAP server.
6599 This variable defaults to the value of ``$imap_user.''
6601 105. $imap_mail_check
6607 This variable configures how often (in seconds) Mutt-ng should look for
6608 new mail in IMAP folders. This is split from the ``mail_check'' variable
6609 to generate less traffic and get more accurate information for local
6620 Specifies the password for your IMAP account. If unset, Mutt-ng will
6621 prompt you for your password when you invoke the fetch-mail function.
6623 Warning: you should only use this option when you are on a fairly secure
6624 machine, because the superuser can read your configuration even if you are
6625 the only one who can read the file.
6635 When set, Mutt-ng will not open new IMAP connections to check for new
6636 mail. Mutt-ng will only check for new mail over existing IMAP connections.
6637 This is useful if you don't want to be prompted to user/password pairs on
6638 Mutt-ng invocation, or if opening the connection is slow.
6648 If set, Mutt-ng will avoid implicitly marking your mail as read whenever
6649 you fetch a message from the server. This is generally a good thing, but
6650 can make closing an IMAP folder somewhat slower. This option exists to
6651 appease speed freaks.
6653 109. $imap_reconnect
6661 Controls whether or not Mutt-ng will try to reconnect to IMAP server when
6662 the connection is lost.
6664 110. $imap_servernoise
6672 When set, Mutt-ng will display warning messages from the IMAP server as
6673 error messages. Since these messages are often harmless, or generated due
6674 to configuration problems on the server which are out of the users' hands,
6675 you may wish to suppress them at some point.
6685 The name of the user whose mail you intend to access on the IMAP server.
6687 This variable defaults to your user name on the local machine.
6689 112. $implicit_autoview
6695 If set, Mutt-ng will look for a mailcap entry with the ``copiousoutput''
6696 flag set for every MIME attachment it doesn't have an internal viewer
6697 defined for. If such an entry is found, Mutt-ng will use the viewer
6698 defined in that entry to convert the body part to text form.
6706 Controls whether or not a copy of the message(s) you are replying to is
6707 included in your reply.
6709 114. $include_onlyfirst
6715 Controls whether or not Mutt-ng includes only the first attachment of the
6716 message you are replying.
6724 Specifies the string to prepend to each line of text quoted in a message
6725 to which you are replying. You are strongly encouraged not to change this
6726 value, as it tends to agitate the more fanatical netizens.
6732 Default: "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"
6734 This variable allows you to customize the message index display to your
6737 ``Format strings'' are similar to the strings used in the ``C'' function
6738 printf(3) to format output (see the man page for more detail). The
6739 following sequences are defined in Mutt-ng:
6743 address of the author
6747 reply-to address (if present; otherwise: address of author)
6751 filename of the original message folder (think mailBox)
6755 the list to which the letter was sent, or else the folder name
6760 number of characters (bytes) in the message
6764 current message number
6768 date and time of the message in the format specified by
6769 ``date_format'' converted to sender's time zone
6773 date and time of the message in the format specified by
6774 ``date_format'' converted to the local time zone
6778 current message number in thread
6782 number of messages in current thread
6786 entire From: line (address + real name)
6790 author name, or recipient name if the message is from you
6794 spam attribute(s) of this message
6798 newsgroup name (if compiled with nntp support)
6802 message-id of the current message
6806 number of lines in the message (does not work with maildir, mh,
6807 and possibly IMAP folders)
6811 If an address in the To or CC header field matches an address
6812 defined by the users ``subscribe'' command, this displays "To
6813 <list-name>", otherwise the same as %F.
6817 total number of message in the mailbox
6821 number of hidden messages if the thread is collapsed.
6829 author's real name (or address if missing)
6833 (_O_riginal save folder) Where Mutt-ng would formerly have stashed
6834 the message: list name or recipient name if no list
6838 subject of the message
6842 status of the message (N/D/d/!/r/*)
6846 `to:' field (recipients)
6850 the appropriate character from the $to_chars string
6854 user (login) name of the author
6858 first name of the author, or the recipient if the message is from
6863 name of organization of author (`organization:' field)
6867 `x-label:' field, if present
6871 `x-label' field, if present, and (1) not at part of a thread tree,
6872 (2) at the top of a thread, or (3) `x-label' is different from
6873 preceding message's `x-label'.
6877 message status flags
6881 the date and time of the message is converted to sender's time
6882 zone, and ``fmt'' is expanded by the library function
6883 ``strftime''; a leading bang disables locales
6887 the date and time of the message is converted to the local time
6888 zone, and ``fmt'' is expanded by the library function
6889 ``strftime''; a leading bang disables locales
6893 the local date and time when the message was received. ``fmt'' is
6894 expanded by the library function ``strftime''; a leading bang
6899 the current local time. ``fmt'' is expanded by the library
6900 function ``strftime''; a leading bang disables locales.
6904 right justify the rest of the string and pad with character "X"
6908 pad to the end of the line with character "X"
6910 See also: ``$to_chars''.
6918 How to invoke ispell (GNU's spell-checking software).
6926 If set, read messages marked as flagged will not be moved from your spool
6927 mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
6936 When set, address replies to the mailing list the original message came
6937 from (instead to the author only). Setting this option to ``ask-yes'' or
6938 ``ask-no'' will ask if you really intended to reply to the author only.
6946 The locale used by strftime(3) to format dates. Legal values are the
6947 strings your system accepts for the locale variable LC_TIME.
6955 This variable configures how often (in seconds) Mutt-ng should look for
6958 Note: This does not apply to IMAP mailboxes, see $imap_mail_check.
6966 This variable specifies which files to consult when attempting to display
6967 MIME bodies not directly supported by Mutt-ng.
6969 123. $mailcap_sanitize
6975 If set, Mutt-ng will restrict possible characters in mailcap % expandos to
6976 a well-defined set of safe characters. This is the safe setting, but we
6977 are not sure it doesn't break some more advanced MIME stuff.
6979 DON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE DOING!
6981 124. $maildir_header_cache_verify
6987 Availability: Header Cache
6989 Check for Maildir unaware programs other than Mutt-ng having modified
6990 maildir files when the header cache is in use. This incurs one stat(2) per
6991 message every time the folder is opened.
6999 If set, messages marked as deleted will be saved with the maildir
7000 (T)rashed flag instead of physically deleted.
7002 NOTE: this only applies to maildir-style mailboxes. Setting it will have
7003 no effect on other mailbox types.
7005 It is similiar to the trash option.
7013 Controls whether or not Mutt-ng marks newunread messages as old if you
7014 exit a mailbox without reading them.
7016 With this option set, the next time you start Mutt-ng, the messages will
7017 show up with an "O" next to them in the ``index'' menu, indicating that
7026 Controls the display of wrapped lines in the internal pager. If set, a
7027 ``+'' marker is displayed at the beginning of wrapped lines. Also see the
7028 ``$smart_wrap'' variable.
7032 Type: regular expression
7036 A regular expression used in the file browser, optionally preceded by the
7037 not operator ``!''. Only files whose names match this mask will be shown.
7038 The match is always case-sensitive.
7040 129. $max_display_recips
7046 When set non-zero, this specifies the maximum number of recipient header
7047 lines (To:, Cc: and Bcc:) to display in the pager if header weeding is
7048 turned on. In case the number of lines exeeds its value, the last line
7049 will have 3 dots appended.
7051 130. $max_line_length
7057 When set, the maximum line length for displaying ``format = flowed''
7058 messages is limited to this length. A value of 0 (which is also the
7059 default) means that the maximum line length is determined by the terminal
7060 width and $wrapmargin.
7068 This specifies the folder into which read mail in your ``$spoolfile''
7069 folder will be appended.
7077 The default mailbox type used when creating new folders. May be any of
7078 mbox, MMDF, MH and Maildir.
7086 This variable controls the number of lines of context that are given when
7087 scrolling through menus. (Similar to ``$pager_context''.)
7095 When unset, the bottom entry of menus will never scroll up past the bottom
7096 of the screen, unless there are less entries than lines. When set, the
7097 bottom entry may move off the bottom.
7105 When set, menus will be scrolled up or down one line when you attempt to
7106 move across a screen boundary. If unset, the screen is cleared and the
7107 next or previous page of the menu is displayed (useful for slow links to
7108 avoid many redraws).
7110 136. $message_format
7116 This is the string displayed in the ``attachment'' menu for attachments of
7117 type message/rfc822. For a full listing of defined printf(3)-like
7118 sequences see the section on ``$index_format''.
7126 If set, forces Mutt-ng to interpret keystrokes with the high bit (bit 8)
7127 set as if the user had pressed the ESC key and whatever key remains after
7128 having the high bit removed. For example, if the key pressed has an ASCII
7129 value of 0xf4, then this is treated as if the user had pressed ESC then
7130 ``x''. This is because the result of removing the high bit from ``0xf4''
7131 is ``0x74'', which is the ASCII character ``x''.
7139 If unset, Mutt-ng will remove your address (see the ``alternates''
7140 command) from the list of recipients when replying to a message.
7148 When unset, Mutt-ng will mimic mh's behaviour and rename deleted messages
7149 to ,<old file name> in mh folders instead of really deleting them. If the
7150 variable is set, the message files will simply be deleted.
7152 140. $mh_seq_flagged
7158 The name of the MH sequence used for flagged messages.
7160 141. $mh_seq_replied
7166 The name of the MH sequence used to tag replied messages.
7174 The name of the MH sequence used for unseen messages.
7182 When set, the message you are forwarding will be attached as a separate
7183 MIME part instead of included in the main body of the message.
7185 This is useful for forwarding MIME messages so the receiver can properly
7186 view the message as it was delivered to you. If you like to switch between
7187 MIME and not MIME from mail to mail, set this variable to ask-no or
7190 Also see ``$forward_decode'' and ``$mime_forward_decode''.
7192 144. $mime_forward_decode
7198 Controls the decoding of complex MIME messages into text/plain when
7199 forwarding a message while ``$mime_forward'' is set. Otherwise
7200 ``$forward_decode'' is used instead.
7202 145. $mime_forward_rest
7208 When forwarding multiple attachments of a MIME message from the recvattach
7209 menu, attachments which cannot be decoded in a reasonable manner will be
7210 attached to the newly composed message if this option is set.
7212 146. $mix_entry_format
7216 Default: "%4n %c %-16s %a"
7218 Availability: Mixmaster
7220 This variable describes the format of a remailer line on the mixmaster
7221 chain selection screen. The following printf(3)-like sequences are
7226 The running number on the menu.
7230 Remailer capabilities.
7234 The remailer's short name.
7238 The remailer's e-mail address.
7244 Default: "mixmaster"
7246 Availability: Mixmaster
7248 This variable contains the path to the Mixmaster binary on your system. It
7249 is used with various sets of parameters to gather the list of known
7250 remailers, and to finally send a message through the mixmaster chain.
7258 Controls whether or not Mutt-ng will move read messages from your spool
7259 mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
7266 Default: "%Y%m%d%h%M%s.G%P%p"
7268 This is the format for the ``local part'' of the Message-Id: header field
7269 generated by Mutt-ng. If this variable is empty, no Message-Id: headers
7270 will be generated. The '%' character marks that certain data will be added
7271 to the string, similar to printf(3). The following characters are allowed:
7275 the current day of month
7291 the current UNIX timestamp (octal)
7299 the current Message-ID prefix (a character rotating with every
7300 Message-ID being generated)
7304 a random integer value (decimal)
7308 a random integer value (hexadecimal)
7316 the current UNIX timestamp (decimal)
7320 the current UNIX timestamp (hexadecimal)
7324 the current year (Y2K compliant)
7330 Note: Please only change this setting if you know what you are doing. Also
7331 make sure to consult RFC2822 to produce technically valid strings.
7335 Type: system property
7337 Value: /opt/freebsd4/mutt-ng/bin
7339 This is a read-only system property and specifies the directory containing
7344 Type: system property
7346 Value: /opt/freebsd4/mutt-ng/doc/muttng
7348 This is a read-only system property and specifies the directory containing
7349 the muttng documentation.
7351 152. $muttng_folder_name
7353 Type: system property
7357 This is a read-only system property and, at runtime, specifies the last
7358 part of the full path or URI of the folder currently open (if any), i.e.
7359 everything after the last ``/''.
7361 153. $muttng_folder_path
7363 Type: system property
7367 This is a read-only system property and, at runtime, specifies the full
7368 path or URI of the folder currently open (if any).
7370 154. $muttng_hcache_backend
7372 Type: system property
7376 This is a read-only system property and specifies the header chaching's
7381 Type: system property
7385 This is a read-only system property and, at runtime, specifies the current
7386 working directory of the muttng binary.
7388 156. $muttng_revision
7390 Type: system property
7394 This is a read-only system property and specifies muttng's subversion
7397 157. $muttng_sysconfdir
7399 Type: system property
7401 Value: /opt/freebsd4/mutt-ng/etc
7403 This is a read-only system property and specifies the directory containing
7404 the muttng system-wide configuration.
7406 158. $muttng_version
7408 Type: system property
7412 This is a read-only system property and specifies muttng's version string.
7420 This variable, when set, makes the thread tree narrower, allowing deeper
7421 threads to fit on the screen.
7429 Operations that expect to transfer a large amount of data over the network
7430 will update their progress every net_inc kilobytes. If set to 0, no
7431 progress messages will be displayed.
7433 See also ``$read_inc'' and ``$write_inc''.
7435 161. $nntp_ask_followup_to
7443 If set, Mutt-ng will prompt you for the Followup-To: header field before
7444 editing the body of an outgoing news article.
7446 162. $nntp_ask_x_comment_to
7454 If set, Mutt-ng will prompt you for the X-Comment-To: header field before
7455 editing the body of an outgoing news article.
7457 163. $nntp_cache_dir
7461 Default: "~/.muttng"
7465 This variable points to directory where Mutt-ng will cache news article
7466 headers. If unset, headers will not be saved at all and will be reloaded
7467 each time when you enter a newsgroup.
7469 As for the header caching in connection with IMAP and/or Maildir, this
7470 drastically increases speed and lowers traffic.
7480 If this variable is set, Mutt-ng will mark all articles in a newsgroup as
7481 read when you leaving it.
7491 This variable controls how many news articles to cache per newsgroup (if
7492 caching is enabled, see $nntp_cache_dir) and how many news articles to
7493 show in the ``index'' menu.
7495 If there're more articles than defined with $nntp_context, all older ones
7496 will be removed/not shown in the index.
7498 166. $nntp_followup_to_poster
7506 If this variable is set and the keyword "poster" is present in the
7507 Followup-To: header field, a follow-up to the newsgroup is not permitted.
7508 The message will be mailed to the submitter of the message via mail.
7510 167. $nntp_group_index_format
7514 Default: "%4C %M%N %5s %-45.45f %d"
7518 This variable allows you to customize the newsgroup browser display to
7519 your personal taste. This string is similar to ``index_format'', but has
7520 its own set of printf(3)-like sequences:
7522 %C current newsgroup number
7523 %d description of newsgroup (retrieved from server)
7525 %M ``-'' if newsgroup not allowed for direct post (moderated for example)
7526 %N ``N'' if newsgroup is new, ``u'' if unsubscribed, blank otherwise
7527 %n number of new articles in newsgroup
7528 %s number of unread articles in newsgroup
7529 %>X right justify the rest of the string and pad with character "X"
7530 %|X pad to the end of the line with character "X"
7541 This variable specifies the name (or address) of the NNTP server to be
7544 It defaults to the value specified via the environment variable
7545 $NNTPSERVER or contained in the file /etc/nntpserver.
7547 You can also specify a username and an alternative port for each
7550 [nntp[s]://][username[:password]@]newsserver[:port]
7552 Note: Using a password as shown and stored in a configuration file
7553 presents a security risk since the superuser of your machine may read it
7554 regardless of the file's permissions.
7564 If set, specifies the program and arguments used to deliver news posted by
7565 Mutt-ng. Otherwise, Mutt-ng posts article using current connection. The
7566 following printf(3)-style sequence is understood:
7571 Example: set inews="/usr/local/bin/inews -hS"
7573 170. $nntp_load_description
7581 This variable controls whether or not descriptions for newsgroups are to
7582 be loaded when subscribing to a newsgroup.
7584 171. $nntp_mail_check
7592 The time in seconds until any operations on a newsgroup except posting a
7593 new article will cause a recheck for new news. If set to 0, Mutt-ng will
7594 recheck on each operation in index (stepping, read article, etc.).
7596 172. $nntp_mime_subject
7604 If unset, an 8-bit ``Subject:'' header field in a news article will not be
7605 encoded according to RFC2047.
7607 Note: Only change this setting if you know what you are doing.
7613 Default: "~/.newsrc"
7617 This file contains information about subscribed newsgroup and articles
7620 To ease the use of multiple news servers, the following printf(3)-style
7621 sequence is understood:
7634 Your password for NNTP account.
7636 Note: Storing passwords in a configuration file presents a security risk
7637 since the superuser of your machine may read it regardless of the file's
7640 175. $nntp_post_moderated
7648 If set to yes, Mutt-ng will post articles to newsgroup that have not
7649 permissions to post (e.g. moderated).
7651 Note: if the newsserver does not support posting to that newsgroup or a
7652 group is totally read-only, that posting will not have any effect.
7654 176. $nntp_reconnect
7662 Controls whether or not Mutt-ng will try to reconnect to a newsserver when
7663 the was connection lost.
7665 177. $nntp_save_unsubscribed
7673 When set, info about unsubscribed newsgroups will be saved into the
7674 ``newsrc'' file and into the news cache.
7676 178. $nntp_show_new_news
7684 If set, the newsserver will be asked for new newsgroups on entering the
7685 browser. Otherwise, it will be done only once for a newsserver. Also
7686 controls whether or not the number of new articles of subscribed
7687 newsgroups will be checked.
7689 179. $nntp_show_only_unread
7697 If set, only subscribed newsgroups that contain unread articles will be
7698 displayed in the newsgroup browser.
7708 Your login name on the NNTP server. If unset and the server requires
7709 authentification, Mutt-ng will prompt you for your account name.
7711 181. $nntp_x_comment_to
7719 If set, Mutt-ng will add a ``X-Comment-To:'' header field (that contains
7720 full name of the original article author) to articles that you followup
7723 182. $operating_system
7729 This specifies the operating system name for the User-Agent: header field.
7730 If this is unset, it will be set to the operating system name that
7731 uname(2) returns. If uname(2) fails, ``UNIX'' will be used.
7733 It may, for example, look as: ``mutt-ng 1.5.9i (Linux)''.
7741 This variable specifies which pager you would like to use to view
7742 messages. ``builtin'' means to use the builtin pager, otherwise this
7743 variable should specify the pathname of the external pager you would like
7746 Using an external pager may have some disadvantages: Additional keystrokes
7747 are necessary because you can't call Mutt-ng functions directly from the
7748 pager, and screen resizes cause lines longer than the screen width to be
7749 badly formatted in the help menu.
7757 This variable controls the number of lines of context that are given when
7758 displaying the next or previous page in the internal pager. By default,
7759 Mutt-ng will display the line after the last one on the screen at the top
7760 of the next page (0 lines of context).
7766 Default: "-%Z- %C/%m: %-20.20n %s"
7768 This variable controls the format of the one-line message ``status''
7769 displayed before each message in either the internal or an external pager.
7770 The valid sequences are listed in the ``$index_format'' section.
7772 186. $pager_index_lines
7778 Determines the number of lines of a mini-index which is shown when in the
7779 pager. The current message, unless near the top or bottom of the folder,
7780 will be roughly one third of the way down this mini-index, giving the
7781 reader the context of a few messages before and after the message. This is
7782 useful, for example, to determine how many messages remain to be read in
7783 the current thread. One of the lines is reserved for the status bar from
7784 the index, so a pager_index_lines of 6 will only show 5 lines of the
7785 actual index. A value of 0 results in no index being shown. If the number
7786 of messages in the current folder is less than pager_index_lines, then the
7787 index will only use as many lines as it needs.
7795 When set, the internal-pager will not move to the next message when you
7796 are at the end of a message and invoke the next-page function.
7798 188. $pgp_auto_decode
7804 If set, Mutt-ng will automatically attempt to decrypt traditional PGP
7805 messages whenever the user performs an operation which ordinarily would
7806 result in the contents of the message being operated on. For example, if
7807 the user displays a pgp-traditional message which has not been manually
7808 checked with the check-traditional-pgp function, Mutt-ng will
7809 automatically check the message for traditional pgp.
7811 189. $pgp_autoinline
7817 This option controls whether Mutt-ng generates old-style inline
7818 (traditional) PGP encrypted or signed messages under certain
7819 circumstances. This can be overridden by use of the pgp-menu, when inline
7822 Note that Mutt-ng might automatically use PGP/MIME for messages which
7823 consist of more than a single MIME part. Mutt-ng can be configured to ask
7824 before sending PGP/MIME messages when inline (traditional) would not work.
7825 See also: ``$pgp_mime_auto''.
7827 Also note that using the old-style PGP message format is
7828 stronglydeprecated. (PGP only)
7830 190. $pgp_check_exit
7836 If set, Mutt-ng will check the exit code of the PGP subprocess when
7837 signing or encrypting. A non-zero exit code means that the subprocess
7840 191. $pgp_clearsign_command
7846 This format is used to create a old-style ``clearsigned'' PGP message.
7848 Note that the use of this format is stronglydeprecated. (PGP only)
7850 192. $pgp_decode_command
7856 This format strings specifies a command which is used to decode
7857 application/pgp attachments.
7859 The PGP command formats have their own set of printf(3)-like sequences:
7863 Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty
7864 string otherwise. Note: This may be used with a %? construct.
7868 Expands to the name of a file containing a message.
7872 Expands to the name of a file containing the signature part of a
7873 multipart/signed attachment when verifying it.
7877 The value of $pgp_sign_as.
7881 One or more key IDs.
7883 For examples on how to configure these formats for the various versions of
7884 PGP which are floating around, see the pgp*.rc and gpg.rc files in the
7885 samples/ subdirectory which has been installed on your system alongside
7886 the documentation. (PGP only)
7888 193. $pgp_decrypt_command
7894 This command is used to decrypt a PGP encrypted message. (PGP only)
7896 194. $pgp_encrypt_only_command
7902 This command is used to encrypt a body part without signing it. (PGP only)
7904 195. $pgp_encrypt_sign_command
7910 This command is used to both sign and encrypt a body part. (PGP only)
7912 196. $pgp_entry_format
7916 Default: "%4n %t%f %4l/0x%k %-4a %2c %u"
7918 This variable allows you to customize the PGP key selection menu to your
7919 personal taste. This string is similar to ``$index_format'', but has its
7920 own set of printf(3)-like sequences:
7952 trust/validity of the key-uid association
7956 date of the key where <s> is an strftime(3) expression
7960 197. $pgp_export_command
7966 This command is used to export a public key from the user's key ring. (PGP
7969 198. $pgp_getkeys_command
7975 This command is invoked whenever Mutt-ng will need public key information.
7976 %r is the only printf(3)-like sequence used with this format. (PGP only)
7980 Type: regular expression
7984 If you assign a text to this variable, then a PGP signature is only
7985 considered verified if the output from $pgp_verify_command contains the
7986 text. Use this variable if the exit code from the command is 0 even for
7987 bad signatures. (PGP only)
7989 200. $pgp_ignore_subkeys
7995 Setting this variable will cause Mutt-ng to ignore OpenPGP subkeys.
7996 Instead, the principal key will inherit the subkeys' capabilities. Unset
7997 this if you want to play interesting key selection games. (PGP only)
7999 201. $pgp_import_command
8005 This command is used to import a key from a message into the user's public
8006 key ring. (PGP only)
8008 202. $pgp_list_pubring_command
8014 This command is used to list the public key ring's contents. The output
8015 format must be analogous to the one used by gpg --list-keys --with-colons.
8017 This format is also generated by the pgpring utility which comes with
8020 203. $pgp_list_secring_command
8026 This command is used to list the secret key ring's contents. The output
8027 format must be analogous to the one used by gpg --list-keys --with-colons.
8029 This format is also generated by the pgpring utility which comes with
8038 If set, use 64 bit PGP key IDs. Unset uses the normal 32 bit Key IDs. (PGP
8047 This option controls whether Mutt-ng will prompt you for automatically
8048 sending a (signed/encrypted) message using PGP/MIME when inline
8049 (traditional) fails (for any reason).
8051 Also note that using the old-style PGP message format is
8052 stronglydeprecated. (PGP only)
8054 206. $pgp_replyinline
8060 Setting this variable will cause Mutt-ng to always attempt to create an
8061 inline (traditional) message when replying to a message which is PGP
8062 encrypted/signed inline. This can be overridden by use of the pgp-menu,
8063 when inline is not required. This option does not automatically detect if
8064 the (replied-to) message is inline; instead it relies on Mutt-ng internals
8065 for previously checked/flagged messages.
8067 Note that Mutt-ng might automatically use PGP/MIME for messages which
8068 consist of more than a single MIME part. Mutt-ng can be configured to ask
8069 before sending PGP/MIME messages when inline (traditional) would not work.
8070 See also: ``$pgp_mime_auto''.
8072 Also note that using the old-style PGP message format is
8073 stronglydeprecated. (PGP only)
8075 207. $pgp_retainable_sigs
8081 If set, signed and encrypted messages will consist of nested
8082 multipart/signed and multipart/encrypted body parts.
8084 This is useful for applications like encrypted and signed mailing lists,
8085 where the outer layer (multipart/encrypted) can be easily removed, while
8086 the inner multipart/signed part is retained. (PGP only)
8088 208. $pgp_show_unusable
8094 If set, Mutt-ng will display non-usable keys on the PGP key selection
8095 menu. This includes keys which have been revoked, have expired, or have
8096 been marked as ``disabled'' by the user. (PGP only)
8104 If you have more than one key pair, this option allows you to specify
8105 which of your private keys to use. It is recommended that you use the
8106 keyid form to specify your key (e.g., ``0x00112233''). (PGP only)
8108 210. $pgp_sign_command
8114 This command is used to create the detached PGP signature for a
8115 multipart/signed PGP/MIME body part. (PGP only)
8123 Specifies how the entries in the ``pgp keys'' menu are sorted. The
8124 following are legal values:
8128 sort alphabetically by user id
8132 sort alphabetically by key id
8136 sort by key creation date
8140 sort by the trust of the key
8142 If you prefer reverse order of the above values, prefix it with
8143 ``reverse-''. (PGP only)
8145 212. $pgp_strict_enc
8151 If set, Mutt-ng will automatically encode PGP/MIME signed messages as
8152 quoted-printable. Please note that unsetting this variable may lead to
8153 problems with non-verifyable PGP signatures, so only change this if you
8154 know what you are doing. (PGP only)
8162 The number of seconds after which a cached passphrase will expire if not
8163 used. Default: 300. (PGP only)
8165 214. $pgp_use_gpg_agent
8171 If set, Mutt-ng will use a possibly-running gpg-agent process. (PGP only)
8173 215. $pgp_verify_command
8179 This command is used to verify PGP signatures. (PGP only)
8181 216. $pgp_verify_key_command
8187 This command is used to verify key information from the key selection
8196 Used in connection with the pipe-message command. When unset, Mutt-ng will
8197 pipe the messages without any preprocessing. When set, Mutt-ng will weed
8198 headers and will attempt to PGP/MIME decode the messages first.
8206 The separator to add between messages when piping a list of tagged
8207 messages to an external Unix command.
8215 Used in connection with the pipe-message command and the ``tag- prefix''
8216 or ``tag-prefix-cond'' operators. If this variable is unset, when piping a
8217 list of tagged messages Mutt-ng will concatenate the messages and will
8218 pipe them as a single folder. When set, Mutt-ng will pipe the messages one
8219 by one. In both cases the messages are piped in the current sorted order,
8220 and the ``$pipe_sep'' separator is added after each message.
8222 220. $pop_auth_try_all
8230 If set, Mutt-ng will try all available methods. When unset, Mutt-ng will
8231 only fall back to other authentication methods if the previous methods are
8232 unavailable. If a method is available but authentication fails, Mutt-ng
8233 will not connect to the POP server.
8235 221. $pop_authenticators
8243 This is a colon-delimited list of authentication methods Mutt-ng may
8244 attempt to use to log in to an POP server, in the order Mutt-ng should try
8245 them. Authentication methods are either ``user'', ``apop'' or any SASL
8246 mechanism, eg ``digest-md5'', ``gssapi'' or ``cram-md5''.
8248 This parameter is case-insensitive. If this parameter is unset (the
8249 default) Mutt-ng will try all available methods, in order from most-secure
8252 Example: set pop_authenticators="digest-md5:apop:user"
8262 If set, Mutt-ng will delete successfully downloaded messages from the POP
8263 server when using the ``fetch-mail'' function. When unset, Mutt-ng will
8264 download messages but also leave them on the POP server.
8274 The name of your POP server for the ``fetch-mail'' function. You can also
8275 specify an alternative port, username and password, i.e.:
8277 [pop[s]://][username[:password]@]popserver[:port]
8279 Note: Storing passwords in a configuration file presents a security risk
8280 since the superuser of your machine may read it regardless of the file's
8291 If this variable is set, Mutt-ng will try to use the ``LAST'' POP command
8292 for retrieving only unread messages from the POP server when using the
8293 ``fetch-mail'' function.
8295 225. $pop_mail_check
8303 This variable configures how often (in seconds) POP should look for new
8314 Specifies the password for your POP account. If unset, Mutt-ng will prompt
8315 you for your password when you open POP mailbox.
8317 Note: Storing passwords in a configuration file presents a security risk
8318 since the superuser of your machine may read it regardless of the file's
8329 Controls whether or not Mutt-ng will try to reconnect to a POP server when
8330 the connection is lost.
8340 Your login name on the POP server.
8342 This variable defaults to your user name on the local machine.
8344 229. $post_indent_string
8350 Similar to the ``$attribution'' variable, Mutt-ng will append this string
8351 after the inclusion of a message which is being replied to.
8359 Controls whether or not messages are saved in the ``$postponed'' mailbox
8360 when you elect not to send immediately.
8366 Default: "~/postponed"
8368 Mutt-ng allows you to indefinitely ``postpone sending a message'' which
8369 you are editing. When you choose to postpone a message, Mutt-ng saves it
8370 in the mailbox specified by this variable. Also see the ``$postpone''
8379 If set, a shell command to be executed if Mutt-ng fails to establish a
8380 connection to the server. This is useful for setting up secure
8381 connections, e.g. with ssh(1). If the command returns a nonzero status,
8382 Mutt-ng gives up opening the server. Example:
8384 preconnect="ssh -f -q -L 1234:mailhost.net:143 mailhost.net sleep 20 <
8385 /dev/null > /dev/null"
8387 Mailbox ``foo'' on mailhost.net can now be reached as
8388 ``{localhost:1234}foo''.
8390 Note: For this example to work, you must be able to log in to the remote
8391 machine without having to enter a password.
8399 Controls whether or not Mutt-ng really prints messages. This is set to
8400 ask-no by default, because some people accidentally hit ``p'' often.
8408 This specifies the command pipe that should be used to print messages.
8416 Used in connection with the print-message command. If this option is set,
8417 the message is decoded before it is passed to the external command
8418 specified by $print_command. If this option is unset, no processing will
8419 be applied to the message when printing it. The latter setting may be
8420 useful if you are using some advanced printer filter which is able to
8421 properly format e-mail messages for printing.
8429 Used in connection with the print-message command. If this option is set,
8430 the command specified by $print_command is executed once for each message
8431 which is to be printed. If this option is unset, the command specified by
8432 $print_command is executed only once, and all the messages are
8433 concatenated, with a form feed as the message separator.
8435 Those who use the enscript(1) program's mail-printing mode will most
8436 likely want to set this option.
8444 If you use an external ``$pager'', setting this variable will cause
8445 Mutt-ng to prompt you for a command when the pager exits rather than
8446 returning to the index menu. If unset, Mutt-ng will return to the index
8447 menu when the external pager exits.
8455 This specifies the command that Mutt-ng will use to make external address
8456 queries. The string should contain a %s, which will be substituted with
8457 the query string the user types. See ``query'' for more information.
8465 This variable controls whether ``quit'' and ``exit'' actually quit from
8466 Mutt-ng. If it set to yes, they do quit, if it is set to no, they have no
8467 effect, and if it is set to ask-yes or ask-no, you are prompted for
8468 confirmation when you try to quit.
8476 Controls whether or not empty lines will be quoted using
8485 Controls how quoted lines will be quoted. If set, one quote character will
8486 be added to the end of existing prefix. Otherwise, quoted lines will be
8487 prepended by ``indent_string''.
8491 Type: regular expression
8493 Default: "^([ \t]*[|>:}#])+"
8495 A regular expression used in the internal-pager to determine quoted
8496 sections of text in the body of a message.
8498 Note: In order to use the quotedx patterns in the internal pager, you need
8499 to set this to a regular expression that matches exactly the quote
8500 characters at the beginning of quoted lines.
8508 If set to a value greater than 0, Mutt-ng will display which message it is
8509 currently on when reading a mailbox. The message is printed after read_inc
8510 messages have been read (e.g., if set to 25, Mutt-ng will print a message
8511 when it reads message 25, and then again when it gets to message 50). This
8512 variable is meant to indicate progress when reading large mailboxes which
8513 may take some time. When set to 0, only a single message will appear
8514 before the reading the mailbox.
8516 Also see the ``$write_inc'' variable.
8524 If set, all folders are opened in read-only mode.
8532 This variable specifies what ``real'' or ``personal'' name should be used
8533 when sending messages.
8535 By default, this is the GECOS field from /etc/passwd.
8537 Note: This variable will not be used when the user has set a real name in
8546 Controls whether or not Mutt-ng recalls postponed messages when composing
8547 a new message. Also see ``$postponed''.
8549 Setting this variable to yes is not generally useful, and thus not
8558 This specifies the file into which your outgoing messages should be
8559 appended. (This is meant as the primary method for saving a copy of your
8560 messages, but another way to do this is using the ``my_hdr'' command to
8561 create a Bcc: header field with your email address in it.)
8563 The value of $record is overridden by the ``$force_name'' and
8564 ``$save_name'' variables, and the ``fcc-hook'' command.
8568 Type: regular expression
8570 Default: "^(re([\[0-9\]+])*|aw):[ \t]*"
8572 A regular expression used to recognize reply messages when threading and
8573 replying. The default value corresponds to the English ``Re:'' and the
8582 If unset and you are replying to a message sent by you, Mutt-ng will
8583 assume that you want to reply to the recipients of that message rather
8592 If set, when replying to a message, Mutt-ng will use the address listed in
8593 the ``Reply-To:'' header field as the recipient of the reply. If unset, it
8594 will use the address in the ``From:'' header field instead.
8596 This option is useful for reading a mailing list that sets the
8597 ``Reply-To:'' header field to the list address and you want to send a
8598 private message to the author of a message.
8606 When set, the cursor will be automatically advanced to the next (possibly
8607 undeleted) message whenever a command that modifies the current message is
8616 This variable controls whether or not Mutt-ng will display the
8617 ``personal'' name from your aliases in the index menu if it finds an alias
8618 that matches the message's sender. For example, if you have the following
8621 alias juser abd30425@somewhere.net (Joe User)
8623 and then you receive mail which contains the following header:
8625 From: abd30425@somewhere.net
8627 It would be displayed in the index menu as ``Joe User'' instead of
8628 ``abd30425@somewhere.net.'' This is useful when the person's e-mail
8629 address is not human friendly (like CompuServe addresses).
8637 It may sometimes arrive that you receive mail to a certain machine, move
8638 the messages to another machine, and reply to some the messages from
8639 there. If this variable is set, the default From: line of the reply
8640 messages is built using the address where you received the messages you
8641 are replying to if that address matches your alternates. If the variable
8642 is unset, or the address that would be used doesn't match your alternates,
8643 the From: line will use your address on the current machine.
8645 254. $reverse_realname
8651 This variable fine-tunes the behaviour of the reverse_name feature. When
8652 it is set, Mutt-ng will use the address from incoming messages as-is,
8653 possibly including eventual real names. When it is unset, Mutt-ng will
8654 override any such real names with the setting of the realname variable.
8656 255. $rfc2047_parameters
8662 When this variable is set, Mutt-ng will decode RFC-2047-encoded MIME
8663 parameters. You want to set this variable when Mutt-ng suggests you to
8664 save attachments to files named like this:
8666 =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?=
8668 When this variable is set interactively, the change doesn't have the
8669 desired effect before you have changed folders.
8671 Note that this use of RFC 2047's encoding is explicitly, prohibited by the
8672 standard, but nevertheless encountered in the wild.
8674 Also note that setting this parameter will not have the effect that
8675 Mutt-ng generates this kind of encoding. Instead, Mutt-ng will
8676 unconditionally use the encoding specified in RFC 2231.
8684 If set, Mutt-ng will take the sender's full address when choosing a
8685 default folder for saving a mail. If ``$save_name'' or ``$force_name'' is
8686 set too, the selection of the fcc folder will be changed as well.
8694 When unset, mailboxes which contain no saved messages will be removed when
8695 closed (the exception is ``$spoolfile'' which is never removed). If set,
8696 mailboxes are never removed.
8698 Note: This only applies to mbox and MMDF folders, Mutt-ng does not delete
8699 MH and Maildir directories.
8707 This variable controls how copies of outgoing messages are saved. When
8708 set, a check is made to see if a mailbox specified by the recipient
8709 address exists (this is done by searching for a mailbox in the ``$folder''
8710 directory with the username part of the recipient address). If the mailbox
8711 exists, the outgoing message will be saved to that mailbox, otherwise the
8712 message is saved to the ``$record'' mailbox.
8714 Also see the ``$force_name'' variable.
8722 When this variable is unset, scoring is turned off. This can be useful to
8723 selectively disable scoring for certain folders when the
8724 ``$score_threshold_delete'' variable and friends are used.
8726 260. $score_threshold_delete
8732 Messages which have been assigned a score equal to or lower than the value
8733 of this variable are automatically marked for deletion by Mutt-ng. Since
8734 Mutt-ng scores are always greater than or equal to zero, the default
8735 setting of this variable will never mark a message for deletion.
8737 261. $score_threshold_flag
8743 Messages which have been assigned a score greater than or equal to this
8744 variable's value are automatically marked ``flagged''.
8746 262. $score_threshold_read
8752 Messages which have been assigned a score equal to or lower than the value
8753 of this variable are automatically marked as read by Mutt-ng. Since
8754 Mutt-ng scores are always greater than or equal to zero, the default
8755 setting of this variable will never mark a message read.
8761 Default: "us-ascii:iso-8859-1:utf-8"
8763 A list of character sets for outgoing messages. Mutt-ng will use the first
8764 character set into which the text can be converted exactly. If your
8765 ``$charset'' is not iso-8859-1 and recipients may not understand UTF-8, it
8766 is advisable to include in the list an appropriate widely used standard
8767 character set (such as iso-8859-2, koi8-r or iso-2022-jp) either instead
8768 of or after iso-8859-1.
8774 Default: "/usr/sbin/sendmail -oem -oi"
8776 Specifies the program and arguments used to deliver mail sent by Mutt-ng.
8777 Mutt-ng expects that the specified program interprets additional arguments
8778 as recipient addresses.
8786 Specifies the number of seconds to wait for the ``$sendmail'' process to
8787 finish before giving up and putting delivery in the background.
8789 Mutt-ng interprets the value of this variable as follows:
8793 number of seconds to wait for sendmail to finish before continuing
8797 wait forever for sendmail to finish
8801 always put sendmail in the background without waiting
8803 Note that if you specify a value other than 0, the output of the child
8804 process will be put in a temporary file. If there is some error, you will
8805 be informed as to where to find the output.
8813 Command to use when spawning a subshell. By default, the user's login
8814 shell from /etc/passwd is used.
8816 267. $sidebar_boundary
8822 When the sidebar is displayed and $sidebar_shorten_hierarchy is set, this
8823 variable specifies the characters at which to split a folder name into
8824 ``hierarchy items.''
8832 This specifies the delimiter between the sidebar (if visible) and other
8835 269. $sidebar_newmail_only
8841 If set, only folders with new mail will be shown in the sidebar.
8843 270. $sidebar_number_format
8847 Default: "%m%?n?(%n)?%?f?[%f]?"
8849 This variable controls how message counts are printed when the sidebar is
8850 enabled. If this variable is empty (and only if), no numbers will be
8851 printed and mutt-ng won't frequently count mail (which may be a great
8852 speedup esp. with mbox-style mailboxes.)
8854 The following printf(3)-like sequences are supported all of which may be
8859 Number of deleted messages. 1)
8863 Number of flagged messages.
8867 Total number of messages.
8871 Total number of messages shown, i.e. not hidden by a limit. 1)
8875 Number of new messages.
8879 Number of tagged messages. 1)
8881 1) These expandos only have a non-zero value for the current mailbox and
8882 will always be zero otherwise.
8884 271. $sidebar_shorten_hierarchy
8890 When set, the ``hierarchy'' of the sidebar entries will be shortened only
8891 if they cannot be printed in full length (because ``$sidebar_width'' is
8892 set to a too low value). For example, if the newsgroup name
8893 ``de.alt.sysadmin.recovery'' doesn't fit on the screen, it'll get
8894 shortened ``d.a.s.recovery'' while ``de.alt.d0'' still would and thus will
8897 At which characters this compression is done is controled via the
8898 $sidebar_boundary variable.
8900 272. $sidebar_visible
8906 This specifies whether or not to show the sidebar (a list of folders
8907 specified with the ``mailboxes'' command).
8915 The width of the sidebar.
8923 If set, a line containing ``-- '' (dash, dash, space) will be inserted
8924 before your ``$signature''. It is strongly recommended that you not unset
8925 this variable unless your ``signature'' contains just your name. The
8926 reason for this is because many software packages use ``-- \n'' to detect
8929 For example, Mutt-ng has the ability to highlight the signature in a
8930 different color in the builtin pager.
8938 If set, the signature will be included before any quoted or forwarded
8939 text. It is strongly recommended that you do not set this variable unless
8940 you really know what you are doing, and are prepared to take some heat
8941 from netiquette guardians.
8947 Default: "~/.signature"
8949 Specifies the filename of your signature, which is appended to all
8950 outgoing messages. If the filename ends with a pipe (``|''), it is assumed
8951 that filename is a shell command and input should be read from its stdout.
8953 277. $signoff_string
8959 If set, this string will be inserted before the signature. This is useful
8960 for people that want to sign off every message they send with their name.
8962 If you want to insert your website's URL, additional contact information
8963 or witty quotes into your mails, better use a signature file instead of
8970 Default: "~f %s | ~s %s"
8972 Specifies how Mutt-ng should expand a simple search into a real search
8973 pattern. A simple search is one that does not contain any of the ~
8974 operators. See ``patterns'' for more information on search patterns.
8976 For example, if you simply type ``joe'' at a search or limit prompt,
8977 Mutt-ng will automatically expand it to the value specified by this
8978 variable. For the default value it would be:
8988 Specifies time, in seconds, to pause while displaying certain
8989 informational messages, while moving from folder to folder and after
8990 expunging messages from the current folder. The default is to pause one
8991 second, so a value of zero for this option suppresses the pause.
8999 Controls the display of lines longer than the screen width in the internal
9000 pager. If set, long lines are wrapped at a word boundary. If unset, lines
9001 are simply wrapped at the screen edge. Also see the ``$markers'' variable.
9005 Type: regular expression
9007 Default: "(>From )|(:[-^]?[][)(><}{|/DP])"
9009 The pager uses this variable to catch some common false positives of
9010 ``$quote_regexp'', most notably smileys in the beginning of a line
9012 282. $smime_ask_cert_label
9018 This flag controls whether you want to be asked to enter a label for a
9019 certificate about to be added to the database or not. It is set by
9020 default. (S/MIME only)
9022 283. $smime_ca_location
9028 This variable contains the name of either a directory, or a file which
9029 contains trusted certificates for use with OpenSSL. (S/MIME only)
9031 284. $smime_certificates
9037 Since there is no pubring/secring as with PGP, Mutt-ng has to handle
9038 storage and retrieval of keys by itself. This is very basic right now, and
9039 keys and certificates are stored in two different directories, both named
9040 as the hash-value retrieved from OpenSSL. There is an index file which
9041 contains mailbox-address keyid pairs, and which can be manually edited.
9042 This one points to the location of the certificates. (S/MIME only)
9044 285. $smime_decrypt_command
9050 This format string specifies a command which is used to decrypt
9051 application/x-pkcs7-mime attachments.
9053 The OpenSSL command formats have their own set of printf(3)-like sequences
9058 Expands to the name of a file containing a message.
9062 Expands to the name of a file containing the signature part of a
9063 multipart/signed attachment when verifying it.
9067 The key-pair specified with $smime_default_key
9071 One or more certificate IDs.
9075 The algorithm used for encryption.
9079 CA location: Depending on whether $smime_ca_location points to a
9080 directory or file, this expands to "-CApath $smime_ca_location" or
9081 "-CAfile $smime_ca_location".
9083 For examples on how to configure these formats, see the smime.rc in the
9084 samples/ subdirectory which has been installed on your system alongside
9085 the documentation. (S/MIME only)
9087 286. $smime_decrypt_use_default_key
9093 If set (default) this tells Mutt-ng to use the default key for decryption.
9094 Otherwise, if manage multiple certificate-key-pairs, Mutt-ng will try to
9095 use the mailbox-address to determine the key to use. It will ask you to
9096 supply a key, if it can't find one. (S/MIME only)
9098 287. $smime_default_key
9104 This is the default key-pair to use for signing. This must be set to the
9105 keyid (the hash-value that OpenSSL generates) to work properly (S/MIME
9108 288. $smime_encrypt_command
9114 This command is used to create encrypted S/MIME messages. (S/MIME only)
9116 289. $smime_encrypt_with
9122 This sets the algorithm that should be used for encryption. Valid choices
9123 are ``des'', ``des3'', ``rc2-40'', ``rc2-64'', ``\frc2-128''.
9125 If unset ``3des'' (TripleDES) is used. (S/MIME only)
9127 290. $smime_get_cert_command
9133 This command is used to extract X509 certificates from a PKCS7 structure.
9136 291. $smime_get_cert_email_command
9142 This command is used to extract the mail address(es) used for storing X509
9143 certificates, and for verification purposes (to check whether the
9144 certificate was issued for the sender's mailbox). (S/MIME only)
9146 292. $smime_get_signer_cert_command
9152 This command is used to extract only the signers X509 certificate from a
9153 S/MIME signature, so that the certificate's owner may get compared to the
9154 email's ``From:'' header field. (S/MIME only)
9156 293. $smime_import_cert_command
9162 This command is used to import a certificate via smime_keysng. (S/MIME
9165 294. $smime_is_default
9171 The default behaviour of Mutt-ng is to use PGP on all auto-sign/encryption
9172 operations. To override and to use OpenSSL instead this must be set.
9174 However, this has no effect while replying, since Mutt-ng will
9175 automatically select the same application that was used to sign/encrypt
9176 the original message.
9178 (Note that this variable can be overridden by unsetting $crypt_autosmime.)
9187 Since there is no pubring/secring as with PGP, Mutt-ng has to handle
9188 storage ad retrieval of keys/certs by itself. This is very basic right
9189 now, and stores keys and certificates in two different directories, both
9190 named as the hash-value retrieved from OpenSSL. There is an index file
9191 which contains mailbox-address keyid pair, and which can be manually
9192 edited. This one points to the location of the private keys. (S/MIME only)
9194 296. $smime_pk7out_command
9200 This command is used to extract PKCS7 structures of S/MIME signatures, in
9201 order to extract the public X509 certificate(s). (S/MIME only)
9203 297. $smime_sign_command
9209 This command is used to created S/MIME signatures of type
9210 multipart/signed, which can be read by all mail clients. (S/MIME only)
9212 298. $smime_sign_opaque_command
9218 This command is used to created S/MIME signatures of type
9219 application/x-pkcs7-signature, which can only be handled by mail clients
9220 supporting the S/MIME extension. (S/MIME only)
9228 The number of seconds after which a cached passphrase will expire if not
9231 300. $smime_verify_command
9237 This command is used to verify S/MIME signatures of type multipart/signed.
9240 301. $smime_verify_opaque_command
9246 This command is used to verify S/MIME signatures of type
9247 application/x-pkcs7-mime. (S/MIME only)
9257 Defines the SMTP host which will be used to deliver mail, as opposed to
9258 invoking the sendmail binary. Setting this variable overrides the value of
9259 ``$sendmail'', and any associated variables.
9269 Defines the password to use with SMTP AUTH. If ``$smtp_user'' is set, but
9270 this variable is not, you will be prompted for a password when sending.
9272 Note: Storing passwords in a configuration file presents a security risk
9273 since the superuser of your machine may read it regardless of the file's
9284 Defines the port that the SMTP host is listening on for mail delivery.
9285 Must be specified as a number.
9287 Defaults to 25, the standard SMTP port, but RFC 2476-compliant SMTP
9288 servers will probably desire 587, the mail submission port.
9296 Availability: SMTP (and SSL)
9298 Defines wether to use STARTTLS. If this option is set to ``required'' and
9299 the server does not support STARTTLS or there is an error in the TLS
9300 Handshake, the connection will fail. Setting this to ``enabled'' will try
9301 to start TLS and continue without TLS in case of an error. Muttng still
9302 needs to have SSL support enabled in order to use it.
9312 Defines the username to use with SMTP AUTH. Setting this variable will
9313 cause Mutt-ng to attempt to use SMTP AUTH when sending.
9321 Specifies how to sort messages in the index menu. Valid values are:
9326 mailbox-order (unsorted)
9335 You may optionally use the ``reverse-'' prefix to specify reverse sorting
9336 order (example: set sort=reverse-date-sent).
9344 Specifies how the entries in the ``alias'' menu are sorted. The following
9347 address (sort alphabetically by email address)
9348 alias (sort alphabetically by alias name)
9349 unsorted (leave in order specified in .muttrc)
9358 When sorting by threads, this variable controls how threads are sorted in
9359 relation to other threads, and how the branches of the thread trees are
9360 sorted. This can be set to any value that ``$sort'' can, except threads
9361 (in that case, Mutt-ng will just use date-sent). You can also specify the
9362 ``last-'' prefix in addition to ``reverse-'' prefix, but last- must come
9363 after reverse-. The last- prefix causes messages to be sorted against its
9364 siblings by which has the last descendant, using the rest of sort_aux as
9367 For instance, set sort_aux=last-date-received would mean that if a new
9368 message is received in a thread, that thread becomes the last one
9369 displayed (or the first, if you have set sort=reverse-threads.)
9371 Note: For reversed ``$sort'' order $sort_aux is reversed again (which is
9372 not the right thing to do, but kept to not break any existing
9373 configuration setting).
9381 Specifies how to sort entries in the file browser. By default, the entries
9382 are sorted alphabetically. Valid values:
9384 alpha (alphabetically)
9390 You may optionally use the ``reverse-'' prefix to specify reverse sorting
9391 order (example: set sort_browser=reverse-date).
9399 This variable is only useful when sorting by threads with
9400 ``$strict_threads'' unset. In that case, it changes the heuristic Mutt-ng
9401 uses to thread messages by subject. With $sort_reset, Mutt-ng will only
9402 attach a message as the child of another message by subject if the subject
9403 of the child message starts with a substring matching the setting of
9404 ``$reply_regexp''. With $sort_reunset, Mutt-ng will attach the message
9405 whether or not this is the case, as long as the non-``$reply_regexp''
9406 parts of both messages are identical.
9408 312. $spam_separator
9414 ``spam_separator'' controls what happens when multiple spam headers are
9415 matched: if unset, each successive header will overwrite any previous
9416 matches value for the spam label. If set, each successive match will
9417 append to the previous, using ``spam_separator'' as a separator.
9425 If your spool mailbox is in a non-default place where Mutt-ng cannot find
9426 it, you can specify its location with this variable. Mutt-ng will
9427 automatically set this variable to the value of the environment variable
9428 $MAIL if it is not set.
9430 314. $ssl_ca_certificates_file
9436 This variable specifies a file containing trusted CA certificates. Any
9437 server certificate that is signed with one of these CA certificates are
9438 also automatically accepted.
9440 Example: set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt
9442 315. $ssl_client_cert
9450 The file containing a client certificate and its associated private key.
9458 If this variable is set, mutt-ng will require that all connections to
9459 remote servers be encrypted. Furthermore it will attempt to negotiate TLS
9460 even if the server does not advertise the capability, since it would
9461 otherwise have to abort the connection anyway. This option supersedes
9464 317. $ssl_min_dh_prime_bits
9470 Availability: GNUTLS
9472 This variable specifies the minimum acceptable prime size (in bits) for
9473 use in any Diffie-Hellman key exchange. A value of 0 will use the default
9474 from the GNUTLS library.
9482 Availability: SSL or GNUTLS
9484 If set (the default), Mutt-ng will attempt to use STARTTLS on servers
9485 advertising the capability. When unset, Mutt-ng will not attempt to use
9486 STARTTLS regardless of the server's capabilities.
9496 This variables specifies whether to attempt to use SSLv2 in the SSL
9497 authentication process.
9505 Availability: SSL or GNUTLS
9507 This variables specifies whether to attempt to use SSLv3 in the SSL
9508 authentication process.
9516 Availability: SSL or GNUTLS
9518 This variables specifies whether to attempt to use TLSv1 in the SSL
9519 authentication process.
9521 322. $ssl_usesystemcerts
9529 If set to yes, Mutt-ng will use CA certificates in the system-wide
9530 certificate store when checking if server certificate is signed by a
9539 Controls the characters used by the ``%r'' indicator in
9540 ``$status_format''. The first character is used when the mailbox is
9541 unchanged. The second is used when the mailbox has been changed, and it
9542 needs to be resynchronized. The third is used if the mailbox is in
9543 read-only mode, or if the mailbox will not be written when exiting that
9544 mailbox (You can toggle whether to write changes to a mailbox with the
9545 toggle-write operation, bound by default to ``%''). The fourth is used to
9546 indicate that the current folder has been opened in attach-message mode
9547 (Certain operations like composing a new mail, replying, forwarding, etc.
9548 are not permitted in this mode).
9554 Default: "-%r-Mutt-ng: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d?
9555 Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l?
9556 %l?]---(%s/%S)-%>-(%P)---"
9558 Controls the format of the status line displayed in the index menu. This
9559 string is similar to ``$index_format'', but has its own set of
9560 printf(3)-like sequences:
9564 number of mailboxes with new mail *
9568 the short pathname of the current mailbox
9572 number of deleted messages *
9576 the full pathname of the current mailbox
9580 number of flagged messages *
9588 size (in bytes) of the current mailbox *
9592 size (in bytes) of the messages shown (i.e., which match the
9597 the number of messages in the mailbox *
9601 the number of messages shown (i.e., which match the current limit)
9606 number of new messages in the mailbox *
9610 number of old unread messages *
9614 number of postponed messages *
9618 percentage of the way through the index
9622 modified/read-only/won't-write/attach-message indicator, according
9627 current sorting mode ($sort)
9631 current aux sorting method ($sort_aux)
9635 number of tagged messages *
9639 number of unread messages *
9643 Mutt-ng version string
9647 currently active limit pattern, if any *
9651 right justify the rest of the string and pad with "X"
9655 pad to the end of the line with "X"
9657 * = can be optionally printed if nonzero
9659 Some of the above sequences can be used to optionally print a string if
9660 their value is nonzero. For example, you may only want to see the number
9661 of flagged messages if such messages exist, since zero is not particularly
9662 meaningful. To optionally print a string based upon one of the above
9663 sequences, the following construct is used
9665 %?<sequence_char>?<optional_string>?
9667 where sequence_char is a character from the table above, and
9668 optional_string is the string you would like printed if sequence_char is
9669 nonzero. optional_stringmay contain other sequences as well as normal
9670 text, but you may not nest optional strings.
9672 Here is an example illustrating how to optionally print the number of new
9673 messages in a mailbox:
9675 %?n?%n new messages.?
9677 Additionally you can switch between two strings, the first one, if a value
9678 is zero, the second one, if the value is nonzero, by using the following
9681 %?<sequence_char>?<if_string>&<else_string>?
9683 You can additionally force the result of any printf(3)-like sequence to be
9684 lowercase by prefixing the sequence character with an underscore (_) sign.
9685 For example, if you want to display the local hostname in lowercase, you
9690 If you prefix the sequence character with a colon (:) character, Mutt-ng
9691 will replace any dots in the expansion by underscores. This might be
9692 helpful with IMAP folders that don't like dots in folder names.
9700 Setting this variable causes the ``status bar'' to be displayed on the
9701 first line of the screen rather than near the bottom.
9709 With mailto: style links, a body as well as arbitrary header information
9710 may be embedded. This may lead to (user) headers being overwriten without
9711 note if ``$edit_headers'' is unset.
9713 If this variable is set, mutt-ng is strict and allows anything to be
9714 changed. If it's unset, all headers given will be prefixed with
9715 ``X-Mailto-'' and the message including headers will be shown in the
9716 editor regardless of what ``$edit_headers'' is set to.
9724 When unset, non MIME-compliant messages that doesn't have any charset
9725 indication in the ``Content-Type:'' header field can be displayed (non
9726 MIME-compliant messages are often generated by old mailers or buggy
9727 mailers like MS Outlook Express). See also $assumed_charset.
9729 This option also replaces linear-white-space between encoded-word and
9730 *text to a single space to prevent the display of MIME-encoded
9731 ``Subject:'' header field from being devided into multiple lines.
9733 328. $strict_threads
9739 If set, threading will only make use of the ``In-Reply-To:'' and
9740 ``References:'' header fields when you ``$sort'' by message threads. By
9741 default, messages with the same subject are grouped together in ``pseudo
9742 threads.'' This may not always be desirable, such as in a personal mailbox
9743 where you might have several unrelated messages with the subject ``hi''
9744 which will get grouped together. See also ``$sort_re'' for a less drastic
9745 way of controlling this behaviour.
9753 When set, mutt-ng will remove the trailing part of the ``Subject:'' line
9754 which matches $strip_was_regex when replying. This is useful to properly
9755 react on subject changes and reduce ``subject noise.'' (esp. in Usenet)
9757 330. $strip_was_regex
9759 Type: regular expression
9761 Default: "\([Ww][Aa][RrSs]: .*\)[ ]*$"
9763 When non-empty and $strip_was is set, mutt-ng will remove this trailing
9764 part of the ``Subject'' line when replying if it won't be empty
9773 If set, attachments with flowed format will have their quoting
9774 ``stuffed'', i.e. a space will be inserted between the quote characters
9775 and the actual text.
9783 When unset, Mutt-ng won't stop when the user presses the terminal's susp
9784 key, usually CTRL+Z. This is useful if you run Mutt-ng inside an xterm
9785 using a command like ``xterm -e muttng.''
9793 When set, Mutt-ng will generate text/plain; format=flowed attachments.
9794 This format is easier to handle for some mailing software, and generally
9795 just looks like ordinary text. To actually make use of this format's
9796 features, you'll need support in your editor.
9798 Note that $indent_string is ignored when this option is set.
9800 334. $thorough_search
9806 Affects the ~b and ~h search operations described in section ``patterns''
9807 above. If set, the headers and attachments of messages to be searched are
9808 decoded before searching. If unset, messages are searched as they appear
9811 335. $thread_received
9817 When set, Mutt-ng uses the date received rather than the date sent to
9818 thread messages by subject.
9826 When set, the internal-pager will pad blank lines to the bottom of the
9827 screen with a tilde (~).
9835 This variable controls the number of seconds Mutt-ng will wait for a key
9836 to be pressed in the main menu before timing out and checking for new
9837 mail. A value of zero or less will cause Mutt-ng to never time out.
9845 This variable allows you to specify where Mutt-ng will place its temporary
9846 files needed for displaying and composing messages. If this variable is
9847 not set, the environment variable $TMPDIR is used. If $TMPDIR is not set
9848 then "/tmp" is used.
9856 Controls the character used to indicate mail addressed to you. The first
9857 character is the one used when the mail is NOT addressed to your address
9858 (default: space). The second is used when you are the only recipient of
9859 the message (default: +). The third is when your address appears in the
9860 ``To:'' header field, but you are not the only recipient of the message
9861 (default: T). The fourth character is used when your address is specified
9862 in the ``Cc:'' header field, but you are not the only recipient. The fifth
9863 character is used to indicate mail that was sent by you. The sixth
9864 character is used to indicate when a mail was sent to a mailing-list
9865 you're subscribe to (default: L).
9873 If set, this variable specifies the path of the trash folder where the
9874 mails marked for deletion will be moved, instead of being irremediably
9877 Note: When you delete a message in the trash folder, it is really deleted,
9878 so that there is no way to recover mail.
9886 Setting this variable will cause Mutt-ng to open a pipe to a command
9887 instead of a raw socket. You may be able to use this to set up
9888 preauthenticated connections to your IMAP/POP3 server. Example:
9890 tunnel="ssh -q mailhost.net /usr/local/libexec/imapd"
9892 Note: For this example to work you must be able to log in to the remote
9893 machine without having to enter a password.
9901 This sets the umask that will be used by Mutt-ng when creating all kinds
9902 of files. If unset, the default value is 077.
9904 343. $uncollapse_jump
9910 When set, Mutt-ng will jump to the next unread message, if any, when the
9911 current thread is uncollapsed.
9919 Warning: do not set this variable unless you are using a version of
9920 sendmail which supports the -B8BITMIME flag (such as sendmail 8.8.x) or in
9921 connection with the SMTP support via libESMTP. Otherwise you may not be
9924 When set, Mutt-ng will either invoke ``$sendmail'' with the -B8BITMIME
9925 flag when sending 8-bit messages to enable ESMTP negotiation or tell
9934 When set, Mutt-ng will qualify all local addresses (ones without the @host
9935 portion) with the value of ``$hostname''. If unset, no addresses will be
9938 346. $use_envelope_from
9944 When set, mutt-ng will use ``$envelope_from_address'' as the envelope
9945 sender if that is set, otherwise it will attempt to derive it from the
9948 Note: This information is passed to sendmail command using the "-f"
9949 command line switch and passed to the SMTP server for libESMTP (if support
9958 When set, Mutt-ng will generate the ``From:'' header field when sending
9959 messages. If unset, no ``From:'' header field will be generated unless the
9960 user explicitly sets one using the ``my_hdr'' command.
9970 When set, Mutt-ng will show you international domain names decoded.
9972 Note: You can use IDNs for addresses even if this is unset. This variable
9973 only affects decoding.
9981 When set, Mutt-ng will look for IPv6 addresses of hosts it tries to
9982 contact. If this option is unset, Mutt-ng will restrict itself to IPv4
9983 addresses. Normally, the default should work.
9991 Specifies the visual editor to invoke when the ~v command is given in the
10000 Controls whether Mutt-ng will ask you to press a key after shell- escape,
10001 pipe-message, pipe-entry, print-message, and print-entry commands.
10003 It is also used when viewing attachments with ``auto_view'', provided that
10004 the corresponding mailcap entry has a needsterminal flag, and the external
10005 program is interactive.
10007 When set, Mutt-ng will always ask for a key. When unset, Mutt-ng will wait
10008 for a key only if the external command returned a non-zero status.
10016 When set, Mutt-ng will weed headers when displaying, forwarding, printing,
10017 or replying to messages.
10025 Controls whether searches wrap around the end of the mailbox.
10027 When set, searches will wrap around the first (or last) message. When
10028 unset, searches will not wrap.
10036 Controls the size of the margin remaining at the right side of the
10037 terminal when Mutt-ng's pager does smart wrapping.
10045 Controls whether Mutt-ng writes out the Bcc header when preparing messages
10046 to be sent. Exim users may wish to unset this.
10054 When writing a mailbox, a message will be printed every write_inc messages
10055 to indicate progress. If set to 0, only a single message will be displayed
10056 before writing a mailbox.
10058 Also see the ``$read_inc'' variable.
10064 Default: "M%?n?AIL&ail?"
10066 Controls the format of the X11 icon title, as long as $xterm_set_titles is
10067 set. This string is identical in formatting to the one used by
10068 ``$status_format''.
10076 If $xterm_set_titles is set, this string will be used to set the title
10077 when leaving mutt-ng. For terminal-based programs, there's no easy and
10078 portable way to read the current title so mutt-ng cannot read it upon
10079 startup and restore it when exiting.
10081 Based on the xterm FAQ, the following might work:
10083 set xterm_leave = "`test x$DISPLAY != x && xprop -id $WINDOWID | grep
10084 WM_NAME | cut -d '"' -f 2`"
10086 359. $xterm_set_titles
10092 Controls whether Mutt-ng sets the xterm title bar and icon name (as long
10093 as you're in an appropriate terminal). The default must be unset to force
10094 in the validity checking.
10100 Default: "Mutt-ng with %?m?%m messages&no messages?%?n? [%n New]?"
10102 Controls the format of the title bar of the xterm provided that
10103 $xterm_set_titles has been set. This string is identical in formatting to
10104 the one used by ``$status_format''.
10108 The following is the list of available functions listed by the mapping in
10109 which they are available. The default key setting is given, and an
10110 explanation of what the function does. The key bindings of these functions
10111 can be changed with the bind command.
10115 The generic menu is not a real menu, but specifies common functions (such
10116 as movement) available in all menus except for pager and editor. Changing
10117 settings for this menu will affect the default bindings for all menus
10120 Table 7.4. Reference: Default Generic Function Bindings
10122 Function Default Key Description
10123 <bottom-page> L move to the bottom of the page
10124 <current-bottom> move current entry to bottom of page
10125 <current-middle> move current entry to middle of page
10126 <current-top> move current entry to top of page
10127 <enter-command> : enter a muttngrc command
10128 <exit> q exit this menu
10129 <first-entry> = move to the first entry
10130 <half-down> ] scroll down 1/2 page
10131 <half-up> [ scroll up 1/2 page
10132 <help> ? this screen
10133 <jump> number jump to an index number
10134 <last-entry> * move to the last entry
10135 <middle-page> M move to the middle of the page
10136 <next-entry> j move to the next entry
10137 <next-line> > scroll down one line
10138 <next-page> z move to the next page
10139 <previous-entry> k move to the previous entry
10140 <previous-line> > scroll up one line
10141 <previous-page> Z move to the previous page
10142 <refresh> C-L clear and redraw the screen
10143 <search> / search for a regular expression
10144 <search-next> n search for next match
10145 <search-opposite> search for next match in opposite direction
10146 <search-reverse> E-/ search backwards for a regular expression
10147 <select-entry> Return select the current entry
10148 <shell-escape> ! run a program in a subshell
10149 <tag-entry> t toggle the tag on the current entry
10150 <tag-prefix> ; apply next command to tagged entries
10151 <tag-prefix-cond> apply next function ONLY to tagged messages
10152 <top-page> H move to the top of the page
10153 <what-key> display the keycode for a key press
10157 Table 7.5. Reference: Default Index Function Bindings
10159 Function Default Key Description
10160 <bounce-message> b remail a message to another user
10161 <change-folder> c open a different folder
10162 <change-folder-readonly> E-c open a different folder in read
10164 <check-traditional-pgp> E-P check for classic pgp
10165 <clear-flag> W clear a status flag from a message
10166 <copy-message> C copy a message to a file/mailbox
10167 <create-alias> a create an alias from a message
10169 <decode-copy> E-C decode a message and copy it to a
10171 <decode-save> E-s decode a message and save it to a
10173 <delete-message> d delete the current entry
10174 <delete-pattern> D delete messages matching a pattern
10175 <delete-subthread> E-d delete all messages in subthread
10176 <delete-thread> C-D delete all messages in thread
10177 <display-address> @ display full address of sender
10178 <display-toggle-weed> h display message and toggle header
10180 <display-message> Return display a message
10181 <edit> e edit the current message
10182 <edit-type> C-E edit the current message's
10184 <exit> x exit without saving changes
10185 <extract-keys> C-K extract PGP public keys
10186 <fetch-mail> G retrieve mail from POP server
10187 <flag-message> F toggle a message's 'important' flag
10188 <forget-passphrase> C-F wipe PGP passphrase from memory
10189 <forward-message> f forward a message with comments
10190 <group-reply> g reply to all recipients
10191 <limit> l show only messages matching a
10193 <list-reply> L reply to specified mailing list
10194 <mail> m compose a new mail message
10195 <mail-key> E-k mail a PGP public key
10196 <next-new> jump to the next new message
10197 <next-new-then-unread> Tab jump to the next new or unread
10199 <next-subthread> E-n jump to the next subthread
10200 <next-thread> C-N jump to the next thread
10201 <next-undeleted> j move to the next undeleted message
10202 <next-unread> jump to the next unread message
10203 <parent-message> P jump to parent message in thread
10204 <pipe-message> | pipe message/attachment to a shell
10206 <previous-new> jump to the previous new message
10207 <previous-new-then-unread> E-Tab jump to the previous new or unread
10209 <previous-page> Z move to the previous page
10210 <previous-subthread> E-p jump to previous subthread
10211 <previous-thread> C-P jump to previous thread
10212 <previous-undeleted> k move to the last undelete message
10213 <previous-unread> jump to the previous unread message
10214 <print-message> p print the current entry
10215 <query> Q query external program for
10217 <quit> q save changes to mailbox and quit
10218 <read-subthread> E-r mark the current subthread as read
10219 <read-thread> C-R mark the current thread as read
10220 <recall-message> R recall a postponed message
10221 <reply> r reply to a message
10222 <resend-message> E-e resend message and preserve MIME
10224 <save-message> s save message/attachment to a file
10225 <set-flag> w set a status flag on a message
10226 <show-version> V show the Mutt-ng version number and
10228 <show-limit> E-l show currently active limit
10230 <sort-mailbox> o sort messages
10231 <sort-reverse> O sort messages in reverse order
10232 <sync-mailbox> $ save changes to mailbox
10233 <tag-pattern> T tag messages matching a pattern
10234 <tag-thread> E-t tag/untag all messages in the
10236 <toggle-new> N toggle a message's 'new' flag
10237 <toggle-write> % toggle whether the mailbox will be
10239 <undelete-message> u undelete the current entry
10240 <undelete-pattern> U undelete messages matching a
10242 <undelete-subthread> E-u undelete all messages in subthread
10243 <undelete-thread> C-U undelete all messages in thread
10244 <untag-pattern> C-T untag messages matching a pattern
10245 <view-attachments> v show MIME attachments
10249 Table 7.6. Reference: Default Pager Function Bindings
10251 Function Default Key Description
10252 <bottom> jump to the bottom of the message
10253 <bounce-message> b remail a message to another user
10254 <change-folder> c open a different folder
10255 <change-folder-readonly> E-c open a different folder in read
10257 <check-traditional-pgp> E-P check for classic pgp
10258 <copy-message> C copy a message to a file/mailbox
10259 <create-alias> a create an alias from a message
10260 <senderdecode-copy> E-C decode a message and copy it to a
10262 <decode-save> E-s decode a message and save it to a
10264 <delete-message> d delete the current entry
10265 <delete-subthread> E-d delete all messages in subthread
10266 <delete-thread> C-D delete all messages in thread
10267 <display-address> @ display full address of sender
10268 <display-toggle-weed> h display message and toggle header
10270 <edit> e edit the current message
10271 <edit-type> C-E edit the current message's
10273 <enter-command> : enter a muttngrc command
10274 <exit> i return to the main-menu
10275 <extract-keys> C-K extract PGP public keys
10276 <flag-message> F toggle a message's 'important' flag
10277 <forget-passphrase> C-F wipe PGP passphrase from memory
10278 <forward-message> f forward a message with comments
10279 <group-reply> g reply to all recipients
10280 <half-up> move up one-half page
10281 <half-down> move down one-half page
10282 <help> ? this screen
10283 <list-reply> L reply to specified mailing list
10284 <mail> m compose a new mail message
10285 <mail-key> E-k mail a PGP public key
10286 <mark-as-new> N toggle a message's 'new' flag
10287 <next-line> Return scroll down one line
10288 <next-entry> J move to the next entry
10289 <next-new> jump to the next new message
10290 <next-new-then-unread> Tab jump to the next new or unread
10292 <next-page> move to the next page
10293 <next-subthread> E-n jump to the next subthread
10294 <next-thread> C-N jump to the next thread
10295 <next-undeleted> j move to the next undeleted message
10296 <next-unread> jump to the next unread message
10297 <parent-message> P jump to parent message in thread
10298 <pipe-message> | pipe message/attachment to a shell
10300 <previous-line> BackSpace scroll up one line
10301 <previous-entry> K move to the previous entry
10302 <previous-new> jump to the previous new message
10303 <previous-new-then-unread> jump to the previous new or unread
10305 <previous-page> - move to the previous page
10306 <previous-subthread> E-p jump to previous subthread
10307 <previous-thread> C-P jump to previous thread
10308 <previous-undeleted> k move to the last undelete message
10309 <previous-unread> jump to the previous unread message
10310 <print-message> p print the current entry
10311 <quit> Q save changes to mailbox and quit
10312 <read-subthread> E-r mark the current subthread as read
10313 <read-thread> C-R mark the current thread as read
10314 <recall-message> R recall a postponed message
10315 <redraw-screen> C-L clear and redraw the screen
10316 <reply> r reply to a message
10317 <save-message> s save message/attachment to a file
10318 <search> / search for a regular expression
10319 <search-next> n search for next match
10320 <search-opposite> search for next match in opposite
10322 <search-reverse> E-/ search backwards for a regular
10324 <search-toggle> \ toggle search pattern coloring
10325 <shell-escape> ! invoke a command in a subshell
10326 <show-version> V show the Mutt-ng version number and
10328 <skip-quoted> S skip beyond quoted text
10329 <sync-mailbox> $ save changes to mailbox
10330 <tag-message> t tag a message
10331 <toggle-quoted> T toggle display of quoted text
10332 <top> ^ jump to the top of the message
10333 <undelete-message> u undelete the current entry
10334 <undelete-subthread> E-u undelete all messages in subthread
10335 <undelete-thread> C-U undelete all messages in thread
10336 <view-attachments> v show MIME attachments
10340 Table 7.7. Reference: Default Alias Menu Function Bindings
10342 Function Default Key Description
10343 <search> / search for a regular expression
10344 <search-next> n search for next match
10345 <search-reverse> E-/ search backwards for a regular expression
10349 Table 7.8. Reference: Default Query Menu Function Bindings
10351 Function Default Key Description
10352 <create-alias> a create an alias from a message sender
10353 <mail> m compose a new mail message
10354 <query> Q query external program for addresses
10355 <query-append> A append new query results to current results
10356 <search> / search for a regular expression
10357 <search-next> n search for next match
10358 <search-opposite> search for next match in opposite direction
10359 <search-reverse> E-/ search backwards for a regular expression
10363 Table 7.9. Reference: Default Attachment Menu Function Bindings
10365 Function Default Key Description
10366 <bounce-message> b remail a message to another user
10367 <collapse-parts> v toggle display of subparts
10368 <delete-entry> d delete the current entry
10369 <display-toggle-weed> h display message and toggle header
10371 <edit-type> C-E edit the current entry's Content-Type
10372 <extract-keys> C-K extract PGP public keys
10373 <forward-message> f forward a message with comments
10374 <group-reply> g reply to all recipients
10375 <list-reply> L reply to specified mailing list
10376 <pipe-entry> | pipe message/attachment to a shell
10378 <print-entry> p print the current entry
10379 <reply> r reply to a message
10380 <resend-message> E-e resend message and preserve MIME
10382 <save-entry> s save message/attachment to a file
10383 <undelete-entry> u undelete the current entry
10384 <view-attach> Return view attachment using mailcap entry if
10386 <view-mailcap> m force viewing of attachment using
10388 <view-text> T view attachment as text
10392 Table 7.10. Reference: Default Compose Menu Function Bindings
10394 Function Default Key Description
10395 <attach-file> a attach a file(s) to this message
10396 <attach-message> A attach message(s) to this message
10397 <attach-key> E-k attach a PGP public key
10398 <copy-file> C save message/attachment to a file
10399 <detach-file> D delete the current entry
10400 <display-toggle-weed> h display message and toggle header
10402 <edit-bcc> b edit the BCC list
10403 <edit-cc> c edit the CC list
10404 <edit-description> d edit attachment description
10405 <edit-encoding> C-E edit attachment transfer-encoding
10406 <edit-fcc> f enter a file to save a copy of this
10408 <edit-from> E-f edit the from: field
10409 <edit-file> C-X e edit the file to be attached
10410 <edit-headers> E edit the message with headers
10411 <edit> e edit the message
10412 <edit-mime> m edit attachment using mailcap entry
10413 <edit-reply-to> r edit the Reply-To field
10414 <edit-subject> s edit the subject of this message
10415 <edit-to> t edit the TO list
10416 <edit-type> C-T edit attachment type
10417 <filter-entry> F filter attachment through a shell
10419 <forget-passphrase> C-F wipe PGP passphrase from memory
10420 <ispell> i run ispell on the message
10421 <new-mime> n compose new attachment using mailcap
10423 <pgp-menu> p show PGP options
10424 <pipe-entry> | pipe message/attachment to a shell
10426 <postpone-message> P save this message to send later
10427 <print-entry> l print the current entry
10428 <rename-file> R rename/move an attached file
10429 <send-message> y send the message
10430 <toggle-unlink> u toggle whether to delete file after
10432 <view-attach> Return view attachment using mailcap entry if
10434 <write-fcc> w write the message to a folder
10438 Table 7.11. Reference: Default Postpone Menu Function Bindings
10440 Function Default Key Description
10441 <delete-entry> d delete the current entry
10442 <undelete-entry> u undelete the current entry
10446 Table 7.12. Reference: Default Browser Menu Function Bindings
10448 Function Default Key Description
10449 <change-dir> c change directories
10450 <check-new> Tab check mailboxes for new mail
10451 <enter-mask> m enter a file mask
10452 <search> / search for a regular expression
10453 <search-next> n search for next match
10454 <search-reverse> E-/ search backwards for a regular expression
10455 <select-new> N select a new file in this directory
10456 <sort> o sort messages
10457 <sort-reverse> O sort messages in reverse order
10458 <toggle-mailboxes> Tab toggle whether to browse mailboxes or all
10460 <view-file> Space view file
10461 <subscribe> s subscribe to current mailbox (IMAP Only)
10462 <unsubscribe> u unsubscribe to current mailbox (IMAP Only)
10463 <toggle-subscribed> T toggle view all/subscribed mailboxes (IMAP
10468 Table 7.13. Reference: Default PGP Menu Function Bindings
10470 Function Default Key Description
10471 <view-name> % view the key's user id
10472 <verify-key> c verify a PGP public key
10476 Table 7.14. Reference: Default Editor Function Bindings
10478 Function Default Key Description
10479 <backspace> BackSpace delete the char in front of the cursor
10480 <backward-char> C-B move the cursor one character to the left
10481 <backward-word> E-b move the cursor to the previous word
10482 <bol> C-A jump to the beginning of the line
10483 <buffy-cycle> Space cycle among incoming mailboxes
10484 <capitalize-word> E-c uppercase the first character in the word
10485 <complete> Tab complete filename or alias
10486 <complete-query> C-T complete address with query
10487 <delete-char> C-D delete the char under the cursor
10488 <downcase-word> E-l lowercase all characters in current word
10489 <eol> C-E jump to the end of the line
10490 <forward-char> C-F move the cursor one character to the right
10491 <forward-word> E-f move the cursor to the next word
10492 <history-down> scroll down through the history list
10493 <history-up> scroll up through the history list
10494 <kill-eol> C-K delete chars from cursor to end of line
10495 <kill-eow> E-d delete chars from cursor to end of word
10496 <kill-line> C-U delete all chars on the line
10497 <kill-word> C-W delete the word in front of the cursor
10498 <quote-char> C-V quote the next typed key
10499 <transpose-chars> transpose character under cursor with
10501 <upcase-word> E-u uppercase all characters in current word
10505 Table 7.15. Referene: Default Sidebar Function Bindings
10507 Key Function Description
10508 <sidebar-scroll-up> Scrolls the mailbox list up 1 page
10509 <sidebar-scroll-down> Scrolls the mailbox list down 1 page
10510 <sidebar-next> Highlights the next mailbox
10511 <sidebar-next-new> Highlights the next mailbox with new mail
10512 <sidebar-previous> Highlights the previous mailbox
10513 <sidebar-open> Opens the currently highlighted mailbox
10515 Appendix A. Acknowledgments
10517 Kari Hurtta <kari.hurtta@fmi.fi> co-developed the original MIME >parsing
10518 code back in the ELM-ME days.
10520 The following people have been very helpful to the development of Mutt
10521 (sorted by surnames):
10523 o Vikas Agnihotri <vikasa@writeme.com>
10524 o Francois Berjon < Francois.Berjon@aar.alcatel-alsthom.fr>
10525 o Aric Blumer <aric@fore.com>
10526 o John Capo <jc@irbs.com>
10527 o David Champion <dgc@uchicago.edu>
10528 o Brendan Cully <brendan@kublai.com>
10529 o Liviu Daia <daia@stoilow.imar.ro>
10530 o Thomas E. Dickey <dickey@herndon4.his.com>
10531 o David DeSimone <fox@convex.hp.com>
10532 o Nickolay N. Dudorov <nnd@wint.itfs.nsk.su>
10533 o Ruslan Ermilov <ru@freebsd.org>
10534 o Edmund Grimley Evans <edmundo@rano.org>
10535 o Michael Finken <finken@conware.de>
10536 o Sven Guckes <guckes@math.fu-berlin.de>
10537 o Lars Hecking <lhecking@nmrc.ie>
10538 o Mark Holloman <holloman@nando.net>
10539 o Andreas Holzmann <holzmann@fmi.uni-passau.de>
10540 o Marco d'Itri <md@linux.it>
10541 o Björn Jacke <bjacke@suse.com>
10542 o Byrial Jensen <byrial@image.dk>
10543 o David Jeske <jeske@igcom.net>
10544 o Christophe Kalt <kalt@hugo.int-evry.fr>
10545 o Tommi Komulainen <Tommi.Komulainen@iki.fi>
10546 o Felix von Leitner (a.k.a ``Fefe'') < leitner@math.fu-berlin.de >
10547 o Brandon Long <blong@fiction.net>
10548 o Jimmy Mäkeä <jmy@flashback.net>
10549 o Lars Marowsky-Bree <lmb@pointer.in-minden.de>
10550 o Thomas ``Mike'' Michlmayr <mike@cosy.sbg.ac.at>
10551 o Andrew W. Nosenko <awn@bcs.zp.ua>
10552 o David O'Brien <obrien@Nuxi.cs.ucdavis.edu>
10553 o Clint Olsen <olsenc@ichips.intel.com>
10554 o Park Myeong Seok <pms@romance.kaist.ac.kr>
10555 o Thomas Parmelan <tom@ankh.fr.eu.org>
10556 o Ollivier Robert <roberto@keltia.freenix.fr>
10557 o Thomas Roessler <roessler@does-not-exist.org>
10558 o Roland Rosenfeld <roland@spinnaker.de>
10559 o TAKIZAWA Takashi <taki@luna.email.ne.jp>
10560 o Allain Thivillon <Allain.Thivillon@alma.fr>
10561 o Gero Treuner <gero@faveve.uni-stuttgart.de>
10562 o Vsevolod Volkov <vvv@lucky.net>
10563 o Ken Weinert <kenw@ihs.com>
10565 Mutt-ng is developed by the following people:
10567 o Andreas Krennmair <ak@synflood.at>
10568 o Nico Golde <nico@ngolde.de>
10569 o Rocco Rutte <pdmef@cs.tu-berlin.de>
10571 The following people have been very helpful to the development of Mutt-ng
10572 (sorted by surnames):
10574 o Christian Gall <cg@cgall.de>
10575 o Iain Lea <iain@bricbrac.de>
10576 o Andreas Kneib <akneib@gmx.net>
10577 o Felix Meinhold <felix.meinhold@gmx.net>
10578 o Carsten Schoelzki <cjs@weisshuhn.de>
10579 o Elimar Riesebieter <riesebie@lxtec.de>
10581 Appendix B. Hacking Documentation
10583 This manual is written in XML and transformed via a XSLT stylesheet into
10584 valid DocBook/XML and/or LaTeX to be again transformed via a XSLT
10585 stylesheet into the final formats.
10587 This two pass processing is required to keep the file size low and to
10588 sanitize use, i.e. drastically lower the typing overhead.
10590 To achieve the latter, the sources come with a file called
10591 muttng-manual.xsl introducing the muttng-doc namespace which offers the
10592 following tags to be used (note: this is far from being complete, any help
10593 towards consistency is highly appreciated).
10595 <muttng-doc:man name="" [sect=""]/>
10597 References to manual pages. If the sect parameter is omitted,
10598 it'll be 1 for the commands section. There's no auto-indexing yet.
10600 <muttng-doc:envvar name=""/>
10602 References to environment variables. The name parameter must
10603 contain upper-case letters only without the dollar sign as it'll
10604 be added automatically. Auto-indexing is done.
10606 <muttng-doc:hook name=""/>
10608 References to hooks. The string -hook will be added automatically
10609 to the value given in the name parameter. All entries will be
10612 <muttng-doc:pattern name="" [full="1"]/>
10614 References to patterns. The name parameter must only contain the
10615 letter/symbol for the pattern as the tilde symbol/equal sign will
10616 be added automatically. Auto-indexing is done. If the full
10617 parameter is given the equal sign as well as tilde will be printed
10618 for a fully complete reference.
10620 <muttng-doc:key [mod="C|E"]>key</muttng-doc:key>
10622 Referencing a key.. Because it's somewhat untrivial to always get
10623 the right escaping for LaTeX, there's a tag for it. The optional
10624 modifiers C or E stand for Control and Escape respectively. To
10625 still allow escaping, the actual key sequences must be given
10628 <muttng-doc:funcdef name=""/>
10630 Defining a command.. It's used to define a command with the name
10631 given in the name parameter. The default key binding must be given
10632 via <muttng-doc:key/> (see above). The string will be
10633 automatically enclosed in <>. Auto-indexing is done. Also an
10634 anchor with id func-[name] will be added with [name] being the
10635 value of the name parameter.
10637 <muttng-doc:funcref name=""/>
10639 References to functions.. This is practically the same as the
10640 above except that there's no anchor defined.
10642 <muttng-doc:vardef name=""/>
10644 Defining a variable. This is to be used by makedoc only to define
10645 a command with a given name and XML-normalized link given via id.
10646 Auto-indexing is done. The name parameter's value will be prefixed
10647 with a dollar sign as for environment variables.
10649 <muttng-doc:varref name=""/>
10651 References to variables. This practically is the same as above
10652 except that the text inbetween won't be wrapped within a <sect1>
10653 tag. Auto-indexing is the same as for the above. This one is
10654 intended for manual use.
10656 <muttng-doc:web url""/>
10658 Pretty print a linked URL. As for E-Mail addresses where the text
10659 (mostly) equals the link's target, URLs must be enclosed in <>
10660 (also this reduced redudant URL typing).
10662 <muttng-doc:rfc num=""/>
10664 References to RfC documents. Use this to produce links to RfC
10665 document with number given as the num parameter. A link to
10666 <http://www.faqs.org/> will be made. Auto-indexing is done under
10669 <muttng-doc:cmddef name="" [noanchor="1"]/>
10671 Defining a configuration command. The name of the command is given
10672 as the name parameter. In case a single command has multiple
10673 possible calling sequences, specify noanchor="1" for subsequent
10674 use. Auto-indexing is done. Specify the arguments within the tag.
10676 <muttng-doc:cmdref name=""/>
10678 References to configuration commands. Use this to refer to
10679 commands as it builds the proper internal reference name.
10680 Auto-indexing is done.
10682 <muttng-doc:lstconf/>, <muttng-doc:lstmail/>, <muttng-doc:lstshell/>
10684 Screen layout by context. These are used to specify environments
10685 for different types of screen output. For DocBook output, all of
10686 these simply map to <screen/>. But as a possible future migration
10687 to LaTeX may be ahead, different languages defined for the
10688 listings.sty packages may be used to have proper syntax
10689 highlighting for these so that there must be a context sensitive
10692 <muttng-doc:special [docbook=""] [latex=""]/>
10694 This is intended for specifying special strings for either
10695 DocBook/XML or LaTeX.
10697 Additional notes follow.
10699 o To not fully bloat the XSL stylesheet procuding the LaTeX code, all
10700 tables must have an attribute called texstr which is directly passed
10715 ~b/ =b, Complex Patterns, Patterns
10723 ~d/ =d, Patterns and Dates, Patterns
10731 ~f/ =f, Complex Patterns, Patterns
10739 ~H/ =H, Spam detection, Patterns
10755 ~n/ =n, Message Scoring, Patterns
10771 ~s/ =s, Complex Patterns, Patterns
10779 ~U/ =U, Complex Patterns, Patterns
10789 ~x/ =x, Complex Patterns, Patterns
10791 ~y/ =y, Handling Mailing Lists, Patterns
10797 $abort_noattach , $abort_noattach
10799 $abort_nosubject , $abort_nosubject
10801 $abort_unmodified , $abort_unmodified
10803 account-hook, Managing multiple IMAP/POP/NNTP accounts (OPTIONAL),
10804 Configuration Commands
10806 $agent_string , Configuration variables
10808 $agent_string , $agent_string
10810 alias, Miscellaneous Functions, Defining/Using aliases, Configuration
10813 $alias_file, Miscellaneous Functions, Defining/Using aliases
10815 $alias_file , $alias_file
10817 $alias_format , $alias_format
10819 $allow_8bit , $allow_8bit
10821 $allow_ansi , $allow_ansi
10823 alternates, Alternative addresses, Configuration Commands
10825 alternative_order, MIME Multipart/Alternative, Configuration Commands
10827 append-hook, Compressed folders Support (OPTIONAL), Append a message to a
10828 compressed mailbox, Encrypted folders, Configuration Commands
10830 $arrow_cursor , $arrow_cursor
10832 $ascii_chars , $ascii_chars
10838 $assumed_charset , $assumed_charset
10840 <attach-file>, Composing new messages, compose
10842 <attach-key>, Composing new messages, compose
10844 <attach-message>, Composing new messages, compose
10846 $attach_format , $attach_format
10848 $attach_remind_regexp , $attach_remind_regexp
10850 $attach_sep , $attach_sep
10852 $attach_split , $attach_split
10854 $attribution, Change settings based upon message recipients, $attribution
10856 $auto_tag, Using Tags
10858 $autoedit , $autoedit
10860 $auto_tag , $auto_tag
10862 auto_view, The Pager, Optional Fields, Search Order, MIME Autoview, MIME
10863 Multipart/Alternative, Configuration Commands
10867 <backspace>, Editing Input Fields, editor
10869 <backward-char>, Editing Input Fields, editor
10871 <backward-word>, Editing Input Fields, editor
10875 $beep_new , $beep_new
10877 bind, Editing Input Fields, Changing the default key bindings, Keyboard
10878 macros, Configuration Commands
10880 <bol>, Editing Input Fields, editor
10884 <bottom-page>, generic
10886 <bounce>, Sending Mail, $bounce
10888 <bounce-message>, index, pager, attach
10890 $bounce_delivered , $bounce_delivered
10892 $braille_friendly , $braille_friendly
10894 <buffy-cycle>, editor
10898 <capitalize-word>, Editing Input Fields, editor
10900 $certificate_file , $certificate_file
10902 <change-dir>, browser
10904 <change-folder>, index, pager
10906 <change-folder-readonly>, index, pager
10908 $charset , $charset
10910 charset-hook, Defining aliases for character sets, Configuration Commands
10912 <check-new>, browser
10914 <check-traditional-pgp>, Miscellaneous Functions, index, pager
10916 $check_new , $check_new
10918 <clear-flag>, index
10920 close-hook, Compressed folders Support (OPTIONAL), Write a compressed
10921 mailbox, Append a message to a compressed mailbox, Configuration Commands
10923 <collapse-all>, Threaded Mode
10925 <collapse-parts>, attach
10927 <collapse-thread>, Threaded Mode
10929 $collapse_unread , $collapse_unread
10931 color, The Pager, Using color and mono video attributes, Configuration
10934 $COLORFGBG, Using color and mono video attributes
10936 <complete>, Editing Input Fields, editor
10938 <complete-query>, Editing Input Fields, editor
10940 <compose>, Sending Mail
10942 $compose_format , $compose_format
10944 $config_charset , $config_charset
10946 $confirmappend , $confirmappend
10948 $confirmcreate , $confirmcreate
10950 $connect_timeout , $connect_timeout
10952 $content_type , $content_type
10956 <copy-file>, compose
10958 <copy-message>, index, pager
10960 <create-alias>, Miscellaneous Functions, Defining/Using aliases, index,
10963 $crypt_autoencrypt , Configuration variables
10965 $crypt_autosign , Configuration variables
10967 crypt-hook, Choosing the cryptographic key of the recipient, Configuration
10970 $crypt_replyencrypt , Configuration variables
10972 $crypt_replysign , Configuration variables
10974 $crypt_replysignencrypted , Configuration variables
10976 $crypt_verify_sig , Configuration variables
10978 $crypt_autoencrypt , $crypt_autoencrypt
10980 $crypt_autopgp , $crypt_autopgp
10982 $crypt_autosign , $crypt_autosign
10984 $crypt_autosmime , $crypt_autosmime
10986 $crypt_replyencrypt , $crypt_replyencrypt
10988 $crypt_replysign , $crypt_replysign
10990 $crypt_replysignencrypted , $crypt_replysignencrypted
10992 $crypt_timestamp , $crypt_timestamp
10994 $crypt_use_gpgme , $crypt_use_gpgme
10996 $crypt_verify_sig , $crypt_verify_sig
10998 <current-bottom>, generic
11000 <current-middle>, generic
11002 <current-top>, generic
11006 $date_format , $date_format
11008 $debug_level , $debug_level
11010 <decode-copy>, index
11012 <decode-save>, index, pager
11014 default-hook, Message Matching in Hooks
11016 $default_hook , $default_hook
11020 <delete-char>, Editing Input Fields, editor
11022 <delete-entry>, attach, postpone
11024 <delete-message>, index, pager
11026 <delete-pattern>, index
11028 $delete_space, Additional Notes
11030 <delete-subthread>, Threaded Mode, index, pager
11032 <delete-thread>, Threaded Mode, index, pager
11034 $delete_space , $delete_space
11036 $delete_untag , $delete_untag
11038 <detach-file>, Composing new messages, compose
11040 $digest_collapse , $digest_collapse
11042 <display-address>, index, pager
11044 <display-message>, index
11046 <display-toggle-weed>, Miscellaneous Functions, index, pager, attach,
11049 $display_filter , $display_filter
11051 $dotlock_program , $dotlock_program
11053 <downcase-word>, Editing Input Fields, editor
11055 $dsn_notify, Delivery Status Notification (DSN) Support
11057 $dsn_return, Delivery Status Notification (DSN) Support
11059 $dsn_notify , $dsn_notify
11061 $dsn_return , $dsn_return
11063 $duplicate_threads , $duplicate_threads
11067 <edit>, Miscellaneous Functions, index, pager, compose
11069 <edit-bcc>, Composing new messages, compose
11071 <edit-cc>, Composing new messages, compose
11073 <edit-description>, Composing new messages, compose
11075 <edit-encoding>, compose
11077 <edit-fcc>, Composing new messages, compose
11079 <edit-file>, compose
11081 <edit-from>, Composing new messages, compose
11083 $edit_headers, Editing the message header, User defined headers,
11084 mailto:-style links, Configuration variables, compose
11086 <edit-mime>, compose
11088 <edit-reply-to>, Composing new messages, compose
11090 <edit-subject>, Composing new messages, compose
11092 <edit-to>, Composing new messages, compose
11094 <edit-type>, Miscellaneous Functions, index, pager, attach, compose
11096 $EDITOR, Manual Conventions, Composing new messages
11100 $editor_headers, Editing the message header, Defining/Using aliases
11102 $editor_headers , $editor_headers
11104 $edit_headers , $edit_headers
11106 $encode_from , $encode_from
11108 <enter-command>, Miscellaneous Functions, generic, pager
11110 <enter-mask>, browser
11112 $entropy_file , $entropy_file
11114 $envelope_from_address, $envelope_from_address
11116 <eol>, Editing Input Fields, editor
11120 exec, Executing functions, Configuration Commands
11122 <exit>, generic, index, pager
11124 <extract-keys>, Miscellaneous Functions, index, pager, attach
11128 $fast_reply , $fast_reply
11130 fcc-hook, Specify default Fcc: mailbox when composing, Specify default
11131 save filename and default Fcc: mailbox at once, Using Hooks, Message
11132 Matching in Hooks, Configuration Commands
11134 fcc-save-hook, Specify default save filename, Specify default Fcc: mailbox
11135 when composing, Specify default save filename and default Fcc: mailbox at
11136 once, Using Hooks, Configuration Commands
11138 $fcc_attach , $fcc_attach
11140 $fcc_clear , $fcc_clear
11142 <fetch-mail>, index
11144 $file_charset , $file_charset
11146 <filter-entry>, compose
11148 <first-entry>, Moving Around in Menus, generic
11150 <flag-message>, index, pager
11152 $folder, Configuration Variables, Defining mailboxes which receive mail,
11153 Mailbox Shortcuts, $folder
11155 folder-hook, Setting variables based upon mailbox, Spam detection, Using
11156 Hooks, Managing multiple IMAP/POP/NNTP accounts (OPTIONAL), Configuration
11159 $folder_format , $folder_format
11161 $followup_to, Mailing lists, Handling Mailing Lists
11163 $followup_to , $followup_to
11165 $force_buffy_check , $force_buffy_check
11167 $force_name , $force_name
11169 <forget-passphrase>, Miscellaneous Functions, Composing new messages,
11170 index, pager, compose
11172 <forward>, Sending Mail
11174 <forward-char>, Editing Input Fields, editor
11176 $forward_decode , Configuration variables
11178 $forward_decrypt , Configuration variables
11180 $forward_format , Configuration variables
11182 <forward-message>, index, pager, attach
11184 $forward_quote , Configuration variables
11186 <forward-word>, Editing Input Fields, editor
11188 $forward_decode , $forward_decode
11190 $forward_decrypt , $forward_decrypt
11192 $forward_edit , $forward_edit
11194 $forward_format , $forward_format
11196 $forward_quote , $forward_quote
11202 $gecos_mask , $gecos_mask
11204 <group-reply>, Sending Mail, index, pager, attach
11208 <half-down>, generic, pager
11210 <half-up>, generic, pager
11214 hdr_order, Defining the order of headers when viewing messages,
11215 Configuration Commands
11219 $header_cache , $header_cache
11221 $header_cache_compress , $header_cache_compress
11223 <help>, Moving Around in Menus, $help, generic, pager
11225 $hidden_host , $hidden_host
11227 $hide_limited , $hide_limited
11229 $hide_missing , $hide_missing
11231 $hide_thread_subject , $hide_thread_subject
11233 $hide_top_limited , $hide_top_limited
11235 $hide_top_missing , $hide_top_missing
11237 $history , $history
11239 <history-down>, Editing Input Fields, editor
11241 <history-up>, Editing Input Fields, editor
11243 $HOME, MIME Type configuration with mime.types, MIME Viewer configuration
11246 $honor_followup_to, Miscellaneous Functions, Handling Mailing Lists
11248 $honor_followup_to , $honor_followup_to
11250 $HOSTNAME, Environment Variables
11252 $hostname , $hostname
11256 iconv-hook, Defining aliases for character sets
11258 ignore, Miscellaneous Functions, Ignoring (weeding) unwanted message
11259 headers, Configuration Commands
11261 $ignore_list_reply_to , $ignore_list_reply_to
11263 $imap_authenticators, Authentication
11265 $imap_home_namespace, Configuration Variables
11267 $imap_list_subscribed, IMAP Support (OPTIONAL)
11269 $imap_mail_check, Manual Conventions, Conditional parts, IMAP Support
11272 $imap_pass, Authentication
11274 $imap_user, Authentication
11276 $imap_authenticators , $imap_authenticators
11278 $imap_check_subscribed , $imap_check_subscribed
11280 $imap_delim_chars , $imap_delim_chars
11282 $imap_headers , $imap_headers
11284 $imap_home_namespace , $imap_home_namespace
11286 $imap_keepalive , $imap_keepalive
11288 $imap_list_subscribed , $imap_list_subscribed
11290 $imap_login , $imap_login
11292 $imap_mail_check , $imap_mail_check
11294 $imap_pass , $imap_pass
11296 $imap_passive , $imap_passive
11298 $imap_peek , $imap_peek
11300 $imap_reconnect , $imap_reconnect
11302 $imap_servernoise , $imap_servernoise
11304 $imap_user , $imap_user
11306 $implicit_autoview , $implicit_autoview
11308 $include , $include
11310 $include_onlyfirst , $include_onlyfirst
11312 $indent_string , Configuration variables
11314 $indent_string , $indent_string
11316 $index_format, Threaded Mode, Spam detection, Handling Mailing Lists,
11317 Configuration variables
11319 $index_format , $index_format
11321 <ispell>, Composing new messages, $ispell, compose
11329 $keep_flagged , $keep_flagged
11331 <kill-eol>, Editing Input Fields, editor
11333 <kill-eow>, Editing Input Fields, editor
11335 <kill-line>, Editing Input Fields, editor
11337 <kill-word>, Editing Input Fields, editor
11341 <last-entry>, Moving Around in Menus, generic
11345 <list-reply>, Miscellaneous Functions, Sending Mail, index, pager, attach
11347 lists, Miscellaneous Functions, Mailing lists, Handling Mailing Lists,
11348 Configuration Commands
11350 $list_reply , $list_reply
11352 $locale, Change settings based upon message recipients, $locale
11356 macro, Miscellaneous Functions, Keyboard macros, Adding key sequences to
11357 the keyboard buffer, Using Tags, Configuration Commands
11359 <mail>, index, pager, query
11361 <mail-key>, Sending Mail, index, pager
11363 mailboxes, Defining mailboxes which receive mail, Configuration Commands
11365 $mailcap_path, mailcap
11367 $mailcap_sanitize, Secure use of mailcap, mailcap
11369 $mailcap_path , $mailcap_path
11371 $mailcap_sanitize , $mailcap_sanitize
11373 $maildir_header_cache_verify , $maildir_header_cache_verify
11375 $maildir_trash , $maildir_trash
11377 $mail_check , $mail_check
11379 <mark-as-new>, pager
11381 $markers , $markers
11383 $mark_old , $mark_old
11387 $max_display_recips , $max_display_recips
11389 $max_line_length , $max_line_length
11391 $mbox, Mailbox Shortcuts, $mbox
11393 mbox-hook, Using Multiple spool mailboxes, Using Hooks, Configuration
11396 $mbox_type, Mailbox Formats, Append a message to a compressed mailbox
11398 $mbox_type , $mbox_type
11400 $menu_context , $menu_context
11402 $menu_move_off , $menu_move_off
11404 $menu_scroll , $menu_scroll
11406 $message_format , Configuration variables
11408 message-hook, Change settings before formatting a message, Using Hooks,
11409 Message Matching in Hooks, MIME Autoview, Configuration Commands
11411 $message_format , $message_format
11413 $meta_key , $meta_key
11417 $mh_purge , $mh_purge
11419 $mh_seq_flagged , $mh_seq_flagged
11421 $mh_seq_replied , $mh_seq_replied
11423 $mh_seq_unseen , $mh_seq_unseen
11425 <middle-page>, generic
11427 $mime_forward , Configuration variables
11429 $mime_forward , $mime_forward
11431 $mime_forward_decode , $mime_forward_decode
11433 $mime_forward_rest , $mime_forward_rest
11435 mime_lookup, MIME Lookup, Configuration Commands
11437 $mix_entry_format, Sending anonymous messages via mixmaster
11439 $mixmaster , $mixmaster
11441 $mix_entry_format , $mix_entry_format
11443 mono, Using color and mono video attributes, Configuration Commands
11447 $msgid_format, Message-ID: headers
11449 $msgid_format , $msgid_format
11451 $muttng_bindir , $muttng_bindir
11453 $muttng_docdir , $muttng_docdir
11455 $muttng_folder_name , $muttng_folder_name
11457 $muttng_folder_path , $muttng_folder_path
11459 $muttng_hcache_backend , $muttng_hcache_backend
11461 $muttng_pwd , $muttng_pwd
11463 $muttng_revision , $muttng_revision
11465 $muttng_sysconfdir , $muttng_sysconfdir
11467 $muttng_version , $muttng_version
11469 my_hdr, User defined headers, Configuration Commands
11473 $narrow_tree , $narrow_tree
11475 $net_inc , $net_inc
11477 <new-mime>, compose
11479 <next-entry>, Moving Around in Menus, generic, pager
11481 <next-line>, generic, pager
11483 <next-new>, index, pager
11485 <next-new-then-unread>, index, pager
11487 <next-page>, generic, pager
11489 <next-subthread>, Threaded Mode, index, pager
11491 <next-thread>, Threaded Mode, index, pager
11493 <next-undeleted>, index, pager
11495 <next-unread>, index, pager
11497 $nntp_ask_followup_to , Configuration variables
11499 $nntp_ask_x_comment_to , Configuration variables
11501 $nntp_cache_dir , Configuration variables
11503 $nntp_catchup , Configuration variables
11505 $nntp_followup_to_poster , Configuration variables
11507 $nntp_group_index_format , Configuration variables
11509 $nntp_host , Configuration variables
11511 $nntp_inews , Configuration variables
11513 $nntp_mail_check , Configuration variables
11515 $nntp_mime_subject , Configuration variables
11517 $nntp_newsrc, NNTP Support (OPTIONAL), Configuration variables
11519 $nntp_post_moderated , Configuration variables
11521 $nntp_save_unsubscribed , Configuration variables
11523 $nntp_show_new_news , Configuration variables
11525 $nntp_show_only_unread , Configuration variables
11527 $nntp_x_comment_to , Configuration variables
11529 $NNTPSERVER, NNTP Support (OPTIONAL)
11531 $nntp_ask_followup_to , $nntp_ask_followup_to
11533 $nntp_ask_x_comment_to , $nntp_ask_x_comment_to
11535 $nntp_cache_dir , $nntp_cache_dir
11537 $nntp_catchup , $nntp_catchup
11539 $nntp_context , $nntp_context
11541 $nntp_followup_to_poster , $nntp_followup_to_poster
11543 $nntp_group_index_format , $nntp_group_index_format
11545 $nntp_host , $nntp_host
11547 $nntp_inews , $nntp_inews
11549 $nntp_load_description , $nntp_load_description
11551 $nntp_mail_check , $nntp_mail_check
11553 $nntp_mime_subject , $nntp_mime_subject
11555 $nntp_newsrc , $nntp_newsrc
11557 $nntp_pass , $nntp_pass
11559 $nntp_post_moderated , $nntp_post_moderated
11561 $nntp_reconnect , $nntp_reconnect
11563 $nntp_save_unsubscribed , $nntp_save_unsubscribed
11565 $nntp_show_new_news , $nntp_show_new_news
11567 $nntp_show_only_unread , $nntp_show_only_unread
11569 $nntp_user , $nntp_user
11571 $nntp_x_comment_to , $nntp_x_comment_to
11573 nospam, Spam detection, Configuration Commands
11577 open-hook, Compressed folders Support (OPTIONAL), Open a compressed
11578 mailbox for reading, Write a compressed mailbox, Append a message to a
11579 compressed mailbox, Configuration Commands
11581 $operating_system , $operating_system
11585 <page-down>, Moving Around in Menus
11587 <page-up>, Moving Around in Menus
11591 $pager_index_lines, Conditional parts
11593 $pager_context , $pager_context
11595 $pager_format , $pager_format
11597 $pager_index_lines , $pager_index_lines
11599 $pager_stop , $pager_stop
11601 <parent-message>, Threaded Mode, index, pager
11603 pattern-hook, Specify default save filename, Specify default Fcc: mailbox
11604 when composing, Change settings based upon message recipients, Change
11605 settings before formatting a message
11607 $pgp_autoinline , Configuration variables
11609 $pgp_entry_format, Using Mutt-ng with PGP
11611 <pgp-menu>, Composing new messages, compose
11613 $pgp_replyinline , Configuration variables
11615 $pgp_sign_as, Using Mutt-ng with PGP
11617 $pgp_autoinline , $pgp_autoinline
11619 $pgp_auto_decode , $pgp_auto_decode
11621 $pgp_check_exit , $pgp_check_exit
11623 $pgp_clearsign_command , $pgp_clearsign_command
11625 $pgp_decode_command , $pgp_decode_command
11627 $pgp_decrypt_command , $pgp_decrypt_command
11629 $pgp_encrypt_only_command , $pgp_encrypt_only_command
11631 $pgp_encrypt_sign_command , $pgp_encrypt_sign_command
11633 $pgp_entry_format , $pgp_entry_format
11635 $pgp_export_command , $pgp_export_command
11637 $pgp_getkeys_command , $pgp_getkeys_command
11639 $pgp_good_sign , $pgp_good_sign
11641 $pgp_ignore_subkeys , $pgp_ignore_subkeys
11643 $pgp_import_command , $pgp_import_command
11645 $pgp_list_pubring_command , $pgp_list_pubring_command
11647 $pgp_list_secring_command , $pgp_list_secring_command
11649 $pgp_long_ids , $pgp_long_ids
11651 $pgp_mime_auto , $pgp_mime_auto
11653 $pgp_replyinline , $pgp_replyinline
11655 $pgp_retainable_sigs , $pgp_retainable_sigs
11657 $pgp_show_unusable , $pgp_show_unusable
11659 $pgp_sign_as , $pgp_sign_as
11661 $pgp_sign_command , $pgp_sign_command
11663 $pgp_sort_keys , $pgp_sort_keys
11665 $pgp_strict_enc , $pgp_strict_enc
11667 $pgp_timeout , $pgp_timeout
11669 $pgp_use_gpg_agent , $pgp_use_gpg_agent
11671 $pgp_verify_command , $pgp_verify_command
11673 $pgp_verify_key_command , $pgp_verify_key_command
11675 $pipe_decode, Miscellaneous Functions
11677 <pipe-entry>, attach, compose
11679 <pipe-message>, Miscellaneous Functions, index, pager
11681 $pipe_split, Miscellaneous Functions
11683 $pipe_decode , $pipe_decode
11685 $pipe_sep , $pipe_sep
11687 $pipe_split , $pipe_split
11689 $pop_mail_check, POP3 Support (OPTIONAL), Configuration variables
11691 $pop_authenticators , $pop_authenticators
11693 $pop_auth_try_all , $pop_auth_try_all
11695 $pop_delete , $pop_delete
11697 $pop_host , $pop_host
11699 $pop_last , $pop_last
11701 $pop_mail_check , $pop_mail_check
11703 $pop_pass , $pop_pass
11705 $pop_reconnect , $pop_reconnect
11707 $pop_user , $pop_user
11709 $post_indent_string , Configuration variables
11711 $postpone, Postponing Mail, $postpone
11713 <postpone-message>, Composing new messages, compose
11715 $postponed, Postponing Mail, $postponed
11717 $post_indent_string , $post_indent_string
11719 $preconnect , $preconnect
11721 <previous-entry>, Moving Around in Menus, generic, pager
11723 <previous-line>, generic, pager
11725 <previous-new>, index, pager
11727 <previous-new-then-unread>, index, pager
11729 <previous-page>, generic, index, pager
11731 <previous-subthread>, Threaded Mode, index, pager
11733 <previous-thread>, Threaded Mode, index, pager
11735 <previous-undeleted>, index, pager
11737 <previous-unread>, index, pager
11741 $print_command , Configuration variables
11743 <print-entry>, attach, compose
11745 <print-message>, index, pager
11747 $print_command , $print_command
11749 $print_decode , $print_decode
11751 $print_split , $print_split
11753 $prompt_after , $prompt_after
11755 push, Adding key sequences to the keyboard buffer, Using Tags,
11756 Configuration Commands
11760 <query>, index, query
11762 <query-append>, query
11764 $query_command, External Address Queries
11766 $query_command , $query_command
11768 <quit>, Moving Around in Menus, Composing new messages, $quit, index,
11771 <quote-char>, Editing Input Fields, editor
11773 $quote_regexp, Miscellaneous Functions, Using color and mono video
11776 $quote_empty , $quote_empty
11778 $quote_quoted , $quote_quoted
11780 $quote_regexp , $quote_regexp
11784 <read-subthread>, Threaded Mode, index, pager
11786 <read-thread>, Threaded Mode, index, pager
11788 $read_inc , $read_inc
11790 $read_only , $read_only
11792 $realname , $realname
11796 <recall-message>, index, pager
11798 $record, Environment Variables, Specify default Fcc: mailbox when
11799 composing, Mailbox Shortcuts, $record
11801 <redraw-screen>, pager
11805 <rename-file>, compose
11807 <reply>, Sending Mail, index, pager, attach
11809 reply-hook, Change settings based upon message recipients, Configuration
11812 $reply_to, Alternative addresses, Handling Mailing Lists
11814 $reply_regexp , $reply_regexp
11816 $reply_self , $reply_self
11818 $reply_to , $reply_to
11820 <resend-message>, Miscellaneous Functions, The Attachment Menu, index,
11823 reset, Setting variables, Configuration Commands
11825 $resolve , $resolve
11827 $reverse_alias , $reverse_alias
11829 $reverse_name , $reverse_name
11831 $reverse_realname , $reverse_realname
11835 1524, MIME Viewer configuration with mailcap, Command
11838 1894, Delivery Status Notification (DSN) Support
11840 2822, Again: Scoring
11844 822, User defined headers
11846 $rfc2047_parameters , $rfc2047_parameters
11850 $save_empty, Compressed folders Support (OPTIONAL)
11852 <save-entry>, attach
11854 save-hook, Specify default save filename, Specify default save filename
11855 and default Fcc: mailbox at once, Using Hooks, Message Matching in Hooks,
11856 Mailbox Shortcuts, Configuration Commands
11858 <save-message>, index, pager
11860 $save_address , $save_address
11862 $save_empty , $save_empty
11864 $save_name , $save_name
11866 score, Message Scoring, Configuration Commands, $score
11868 $score_threshold_delete, Message Scoring
11870 $score_threshold_flag, Message Scoring
11872 $score_threshold_read, Message Scoring
11874 $score_threshold_delete , $score_threshold_delete
11876 $score_threshold_flag , $score_threshold_flag
11878 $score_threshold_read , $score_threshold_read
11880 <search>, generic, pager, alias, query, browser
11882 <search-next>, generic, pager, alias, query, browser
11884 <search-opposite>, generic, pager, query
11886 <search-reverse>, generic, pager, alias, query, browser
11888 <search-toggle>, pager
11890 <select-entry>, generic
11892 <select-new>, browser
11894 send-hook, Change settings based upon message recipients, Using Hooks,
11895 Message Matching in Hooks, Configuration Commands
11897 <send-message>, Composing new messages, compose
11899 send2-hook, Change settings based upon message recipients
11901 <senderdecode-copy>, pager
11903 $sendmail, Change settings based upon message recipients, $sendmail
11905 $sendmail_wait , $sendmail_wait
11907 $send_charset , $send_charset
11909 set, Setting variables, Configuration Commands
11915 <shell-escape>, Miscellaneous Functions, generic, pager
11917 <show-limit>, index
11919 <show-version>, index, pager
11921 <sidebar-next>, sidebar
11923 <sidebar-next-new>, sidebar
11925 <sidebar-open>, sidebar
11927 <sidebar-previous>, sidebar
11929 <sidebar-scroll-down>, sidebar
11931 <sidebar-scroll-up>, sidebar
11933 $sidebar_shorten_hierarchy , Configuration variables
11935 $sidebar_boundary , $sidebar_boundary
11937 $sidebar_delim , $sidebar_delim
11939 $sidebar_newmail_only , $sidebar_newmail_only
11941 $sidebar_number_format , $sidebar_number_format
11943 $sidebar_shorten_hierarchy , $sidebar_shorten_hierarchy
11945 $sidebar_visible , $sidebar_visible
11947 $sidebar_width , $sidebar_width
11949 $signature, Change settings based upon message recipients, $signature
11951 $signoff_string , $signoff_string
11953 $sig_dashes , $sig_dashes
11955 $sig_on_top , $sig_on_top
11957 $simple_search , $simple_search
11959 <skip-quoted>, Miscellaneous Functions, pager
11961 $sleep_time , $sleep_time
11963 $smart_wrap , $smart_wrap
11965 $smileys , $smileys
11967 $smime_default_key , Configuration variables
11969 <smime-menu>, Composing new messages
11971 $smime_ask_cert_label , $smime_ask_cert_label
11973 $smime_ca_location , $smime_ca_location
11975 $smime_certificates , $smime_certificates
11977 $smime_decrypt_command , $smime_decrypt_command
11979 $smime_decrypt_use_default_key , $smime_decrypt_use_default_key
11981 $smime_default_key , $smime_default_key
11983 $smime_encrypt_command , $smime_encrypt_command
11985 $smime_encrypt_with , $smime_encrypt_with
11987 $smime_get_cert_command , $smime_get_cert_command
11989 $smime_get_cert_email_command , $smime_get_cert_email_command
11991 $smime_get_signer_cert_command , $smime_get_signer_cert_command
11993 $smime_import_cert_command , $smime_import_cert_command
11995 $smime_is_default , $smime_is_default
11997 $smime_keys , $smime_keys
11999 $smime_pk7out_command , $smime_pk7out_command
12001 $smime_sign_command , $smime_sign_command
12003 $smime_sign_opaque_command , $smime_sign_opaque_command
12005 $smime_timeout , $smime_timeout
12007 $smime_verify_command , $smime_verify_command
12009 $smime_verify_opaque_command , $smime_verify_opaque_command
12011 $smtp_envelope, SMTP Support (OPTIONAL)
12013 $smtp_host, SMTP Support (OPTIONAL)
12015 $smtp_pass, SMTP Support (OPTIONAL), Configuration variables
12017 $smtp_use_tls, SMTP Support (OPTIONAL)
12019 $smtp_user, SMTP Support (OPTIONAL), Configuration variables
12021 $smtp_host , $smtp_host
12023 $smtp_pass , $smtp_pass
12025 $smtp_port , $smtp_port
12027 $smtp_user , $smtp_user
12029 $smtp_use_tls , $smtp_use_tls
12031 $sort , $sort, browser
12033 <sort-mailbox>, index
12035 <sort-reverse>, index, browser
12037 $sort_alias , $sort_alias
12039 $sort_aux , $sort_aux
12041 $sort_browser , $sort_browser
12043 $sort_re , $sort_re
12045 source, Miscellaneous Functions, Defining/Using aliases, Reading
12046 initialization commands from another file, Configuration Commands
12048 spam, Spam detection, Configuration Commands
12050 $spam_separator , $spam_separator
12052 $spoolfile, Setting variables based upon mailbox, Defining mailboxes which
12053 receive mail, Mailbox Shortcuts, POP3 Support (OPTIONAL), $spoolfile
12055 $ssl_ca_certificates_file , $ssl_ca_certificates_file
12057 $ssl_client_cert , $ssl_client_cert
12059 $ssl_force_tls , $ssl_force_tls
12061 $ssl_min_dh_prime_bits , $ssl_min_dh_prime_bits
12063 $ssl_starttls , $ssl_starttls
12065 $ssl_usesystemcerts , $ssl_usesystemcerts
12067 $ssl_use_sslv2 , $ssl_use_sslv2
12069 $ssl_use_sslv3 , $ssl_use_sslv3
12071 $ssl_use_tlsv1 , $ssl_use_tlsv1
12073 $status_format, Composing new messages, Introduction
12075 $status_chars , $status_chars
12077 $status_format , $status_format
12079 $status_on_top , $status_on_top
12081 $strict_mailto, mailto:-style links
12083 $strict_threads, Threaded Mode
12085 $strict_mailto , $strict_mailto
12087 $strict_mime , $strict_mime
12089 $strict_threads , $strict_threads
12091 $strip_was , $strip_was
12093 $strip_was_regex , $strip_was_regex
12095 $stuff_quoted , $stuff_quoted
12097 subscribe, Mailing lists, Configuration Commands, browser
12099 $suspend , $suspend
12101 <sync-mailbox>, Manual Conventions, index, pager
12105 <tag-entry>, generic
12107 <tag-message>, pager
12109 <tag-pattern>, index
12111 <tag-prefix>, generic
12113 <tag-prefix-cond>, generic
12115 <tag-thread>, Threaded Mode, index
12117 $text_flowed , $text_flowed
12119 $thorough_search , $thorough_search
12121 $thread_received , $thread_received
12125 $timeout, IMAP Support (OPTIONAL), $timeout
12127 $tmpdir, Temporary Files, $tmpdir
12129 $to_chars, Status Flags
12131 toggle, Setting variables, Configuration Commands
12133 <toggle-mailboxes>, browser
12135 <toggle-new>, index
12137 <toggle-quoted>, Miscellaneous Functions, pager
12139 <toggle-subscribed>, browser
12141 <toggle-unlink>, compose
12143 <toggle-write>, index
12147 <top-page>, generic
12149 $to_chars , $to_chars
12151 <transpose-chars>, editor
12159 $umask, Temporary Files, $umask
12161 unalias, Defining/Using aliases, Configuration Commands
12163 unalternates, Alternative addresses, Configuration Commands
12165 unalternative_order, MIME Multipart/Alternative, Configuration Commands
12167 unauto_view, MIME Autoview, Configuration Commands
12169 $uncollapse_jump , $uncollapse_jump
12171 uncolor, Using color and mono video attributes, Configuration Commands
12173 <undelete-entry>, attach, postpone
12175 <undelete-message>, index, pager
12177 <undelete-pattern>, index
12179 <undelete-subthread>, Threaded Mode, index, pager
12181 <undelete-thread>, Threaded Mode, index, pager
12183 unhdr_order, Defining the order of headers when viewing messages,
12184 Configuration Commands
12186 unhook, Removing hooks, Configuration Commands
12188 unignore, Ignoring (weeding) unwanted message headers, Configuration
12191 unlists, Mailing lists, Configuration Commands
12193 unmailboxes, Defining mailboxes which receive mail
12195 unmime_lookup, MIME Lookup, Configuration Commands
12197 unmono, Using color and mono video attributes, Configuration Commands
12199 unmy_hdr, User defined headers, Configuration Commands
12201 unscore, Message Scoring, Configuration Commands
12203 unset, Setting variables, Configuration Commands
12205 unsubscribe, Mailing lists, Configuration Commands, browser
12207 <untag-pattern>, index
12209 <upcase-word>, Editing Input Fields, editor
12211 $use_8bitmime, SMTP Support (OPTIONAL)
12213 $use_8bitmime , $use_8bitmime
12215 $use_domain , $use_domain
12217 $use_envelope_from , $use_envelope_from
12219 $use_from , $use_from
12221 $use_idn , $use_idn
12223 $use_ipv6 , $use_ipv6
12229 <view-attach>, attach, compose
12231 <view-attachments>, index, pager
12233 <view-file>, browser
12235 <view-mailcap>, attach
12239 <view-text>, attach
12241 $VISUAL, Composing new messages
12247 $wait_key, Miscellaneous Functions, Optional Fields
12249 $wait_key , $wait_key
12251 $weed, Miscellaneous Functions, $weed
12253 <what-key>, generic
12255 $wrapmargin , $wrapmargin
12257 $wrap_search , $wrap_search
12259 <write-fcc>, Composing new messages, compose
12261 $write_bcc , $write_bcc
12263 $write_inc , $write_inc
12267 $xterm_icon , $xterm_icon
12269 $xterm_leave , $xterm_leave
12271 $xterm_set_titles , $xterm_set_titles
12273 $xterm_title , $xterm_title