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
297 6. Attachment Searching and Counting
301 6. Security Considerations
309 3.1. Message-ID: headers
311 3.2. mailto:-style links
313 4. External applications
321 1. Command line options
325 3. Configuration Commands
327 4. Configuration variables
357 B. Hacking Documentation
363 2.1. Most commonly used movement bindings
365 2.2. Line Editor Functions
367 2.3. Most commonly used Index Bindings
369 2.4. Most commonly used Pager Bindings
371 2.5. ANSI Escape Sequences
375 2.7. Most commonly used thread-related bindings
377 2.8. Most commonly used Mail Composition Bindings
379 2.9. Most commonly used Compose Menu Bindings
381 2.10. PGP Key Menu Flags
383 3.1. Alternative Key Names
385 7.1. Reference: Command Line Options
387 7.2. Reference: Patterns
389 7.3. Reference: Obsolete Variables
391 7.4. Reference: Default Generic Function Bindings
393 7.5. Reference: Default Index Function Bindings
395 7.6. Reference: Default Pager Function Bindings
397 7.7. Reference: Default Alias Menu Function Bindings
399 7.8. Reference: Default Query Menu Function Bindings
401 7.9. Reference: Default Attachment Menu Function Bindings
403 7.10. Reference: Default Compose Menu Function Bindings
405 7.11. Reference: Default Postpone Menu Function Bindings
407 7.12. Reference: Default Browser Menu Function Bindings
409 7.13. Reference: Default PGP Menu Function Bindings
411 7.14. Reference: Default Editor Function Bindings
413 7.15. Referene: Default Sidebar Function Bindings
415 Chapter 1. Introduction
425 4. Software Distribution Sites
433 8. Manual Conventions
437 Mutt-ng is a small but very powerful text-based MIME mail client. Mutt-ng
438 is highly configurable, and is well suited to the mail power user with
439 advanced features like key bindings, keyboard macros, mail threading,
440 regular expression searches and a powerful pattern matching language for
441 selecting groups of messages.
443 This documentation additionally contains documentation to Mutt-NG ,a fork
444 from Mutt with the goal to fix all the little annoyances of Mutt, to
445 integrate all the Mutt patches that are floating around in the web, and to
446 add other new features. Features specific to Mutt-ng will be discussed in
447 an extra section. Don't be confused when most of the documentation talk
448 about Mutt and not Mutt-ng, Mutt-ng contains all Mutt features, plus many
453 <http://www.muttng.org/>
457 o <mutt-ng-users@lists.berlios.de>: This is where the mutt-ng user
460 o <mutt-ng-devel@lists.berlios.de>: The development mailing list for
463 4. Software Distribution Sites
465 So far, there are no official releases of Mutt-ng, but you can download
466 daily snapshots from <http://mutt-ng.berlios.de/snapshots/>
470 Visit channel #muttng on irc.freenode.net (www.freenode.net) to chat with
471 other people interested in Mutt-ng.
475 If you want to read fresh news about the latest development in Mutt-ng,
476 and get informed about stuff like interesting, Mutt-ng-related articles
477 and packages for your favorite distribution, you can read and/or subscribe
478 to our Mutt-ng development weblog.
482 Mutt is Copyright (C) 1996-2000 Michael R. Elkins <me@cs.hmc.edu> and
485 This program is free software; you can redistribute it and/or modify it
486 under the terms of the GNU General Public License as published by the Free
487 Software Foundation; either version 2 of the License, or (at your option)
490 This program is distributed in the hope that it will be useful, but
491 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
492 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
495 You should have received a copy of the GNU General Public License along
496 with this program; if not, write to the Free Software Foundation, Inc., 51
497 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
499 8. Manual Conventions
501 This manual contains several (hopefully consistent) conventions to
502 specially layout different items in different fashions.
504 o Configuration and environment variables will be printed in a
505 typewriter font and both prefixed with a dollar sign as it's common
506 for UNIX-like environments. Configuration variables are lower-case
507 only while environment variables are upper-case only. $imap_mail_check
508 is a configuration variable while $EDITOR is an environment variable.
510 o Muttng-specific functions are enclosed in <> and printed in a
511 typewriter font, too, as in <sync-mailbox>.
513 o As common for UNIX-like environments, references to manual pages are
514 printed with the section enclosed in braces, as in vi(1) or
515 muttngrc(5). Execute man [section] [name] to view the manual page.
517 o Keys are presented in the following way: ordinary keys are just given
518 as-is, e.g. q. Control characters are prefixed with C- (e.g. the
519 screen can be redraw by pressing C-L) and E- for Escape, e.g. a folder
520 can be opened read-only with E-c.
522 If, while reading this fine manual, you find any inconsistencies of
523 whatever kind, please contact the developers via
524 <mutt-ng-devel@lists.berlios.de> to report it.
526 Chapter 2. Getting Started
532 1.1. Screens and Menus
564 3. Moving Around in Menus
566 4. Editing Input Fields
568 5. Reading Mail - The Index and Pager
570 5.1. The Message Index
576 5.4. Miscellaneous Functions
580 6.1. Composing new messages
584 6.3. Editing the message header
586 6.4. Using Mutt-ng with PGP
588 6.5. Sending anonymous messages via mixmaster
590 7. Forwarding and Bouncing Mail
596 1.1. Screens and Menus
598 mutt-ng offers different screens of which every has its special purpose:
600 o The index displays the contents of the currently opened mailbox.
602 o The pager is responsible for displaying messages, that is, the header,
603 the body and all attached parts.
605 o The file browser offers operations on and displays information of all
606 folders mutt-ng should watch for mail.
608 o The sidebar offers a permanent view of which mailboxes contain how
609 many total, new and/or flagged mails.
611 o The help screen lists for all currently available commands how to
612 invoke them as well as a short description.
614 o The compose menu is a comfortable interface take last actions before
615 sending mail: change subjects, attach files, remove attachements, etc.
617 o The attachement menu gives a summary and the tree structure of the
618 attachements of the current message.
620 o The alias menu lists all or a fraction of the aliases a user has
623 o The key menu used in connection with encryption lets users choose the
624 right key to encrypt with.
626 When mutt-ng is started without any further options, it'll open the users
627 default mailbox and display the index.
631 Mutt-ng does not feature an internal configuration interface or menu due
632 to the simple fact that this would be too complex to handle (currently
633 there are several hundred variables which fine-tune the behaviour.)
635 Mutt-ng is configured using configuration files which allow users to add
636 comments or manage them via version control systems to ease maintenance.
638 Also, mutt-ng comes with a shell script named grml-muttng kindly
639 contributed by users which really helps and eases the creation of a user's
640 configuration file. When downloading the source code via a snapshot or via
641 subversion, it can be found in the contrib directory.
645 Mutt-ng offers great flexibility due to the use of functions: internally,
646 every action a user can make mutt-ng perform is named ``function.'' Those
647 functions are assigned to keys (or even key sequences) and may be
648 completely adjusted to user's needs. The basic idea is that the impatient
649 users get a very intuitive interface to start off with and advanced users
650 virtually get no limits to adjustments.
654 Mutt-ng has two basic concepts of user interaction:
656 1. There is one dedicated line on the screen used to query the user for
657 input, issue any command, query variables and display error and
658 informational messages. As for every type of user input, this requires
659 manual action leading to the need of input.
661 2. The automatized interface for interaction are the so called hooks.
662 Hooks specify actions the user wants to be performed at well-defined
663 situations: what to do when entering which folder, what to do when
664 displaying or replying to what kind of message, etc. These are
665 optional, i.e. a user doesn't need to specify them but can do so.
669 Although mutt-ng has many functionality built-in, many features can be
670 delegated to external tools to increase flexibility: users can define
671 programs to filter a message through before displaying, users can use any
672 program they want for displaying a message, message types (such as PDF or
673 PostScript) for which mutt-ng doesn't have a built-in filter can be
674 rendered by arbitrary tools and so forth. Although mutt-ng has an alias
675 mechanism built-in, it features using external tools to query for nearly
676 every type of addresses from sources like LDAP, databases or just the list
677 of locally known users.
681 Mutt-ng has a built-in pattern matching ``language'' which is as widely
682 used as possible to present a consistent interface to users. The same
683 ``pattern terms'' can be used for searching, scoring, message selection
690 The index is the screen that you usually see first when you start mutt-ng.
691 It gives an overview over your emails in the currently opened mailbox. By
692 default, this is your system mailbox. The information you see in the index
693 is a list of emails, each with its number on the left, its flags (new
694 email, important email, email that has been forwarded or replied to,
695 tagged email, ...), the date when email was sent, its sender, the email
696 size, and the subject. Additionally, the index also shows thread
697 hierarchies: when you reply to an email, and the other person replies
698 back, you can see the other's person email in a "sub-tree" below. This is
699 especially useful for personal email between a group of people or when
700 you've subscribed to mailing lists.
704 The pager is responsible for showing the email content. On the top of the
705 pager you have an overview over the most important email headers like the
706 sender, the recipient, the subject, and much more information. How much
707 information you actually see depends on your configuration, which we'll
710 Below the headers, you see the email body which usually contains the
711 message. If the email contains any attachments, you will see more
712 information about them below the email body, or, if the attachments are
713 text files, you can view them directly in the pager.
715 To give the user a good overview, it is possible to configure mutt-ng to
716 show different things in the pager with different colors. Virtually
717 everything that can be described with a regular expression can be colored,
718 e.g. URLs, email addresses or smileys.
722 The file browser is the interface to the local or remote file system. When
723 selecting a mailbox to open, the browser allows custom sorting of items,
724 limiting the items shown by a regular expression and a freely adjustable
725 format of what to display in which way. It also allows for easy navigation
726 through the file system when selecting file(s) to attach to a message,
727 select multiple files to attach and many more.
731 The sidebar comes in handy to manage mails which are spread over different
732 folders. All folders users setup mutt-ng to watch for new mail will be
733 listed. The listing includes not only the name but also the number of
734 total messages, the number of new and flagged messages. Items with new
735 mail may be colored different from those with flagged mail, items may be
736 shortened or compress if they're they to long to be printed in full form
737 so that by abbreviated names, user still now what the name stands for.
741 The help screen is meant to offer a quick help to the user. It lists the
742 current configuration of key bindings and their associated commands
743 including a short description, and currently unbound functions that still
744 need to be associated with a key binding (or alternatively, they can be
745 called via the mutt-ng command prompt).
749 The compose menu features a split screen containing the information which
750 really matter before actually sending a message by mail or posting an
751 article to a newsgroup: who gets the message as what (recipient,
752 newsgroup, who gets what kind of copy). Additionally, users may set
753 security options like deciding whether to sign, encrypt or sign and
754 encrypt a message with/for what keys.
756 Also, it's used to attach messages, news articles or files to a message,
757 to re-edit any attachment including the message itself.
761 The alias menu is used to help users finding the recipients of messages.
762 For users who need to contact many people, there's no need to remember
763 addresses or names completely because it allows for searching, too. The
764 alias mechanism and thus the alias menu also features grouping several
765 addresses by a shorter nickname, the actual alias, so that users don't
766 have to select each single recipient manually.
770 As will be later discussed in detail, mutt-ng features a good and stable
771 MIME implementation, that is, is greatly supports sending and receiving
772 messages of arbitrary type. The attachment menu displays a message's
773 structure in detail: what content parts are attached to which parent part
774 (which gives a true tree structure), which type is of what type and what
775 size. Single parts may saved, deleted or modified to offer great and easy
776 access to message's internals.
782 3. Moving Around in Menus
784 Information is presented in menus, very similar to ELM. Here is a
785 tableshowing the common keys used to navigate menus in Mutt-ng.
787 Table 2.1. Most commonly used movement bindings
789 Key Function Description
790 j or Down <next-entry> move to the next entry
791 k or Up <previous-entry> move to the previous entry
792 z or PageDn <page-down> go to the next page
793 Z or PageUp <page-up> go to the previous page
794 = or Home <first-entry> jump to the first entry
795 * or End <last-entry> jump to the last entry
796 q <quit> exit the current menu
797 ? <help> list all key bindings for the current menu
799 4. Editing Input Fields
801 Mutt-ng has a builtin line editor which is used as the primary way to
802 input textual data such as email addresses or filenames. The keys used to
803 move around while editing are very similar to those of Emacs.
805 Table 2.2. Line Editor Functions
807 Key Function Description
808 C-A or Home <bol> move to the start of the line
809 C-B or Left <backward-char> move back one char
810 E-B <backward-word> move back one word
811 C-D or Delete <delete-char> delete the char under the cursor
812 C-E or End <eol> move to the end of the line
813 C-F or Right <forward-char> move forward one char
814 E-F <forward-word> move forward one word
815 Tab <complete> complete filename or alias
816 C-T <complete-query> complete address with query
817 C-K <kill-eol> delete to the end of the line
818 E-d <kill-eow> delete to the end of the word
819 C-W <kill-word> kill the word in front of the cursor
820 C-U <kill-line> delete entire line
821 C-V <quote-char> quote the next typed key
822 Up <history-up> recall previous string from history
823 Down <history-down> recall next string from history
824 BackSpace <backspace> kill the char in front of the cursor
825 E-u <upcase-word> convert word to upper case
826 E-l <downcase-word> convert word to lower case
827 E-c <capitalize-word> capitalize the word
829 Return finish editing
831 You can remap the editor functions using the bind command. For example, to
832 make the Delete key delete the character in front of the cursor rather
833 than under, you could use
835 bind editor <delete> backspace
837 5. Reading Mail - The Index and Pager
839 Similar to many other mail clients, there are two modes in which mail
840 isread in Mutt-ng. The first is the index of messages in the mailbox,
841 which is called the ``index'' in Mutt-ng. The second mode is the display
842 of the message contents. This is called the ``pager.''
844 The next few sections describe the functions provided in each of these
847 5.1. The Message Index
849 Table 2.3. Most commonly used Index Bindings
851 Key Function Description
852 c change to a different mailbox
853 E-c change to a folder in read-only mode
854 C copy the current message to another mailbox
855 E-C decode a message and copy it to a folder
856 E-s decode a message and save it to a folder
857 D delete messages matching a pattern
858 d delete the current message
860 l show messages matching a pattern
861 N mark message as new
862 o change the current sort method
863 O reverse sort the mailbox
864 q save changes and exit
866 T tag messages matching a pattern
867 t toggle the tag on a message
868 E-t toggle tag on entire message thread
869 U undelete messages matching a pattern
872 x abort changes and exit
873 Return display-message
874 Tab jump to the next new or unread message
875 @ show the author's full e-mail address
876 $ save changes to mailbox
879 C-L clear and redraw the screen
880 C-T untag messages matching a pattern
884 In addition to who sent the message and the subject, a short summary of
885 the disposition of each message is printed beside the message number. Zero
886 or more of the following ``flags'' may appear, which mean:
890 message is deleted (is marked for deletion)
894 message have attachments marked for deletion
898 contains a PGP public key
910 message is PGP encrypted
914 message has been replied to
918 message is signed, and the signature is succesfully verified
932 Some of the status flags can be turned on or off using
934 o set-flag (default: w)
936 o clear-flag (default: W)
938 Furthermore, the following flags reflect who the message is addressed to.
939 They can be customized with the $to_chars variable.
943 message is to you and you only
947 message is to you, but also to or cc'ed to others
951 message is cc'ed to you
959 message is sent to a subscribed mailing list
963 By default, Mutt-ng uses its builtin pager to display the body of
964 messages. The pager is very similar to the Unix program less though not
965 nearly as featureful.
967 Table 2.4. Most commonly used Pager Bindings
969 Key Function Description
970 Return go down one line
971 Space display the next page (or next message if at the end of a
973 - go back to the previous page
974 n search for next match
975 S skip beyond quoted text
976 T toggle display of quoted text
978 / search for a regular expression (pattern)
979 E-/ search backwards for a regular expression
980 \ toggle search pattern coloring
981 ^ jump to the top of the message
983 In addition, many of the functions from the index are available in the
984 pager, such as delete-message or copy-message (this is one advantage over
985 using an external pager to view messages).
987 Also, the internal pager supports a couple other advanced features. For
988 one, it will accept and translate the ``standard'' nroff sequences forbold
989 and underline. These sequences are a series of either the letter,
990 backspace (C-H), the letter again for bold or the letter, backspace, _ for
991 denoting underline. Mutt-ng will attempt to display these in bold and
992 underline respectively if your terminal supports them. If not, you can use
993 the bold and underline color objects to specify a color or mono attribute
996 Additionally, the internal pager supports the ANSI escape sequences for
997 character attributes. Mutt-ng translates them into the correct color and
998 character settings. The sequences Mutt-ng supports are: ESC [
999 Ps;Ps;Ps;...;Ps m (see table below for possible values for Ps).
1001 Table 2.5. ANSI Escape Sequences
1004 0 All Attributes Off
1009 3x Foreground color is x (see table below)
1010 4x Background color is x (see table below)
1012 Table 2.6. ANSI Colors
1024 Mutt-ng uses these attributes for handling text/enriched messages, and
1025 they can also be used by an external auto_view script for highlighting
1026 purposes. Note: If you change the colors for your display, for example by
1027 changing the color associated with color2 for your xterm, then that color
1028 will be used instead of green.
1032 When the mailbox is sorted by threads ,there are a few additional
1033 functions available in the index and pager modes.
1035 Table 2.7. Most commonly used thread-related bindings
1037 Key Function Description
1038 C-D <delete-thread> delete all messages in the current thread
1039 C-U <undelete-thread> undelete all messages in the current thread
1040 C-N <next-thread> jump to the start of the next thread
1041 C-P <previous-thread> jump to the start of the previous thread
1042 C-R <read-thread> mark the current thread as read
1043 E-d <delete-subthread> delete all messages in the current subthread
1044 E-u <undelete-subthread> undelete all messages in the current subthread
1045 E-n <next-subthread> jump to the start of the next subthread
1046 E-p <previous-subthread> jump to the start of the previous subthread
1047 E-r <read-subthread> mark the current subthread as read
1048 E-t <tag-thread> toggle the tag on the current thread
1049 E-v <collapse-thread> toggle collapse for the current thread
1050 E-V <collapse-all> toggle collapse for all threads
1051 P <parent-message> jump to parent message in thread
1053 Note: Collapsing a thread displays only the first message in the thread
1054 and hides the others. This is useful when threads contain so many messages
1055 that you can only see a handful of threads onthe screen. See %M in
1058 For example, you could use %?M?(#%03M)&(%4l)? in $index_format to
1059 optionally display the number of hidden messages if the thread is
1062 See also the $strict_threads variable.
1064 5.4. Miscellaneous Functions
1066 <create-alias> (default: a)
1068 Creates a new alias based upon the current message (or prompts for a new
1069 one). Once editing is complete, an alias command is added to the file
1070 specified by the $alias_file variable for future use. Note: Specifying an
1071 $alias_file does not add the aliases specified there-in, you must also
1074 <check-traditional-pgp> (default: E-P)
1076 This function will search the current message for content signed or
1077 encrypted with PGP the "traditional" way, that is, without proper MIME
1078 tagging. Technically, this function will temporarily change the MIME
1079 content types of the body parts containing PGP data; this is similar to
1080 the <edit-type> function's effect.
1082 <display-toggle-weed> (default: h)
1084 Toggles the weeding of message header fields specified by ignore commands.
1088 This command (available in the ``index'' and ``pager'') allows you to edit
1089 the raw current message as it's present in the mail folder. After you have
1090 finished editing, the changed message will be appended to the current
1091 folder, and the original message will be marked for deletion.
1093 <edit-type> (default: ) (default: C-E on the attachment menu, and in the
1094 pager and index menus; C-T on the compose menu)
1096 This command is used to temporarily edit an attachment's content type to
1097 fix, for instance, bogus character set parameters. When invoked from the
1098 index or from the pager, you'll have the opportunity to edit the top-level
1099 attachment's content type. On the attach-menu, you can change any
1100 attachment's content type. These changes are not persistent, and get lost
1101 upon changing folders.
1103 Note that this command is also available on the compose-menu .There, it's
1104 used to fine-tune the properties of attachments you are going to send.
1106 <enter-command> (default: :)
1108 This command is used to execute any command you would normally put in a
1109 configuration file. A common use is to check the settings of variables, or
1110 in conjunction with macro to change settings on the fly.
1112 <extract-keys> (default: C-K)
1114 This command extracts PGP public keys from the current or tagged
1115 message(s) and adds them to your PGP public key ring.
1117 <forget-passphrase> (default: C-F)
1119 This command wipes the passphrase(s) from memory. It is useful, if you
1120 misspelled the passphrase.
1122 <list-reply> (default: L)
1124 Reply to the current or tagged message(s) by extracting any addresses
1125 which match the regular expressions given by the lists commands, but also
1126 honor any Mail-Followup-To header(s) if the $honor_followup_to
1127 configuration variable is set. Using this when replying to messages posted
1128 to mailing lists helps avoid duplicate copies being sent to the author of
1129 the message you are replying to.
1131 <pipe-message> (default: )
1133 Asks for an external Unix command and pipes the current or tagged
1134 message(s) to it. The variables $pipe_decode, $pipe_split, $pipe_decode
1135 and $wait_key control the exact behavior of this function.
1137 <resend-message> (default: E-e)
1139 With resend-message, mutt takes the current message as a template for a
1140 new message. This function is best described as "recall from arbitrary
1141 folders". It can conveniently be used to forward MIME messages while
1142 preserving the original mail structure. Note that the amount of headers
1143 included here depends on the value of the $weed variable.
1145 This function is also available from the attachment menu. You can use this
1146 to easily resend a message which was included with a bounce message as a
1147 message/rfc822 body part.
1149 <shell-escape> (default: !)
1151 Asks for an external Unix command and executes it. The $wait_key can be
1152 used to control whether Mutt-ng will wait for a key to be pressed when the
1153 command returns (presumably to let the user read the output of the
1154 command), based on the return status of the named command.
1156 <toggle-quoted> (default: T)
1158 The pager uses the $quote_regexp variable to detect quoted text when
1159 displaying the body of the message. This function toggles the displayof
1160 the quoted material in the message. It is particularly useful when are
1161 interested in just the response and there is a large amount of quoted text
1164 <skip-quoted> (default: S)
1166 This function will go to the next line of non-quoted text which come after
1167 a line of quoted text in the internal pager.
1171 The following bindings are available in the index for sending messages.
1173 Table 2.8. Most commonly used Mail Composition Bindings
1175 Key Function Description
1176 m <compose> compose a new message
1177 r <reply> reply to sender
1178 g <group-reply> reply to all recipients
1179 L <list-reply> reply to mailing list address
1180 f <forward> forward message
1181 b <bounce> bounce (remail) message
1182 E-k <mail-key> mail a PGP public key to someone
1184 Bouncing a message sends the message as is to the recipient you specify.
1185 Forwarding a message allows you to add comments or modify the message you
1186 are forwarding. These items are discussed in greater detail in the next
1187 chapter forwarding-mail.
1189 6.1. Composing new messages
1191 When you want to send an email using mutt-ng, simply press m on your
1192 keyboard. Then, mutt-ng asks for the recipient via a prompt in the last
1197 After you've finished entering the recipient(s), press return. If you want
1198 to send an email to more than one recipient, separate the email addresses
1199 using the comma ",". Mutt-ng then asks you for the email subject. Again,
1200 press return after you've entered it. After that, mutt-ng got the most
1201 important information from you, and starts up an editor where you can then
1204 The editor that is called is selected in the following way: you can e.g.
1205 set it in the mutt-ng configuration:
1207 set editor = "vim +/^$/ -c ':set tw=72'"
1209 set editor = "emacs"
1211 If you don't set your preferred editor in your configuration, mutt-ng
1212 first looks whether the environment variable $VISUAL is set, and if so, it
1213 takes its value as editor command. Otherwise, it has a look at $EDITOR and
1214 takes its value if it is set. If no editor command can be found, mutt-ng
1215 simply assumes vi(1) to be the default editor, since it's the most
1216 widespread editor in the Unix world and it's pretty safe to assume that it
1217 is installed and available.
1219 When you've finished entering your message, save it and quit your editor.
1220 Mutt-ng will then present you with a summary screen, the compose menu. On
1221 the top, you see a summary of the most important available key commands.
1222 Below that, you see the sender, the recipient(s), Cc and/or Bcc
1223 recipient(s), the subject, the reply-to address, and optionally
1224 information where the sent email will be stored and whether it should be
1225 digitally signed and/or encrypted.
1227 Below that, you see a list of "attachments". The mail you've just entered
1228 before is also an attachment, but due to its special type (it's plain
1229 text), it will be displayed as the normal message on the receiver's side.
1231 At this point, you can add more attachments, pressing a, you can edit the
1232 recipient addresses, pressing t for the "To:" field, c for the "Cc:"
1233 field, and b for the "Bcc: field. You can also edit the subject the
1234 subject by simply pressing s or the email message that you've entered
1235 before by pressing e. You will then again return to the editor. You can
1236 even edit the sender, by pressing <esc>f, but this shall only be used with
1239 Alternatively, you can configure mutt-ng in a way that most of the above
1240 settings can be edited using the editor. Therefore, you only need to add
1241 the following to your configuration:
1245 Once you have finished editing the body of your mail message, you are
1246 returned to the compose menu. The following options are available:
1248 Table 2.9. Most commonly used Compose Menu Bindings
1250 Key Function Description
1251 a <attach-file> attach a file
1252 A <attach-message> attach message(s) to the message
1253 E-k <attach-key> attach a PGP public key
1254 d <edit-description> edit description on attachment
1255 D <detach-file> detach a file
1256 t <edit-to> edit the To field
1257 E-f <edit-from> edit the From field
1258 r <edit-reply-to> edit the Reply-To field
1259 c <edit-cc> edit the Cc field
1260 b <edit-bcc> edit the Bcc field
1261 y <send-message> send the message
1262 s <edit-subject> edit the Subject
1263 S <smime-menu> select S/MIME options
1264 f <edit-fcc> specify an ``Fcc'' mailbox
1265 p <pgp-menu> select PGP options
1266 P <postpone-message> postpone this message until later
1267 q <quit> quit (abort) sending the message
1268 w <write-fcc> write the message to a folder
1269 i <ispell> check spelling (if available on your system)
1270 C-F <forget-passphrase> wipe passphrase(s) from memory
1272 Note: The attach-message function will prompt you for a folder to attach
1273 messages from. You can now tag messages in that folder and theywill be
1274 attached to the message you are sending. Note that certainoperations like
1275 composing a new mail, replying, forwarding, etc. are not permitted when
1276 you are in that folder. The %r in $status_format will change to a 'A' to
1277 indicate that you are in attach-message mode.
1281 6.2.1. Simple Replies
1283 When you want to reply to an email message, select it in the index menu
1284 and then press r. Mutt-ng's behaviour is then similar to the behaviour
1285 when you compose a message: first, you will be asked for the recipient,
1286 then for the subject, and then, mutt-ng will start the editor with the
1287 quote attribution and the quoted message. This can e.g. look like the
1290 On Mon, Mar 07, 2005 at 05:02:12PM +0100, Michael Svensson wrote:
1291 > Bill, can you please send last month's progress report to Mr.
1292 > Morgan? We also urgently need the cost estimation for the new
1293 > production server that we want to set up before our customer's
1294 > project will go live.
1296 You can start editing the email message. It is strongly recommended to put
1297 your answer below the quoted text and to only quote what is really
1298 necessary and that you refer to. Putting your answer on top of the quoted
1299 message, is, although very widespread, very often not considered to be a
1300 polite way to answer emails.
1302 The quote attribution is configurable, by default it is set to
1304 set attribution = "On %d, %n wrote:"
1306 It can also be set to something more compact, e.g.
1308 set attribution = "attribution="* %n <%a> [%(%y-%m-%d %H:%M)]:"
1310 The example above results in the following attribution:
1312 * Michael Svensson <svensson@foobar.com> [05-03-06 17:02]:
1313 > Bill, can you please send last month's progress report to Mr.
1314 > Morgan? We also urgently need the cost estimation for the new
1315 > production server that we want to set up before our customer's
1316 > project will go live.
1318 Generally, try to keep your attribution short yet information-rich. It is
1319 not the right place for witty quotes, long "attribution" novels or
1320 anything like that: the right place for such things is - if at all - the
1321 email signature at the very bottom of the message.
1323 When you're done with writing your message, save and quit the editor. As
1324 before, you will return to the compose menu, which is used in the same way
1327 6.2.2. Group Replies
1329 In the situation where a group of people uses email as a discussion, most
1330 of the emails will have one or more recipients, and probably several "Cc:"
1331 recipients. The group reply functionalityensures that when you press g
1332 instead of r to do a reply, each and every recipient that is contained in
1333 the original message will receive a copy of the message, either as normal
1334 recipient or as "Cc:" recipient.
1338 When you use mailing lists, it's generally better to send your reply to a
1339 message only to the list instead of the list and the original author. To
1340 make this easy to use, mutt-ng features list replies.
1342 To do a list reply, simply press L. If the email contains a
1343 Mail-Followup-To: header, its value will be used as reply address.
1344 Otherwise, mutt-ng searches through all mail addresses in the original
1345 message and tries to match them a list of regular expressions which can be
1346 specified using the lists command. If any of the regular expression
1347 matches, a mailing list address has been found, and it will be used as
1350 lists linuxevent@luga\.at vuln-dev@ mutt-ng-users@
1352 Nowadays, most mailing list software like GNU Mailman adds a
1353 Mail-Followup-To: header to their emails anyway, so setting lists is
1354 hardly ever necessary in practice.
1356 6.3. Editing the message header
1358 When editing the header of your outgoing message, there are a couple of
1359 special features available.
1361 If you specify Fcc:filename Mutt-ng will pick up filename just as if you
1362 had used the edit-fcc function in the compose menu.
1364 You can also attach files to your message by specifying
1366 Attach: filename [description]
1368 where filename is the file to attach and description is an optional string
1369 to use as the description of the attached file.
1371 When replying to messages, if you remove the In-Reply-To: field from the
1372 header field, Mutt-ng will not generate a References: field, which allows
1373 you to create a new message thread.
1375 Also see the $edit_headers and $editor_headers variables
1377 6.4. Using Mutt-ng with PGP
1379 If you want to use PGP, you can specify
1383 ``E'' encrypts, ``S'' signs and ``S<id>'' signs with the given key,
1384 setting $pgp_sign_as permanently.
1386 If you have told mutt to PGP encrypt a message, it will guide you through
1387 a key selection process when you try to send the message. Mutt-ng will not
1388 ask you any questions about keys which have a certified user ID matching
1389 one of the message recipients' mail addresses. However, there may be
1390 situations in which there are several keys, weakly certified user ID
1391 fields, or where no matching keys can be found.
1393 In these cases, you are dropped into a menu with a list of keys from which
1394 you can select one. When you quit this menu, or mutt can't find any
1395 matching keys, you are prompted for a user ID. You can, as usually, abort
1396 this prompt using C-G. When you do so, mutt will return to the compose
1399 Once you have successfully finished the key selection, the message will be
1400 encrypted using the selected public keys, and sent out.
1402 Most fields of the entries in the key selection menu (see also
1403 $pgp_entry_format) have obvious meanings. But some explanations on the
1404 capabilities, flags, and validity fields are in order.
1406 The flags sequence (%f) will expand to one of the following flags:
1408 Table 2.10. PGP Key Menu Flags
1411 R The key has been revoked and can't be used.
1412 X The key is expired and can't be used.
1413 d You have marked the key as disabled.
1414 c There are unknown critical self-signature packets.
1416 The capabilities field (%c) expands to a two-character
1417 sequencerepresenting a key's capabilities. The first character gives the
1418 key's encryption capabilities: A minus sign (- )means that the key cannot
1419 be used for encryption. A dot (. )means that it's marked as a signature
1420 key in one of the user IDs, but may also be used for encryption. The
1421 letter e indicates that this key can be used for encryption.
1423 The second character indicates the key's signing capabilities. Once again,
1424 a ``-'' implies ``not for signing'', ``.'' implies that the key is marked
1425 as an encryption key in one of the user-ids, and ``s'' denotes a key which
1426 can be used for signing.
1428 Finally, the validity field (%t) indicates how well-certified a user-id
1429 is. A question mark (?) indicates undefined validity, a minus character
1430 (-) marks an untrusted association, a space character means a partially
1431 trusted association, and a plus character (+ ) indicates complete
1434 6.5. Sending anonymous messages via mixmaster
1436 You may also have configured mutt to co-operate with Mixmaster, an
1437 anonymous remailer. Mixmaster permits you to send your messages
1438 anonymously using a chain of remailers. Mixmaster support in mutt is for
1439 mixmaster version 2.04 (beta 45 appears to be the latest) and 2.03. It
1440 does not support earlier versions or the later so-called version 3 betas,
1441 of which the latest appears to be called 2.9b23.
1443 To use it, you'll have to obey certain restrictions. Most important, you
1444 cannot use the Cc and Bcc headers. To tell Mutt-ng to use mixmaster, you
1445 have to select a remailer chain, using the mix function on the compose
1448 The chain selection screen is divided into two parts. In the (larger)
1449 upper part, you get a list of remailers you may use. In the lower part,
1450 you see the currently selected chain of remailers.
1452 You can navigate in the chain using the chain-prev and chain-next
1453 functions, which are by default bound to the left and right arrows and to
1454 the h and l keys (think vi keyboard bindings). To insert a remailer at the
1455 current chain position, use the insert function. To append a remailer
1456 behind the current chain position, use select-entry or append . You can
1457 also delete entries from the chain, using the corresponding function.
1458 Finally, to abandon your changes, leave the menu, or accept them pressing
1459 (by default) the Return key.
1461 Note that different remailers do have different capabilities, indicated in
1462 the %c entry of the remailer menu lines (see $mix_entry_format). Most
1463 important is the ``middleman'' capability, indicated by a capital ``M'':
1464 This means that the remailer in question cannot be used as the final
1465 element of a chain, but will only forward messages to other mixmaster
1466 remailers. For details on the other capabilities, please have a look at
1467 the mixmaster documentation.
1469 7. Forwarding and Bouncing Mail
1471 Often, it is necessary to forward mails to other people. Therefore,
1472 mutt-ng supports forwarding messages in two different ways.
1474 The first one is regular forwarding, as you probably know it from other
1475 mail clients. You simply press f, enter the recipient email address, the
1476 subject of the forwarded email, and then you can edit the message to be
1477 forwarded in the editor. The forwarded message is separated from the rest
1478 of the message via the two following markers:
1480 ----- Forwarded message from Lucas User <luser@example.com> -----
1482 From: Lucas User <luser@example.com>
1483 Date: Thu, 02 Dec 2004 03:08:34 +0100
1484 To: Michael Random <mrandom@example.com>
1485 Subject: Re: blackmail
1487 Pay me EUR 50,000.- cash or your favorite stuffed animal will die
1490 ----- End forwarded message -----
1492 When you're done with editing the mail, save and quit the editor, and you
1493 will return to the compose menu, the same menu you also encounter when
1494 composing or replying to mails.
1496 The second mode of forwarding emails with mutt-ng is the so-called
1497 bouncing: when you bounce an email to another address, it will be sent in
1498 practically the same format you send it (except for headers that are
1499 created during transporting the message). To bounce a message, press b and
1500 enter the recipient email address. By default, you are then asked whether
1501 you really want to bounce the message to the specified recipient. If you
1502 answer with yes, the message will then be bounced.
1504 To the recipient, the bounced email will look as if he got it like a
1505 regular email where he was Bcc: recipient. The only possibility to find
1506 out whether it was a bounced email is to carefully study the email headers
1507 and to find out which host really sent the email.
1511 At times it is desirable to delay sending a message that you have already
1512 begun to compose. When the postpone-message function is used in the
1513 compose menu, the body of your message and attachments are stored in the
1514 mailbox specified by the $postponed variable. This means that you can
1515 recall the message even if you exit Mutt-ng and then restart it at a later
1518 Once a message is postponed, there are several ways to resume it. From the
1519 command line you can use the ``-p'' option, or if you compose a new
1520 message from the index or pager you will be prompted if postponed messages
1521 exist. If multiple messages are currently postponed, the postponed menu
1522 will pop up and you can select which message you would like to resume.
1524 Note: If you postpone a reply to a message, the reply setting of the
1525 message is only updated when you actually finish the message and send it.
1526 Also, you must be in the same folder with the message you replied to for
1527 the status of the message to be updated.
1529 See also the $postpone quad-option.
1531 Chapter 3. Configuration
1535 1. Locations of Configuration Files
1537 2. Basic Syntax of Initialization Files
1539 3. Expansion within variables
1541 3.1. Commands' Output
1543 3.2. Environment Variables
1545 3.3. Configuration Variables
1547 3.4. Self-Defined Variables
1549 3.5. Pre-Defined Variables
1551 3.6. Type Conversions
1553 4. Defining/Using aliases
1555 5. Changing the default key bindings
1557 6. Defining aliases for character sets
1559 7. Setting variables based upon mailbox
1563 9. Using color and mono video attributes
1565 10. Ignoring (weeding) unwanted message headers
1567 11. Alternative addresses
1573 12.2. Receiving: Display Setup
1577 12.4. Additional Notes
1581 14. Using Multiple spool mailboxes
1583 15. Defining mailboxes which receive mail
1585 16. User defined headers
1587 17. Defining the order of headers when viewing messages
1589 18. Specify default save filename
1591 19. Specify default Fcc: mailbox when composing
1593 20. Specify default save filename and default Fcc: mailbox at once
1595 21. Change settings based upon message recipients
1597 22. Change settings before formatting a message
1599 23. Choosing the cryptographic key of the recipient
1601 24. Adding key sequences to the keyboard buffer
1603 25. Executing functions
1609 28. Setting variables
1611 29. Reading initialization commands from another file
1617 31.1. Character Sets
1619 31.2. Modularization
1621 31.3. Conditional parts
1623 32. Obsolete Variables
1625 1. Locations of Configuration Files
1627 While the default configuration (or ``preferences'') make Mutt-ng usable
1628 right out of the box, it is often desirable to tailor Mutt-ng to suit your
1629 own tastes. When Mutt-ng is first invoked, it will attempt to read the
1630 ``system'' configuration file (defaults set by your local system
1631 administrator), unless the ``-n'' commandline option is specified. This
1632 file is typically /usr/local/share/muttng/Muttngrc or /etc/Muttngrc ,
1633 Mutt-ng users will find this file in /usr/local/share/muttng/Muttrc or
1634 /etc/Muttngrc. Mutt will next look for a file named .muttrc in your home
1635 directory, Mutt-ng will look for .muttngrc. If this file does not exist
1636 and your home directory has a subdirectory named .mutt , mutt try to load
1637 a file named .muttng/muttngrc.
1639 .muttrc (or .muttngrc for Mutt-ng) is the file where you will usually
1640 place your commands to configure Mutt-ng.
1642 2. Basic Syntax of Initialization Files
1644 An initialization file consists of a series of commands. Each line of the
1645 file may contain one or more commands. When multiple commands are used,
1646 they must be separated by a semicolon (;).
1648 set realname='Mutt-ng user' ; ignore x-
1650 The hash mark, or pound sign (``#''), is used as a ``comment'' character.
1651 You can use it to annotate your initialization file. All text after the
1652 comment character to the end of the line is ignored. For example,
1654 my_hdr X-Disclaimer: Why are you listening to me? # This is a comment
1656 Single quotes (') and double quotes (") can be used to quote strings which
1657 contain spaces or other special characters. The difference between the two
1658 types of quotes is similar to that of many popular shell programs, namely
1659 that a single quote is used to specify a literal string (one that is not
1660 interpreted for shell variables or quoting with a backslash (see next
1661 paragraph), while double quotes indicate a string for which should be
1662 evaluated. For example, backtics are evaluated inside of double quotes,
1663 but not for single quotes.
1665 \ quotes the next character, just as in shells such as bash and zsh. For
1666 example, if want to put quotes ``"'' inside of a string, you can use ``\''
1667 to force the next character to be a literal instead of interpreted
1670 set realname="Michael \"MuttDude\" Elkins"
1672 ``\\'' means to insert a literal ``\'' into the line. ``\n'' and ``\r''
1673 have their usual C meanings of linefeed and carriage-return, respectively.
1675 A \ at the end of a line can be used to split commands over multiple
1676 lines, provided that the split points don't appear in the middle of
1679 Please note that, unlike the various shells, mutt-ng interprets a ``\'' at
1680 the end of a line also in comments. This allows you to disable a command
1681 split over multiple lines with only one ``#''.
1684 set realname="Michael \"MuttDude\" Elkins"
1686 When testing your config files, beware the following caveat. The backslash
1687 at the end of the commented line extends the current line with the next
1688 line - then referred to as a ``continuation line''. As the first line is
1689 commented with a hash (#) all following continuation lines are also part
1690 of a comment and therefore are ignored, too. So take care of comments when
1691 continuation lines are involved within your setup files!
1701 line1 ``continues'' until line4. however, the part after the # is a
1702 comment which includes line3 and line4. line5 is a new line of its own and
1703 thus is interpreted again.
1705 The commands understood by mutt are explained in the next paragraphs. For
1706 a complete list, see the commands.
1708 3. Expansion within variables
1710 Besides just assign static content to variables, there's plenty of ways of
1711 adding external and more or less dynamic content.
1713 3.1. Commands' Output
1715 It is possible to substitute the output of a Unix command in an
1716 initialization file. This is accomplished by enclosing the command in
1717 backquotes (``) as in, for example:
1719 my_hdr X-Operating-System: `uname -a`
1721 The output of the Unix command ``uname -a'' will be substituted before the
1722 line is parsed. Note that since initialization files are line oriented,
1723 only the first line of output from the Unix command will be substituted.
1725 3.2. Environment Variables
1727 UNIX environments can be accessed like the way it is done in shells like
1728 sh and bash: Prepend the name of the environment by a ``$'' sign. For
1731 set record=+sent_on_$HOSTNAME
1733 sets the $record variable to the string +sent_on_ and appends the value of
1734 the evironment variable $HOSTNAME.
1736 Note: There will be no warning if an environment variable is not defined.
1737 The result will of the expansion will then be empty.
1739 3.3. Configuration Variables
1741 As for environment variables, the values of all configuration variables as
1742 string can be used in the same way, too. For example,
1744 set imap_home_namespace = $folder
1746 would set the value of $imap_home_namespace to the value to which $folder
1747 is currently set to.
1749 Note: There're no logical links established in such cases so that the the
1750 value for $imap_home_namespace won't change even if $folder gets changed.
1752 Note: There will be no warning if a configuration variable is not defined
1753 or is empty. The result will of the expansion will then be empty.
1755 3.4. Self-Defined Variables
1757 Mutt-ng flexibly allows users to define their own variables. To avoid
1758 conflicts with the standard set and to prevent misleading error messages,
1759 there's a reserved namespace for them: all user-defined variables must be
1760 prefixed with user_ and can be used just like any ordinary configuration
1761 or environment variable.
1763 For example, to view the manual, users can either define two macros like
1766 macro generic <F1> "!less -r /path/to/manual" "Show manual"
1767 macro pager <F1> "!less -r /path/to/manual" "Show manual"
1769 for generic, pager and index .The alternative is to define a custom
1772 set user_manualcmd = "!less -r /path/to_manual"
1773 macro generic <F1> "$user_manualcmd<enter>" "Show manual"
1774 macro pager <F1> "$user_manualcmd<enter>" "Show manual"
1775 macro index <F1> "$user_manualcmd<enter>" "Show manual"
1777 to re-use the command sequence as in:
1779 macro index <F2> "$user_manualcmd | grep '\^[ ]\\+~. '" "Show Patterns"
1781 Using this feature, arbitrary sequences can be defined once and recalled
1782 and reused where necessary. More advanced scenarios could include to save
1783 a variable's value at the beginning of macro sequence and restore it at
1786 When the variable is first defined, the first value it gets assigned is
1787 also the initial value to which it can be reset using the reset command.
1789 The complete removal is done via the unset keyword.
1791 After the following sequence:
1796 the variable $user_foo has a current value of 666 and an initial of 42.
1801 will show 666. After doing the reset via
1805 a following query will give 42 as the result. After unsetting it via
1809 any query or operation (except the noted expansion within other
1810 statements) will lead to an error message.
1812 3.5. Pre-Defined Variables
1814 In order to allow users to share one setup over a number of different
1815 machines without having to change its contents, there's a number of
1816 pre-defined variables. These are prefixed with muttng_ and are read-only,
1817 i.e. they cannot be set, unset or reset. The reference chapter lists all
1818 available variables.
1820 Please consult the local copy of your manual for their values as they may
1821 differ from different manual sources. Where the manual is installed in can
1822 be queried (already using such a variable) by running:
1824 $ muttng -Q muttng_docdir
1826 To extend the example for viewing the manual via self-defined variables,
1827 it can be made more readable and more portable by changing the real path
1830 set user_manualcmd = '!less -r /path/to_manual'
1834 set user_manualcmd = "!less -r $muttng_docdir/manual.txt"
1836 which works everywhere if a manual is installed.
1838 Please note that by the type of quoting, muttng determines when to expand
1839 these values: when it finds double quotes, the value will be expanded
1840 during reading the setup files but when it finds single quotes, it'll
1841 expand it at runtime as needed.
1843 For example, the statement
1845 folder-hook . "set user_current_folder = $muttng_folder_name"
1847 will be already be translated to the following when reading the startup
1850 folder-hook . "set user_current_folder = some_folder"
1852 with some_folder being the name of the first folder muttng opens. On the
1855 folder-hook . 'set user_current_folder = $muttng_folder_name'
1857 will be executed at runtime because of the single quotes so that
1858 user_current_folder will always have the value of the currently opened
1861 A more practical example is:
1863 folder-hook . 'source ~/.mutt/score-$muttng_folder_name'
1865 which can be used to source files containing score commands depending on
1866 the folder the user enters.
1868 3.6. Type Conversions
1870 A note about variable's types during conversion: internally values are
1871 stored in internal types but for any dump/query or set operation they're
1872 converted to and from string. That means that there's no need to worry
1873 about types when referencing any variable. As an example, the following
1874 can be used without harm (besides makeing muttng very likely behave
1878 set folder = $read_inc
1879 set read_inc = $folder
1880 set user_magic_number = 42
1881 set folder = $user_magic_number
1883 4. Defining/Using aliases
1885 Usage: aliaskey address [, address,...]
1887 It's usually very cumbersome to remember or type out the address of
1888 someone you are communicating with. Mutt-ng allows you to create
1889 ``aliases'' which map a short string to a full address.
1891 Note: if you want to create an alias for a group (by specifying more than
1892 one address), you must separate the addresses with a comma (``,'').
1894 To remove an alias or aliases (``*'' means all aliases):
1896 Usage: unalias[* | key ... ]
1898 alias muttdude me@cs.hmc.edu (Michael Elkins)
1899 alias theguys manny, moe, jack
1901 Unlike other mailers, Mutt-ng doesn't require aliases to be defined in a
1902 special file. The alias command can appear anywhere in a configuration
1903 file, as long as this file is source. Consequently, you can have multiple
1904 alias files, or you can have all aliases defined in your muttrc.
1906 On the other hand, the <create-alias> function can use only one file, the
1907 one pointed to by the $alias_file variable (which is ~/.muttrc by
1908 default). This file is not special either, in the sense that Mutt-ng will
1909 happily append aliases to any file, but in order for the new aliases to
1910 take effect you need to explicitly source this file too.
1914 source /usr/local/share/Mutt-ng.aliases
1915 source ~/.mail_aliases
1916 set alias_file=~/.mail_aliases
1918 To use aliases, you merely use the alias at any place in mutt where
1919 muttprompts for addresses, such as the To: or Cc: prompt. You can also
1920 enter aliases in your editor at the appropriate headers if you have the
1921 $editor_headers variable set.
1923 In addition, at the various address prompts, you can use the tab character
1924 to expand a partial alias to the full alias. If there are multiple
1925 matches, mutt will bring up a menu with the matching aliases. In order to
1926 be presented with the full list of aliases, you must hit tab with out a
1927 partial alias, such as at the beginning of the prompt or after a comma
1928 denoting multiple addresses.
1930 In the alias menu, you can select as many aliases as you want with the
1931 select-entry key (default: RET), and use the exit key (default: q) to
1932 return to the address prompt.
1934 5. Changing the default key bindings
1936 Usage: bindmap key function
1938 This command allows you to change the default key bindings (operation
1939 invoked when pressing a key).
1941 map specifies in which menu the binding belongs. Multiple maps may be
1942 specified by separating them with commas (no additional whitespace
1943 isallowed). The currently defined maps are:
1947 This is not a real menu, but is used as a fallback for all of the
1948 other menus except for the pager and editor modes. If a key is not
1949 defined in another menu, Mutt-ng will look for a binding to use in
1950 this menu. This allows you to bind a key to a certain function in
1951 multiple menus instead of having multiple bind statements to
1952 accomplish the same task.
1956 The alias menu is the list of your personal aliases as defined in
1957 your muttrc. It is the mapping from a short alias name to the full
1958 email address(es) of the recipient(s).
1962 The attachment menu is used to access the attachments on received
1967 The browser is used for both browsing the local directory
1968 structure, and for listing all of your incoming mailboxes.
1972 The editor is the line-based editor the user enters text data.
1976 The index is the list of messages contained in a mailbox.
1980 The compose menu is the screen used when sending a new message.
1984 The pager is the mode used to display message/attachment data, and
1989 The pgp menu is used to select the OpenPGP keys used for
1990 encrypting outgoing messages.
1994 The postpone menu is similar to the index menu, except is used
1995 when recalling a message the user was composing, but saved until
1998 key is the key (or key sequence) you wish to bind. To specify a control
1999 character, use the sequence \Cx, where x is the letter of the control
2000 character (for example, to specify control-A use ``\Ca''). Note that the
2001 case of x as well as \C is ignored, so that \CA, \Ca, \cA and \ca are all
2002 equivalent. An alternative form is to specify the key as a three digit
2003 octal number prefixed with a ``\'' (for example \177 is equivalent to
2006 In addition, key may consist of:
2008 Table 3.1. Alternative Key Names
2010 Sequence Description
2013 <backtab> backtab / shift-tab
2023 <pagedown> Page Down
2024 <backspace> Backspace
2033 <f10> function key 10
2035 key does not need to be enclosed in quotes unless it contains a space (``
2038 function specifies which action to take when key is pressed. For a
2039 complete list of functions, see the functions. The special function noop
2040 unbinds the specified key sequence.
2042 6. Defining aliases for character sets
2044 Usage: charset-hookaliascharset
2046 Usage: iconv-hookcharsetlocal-charset
2048 The charset-hook command defines an alias for a character set. This is
2049 useful to properly display messages which are tagged with a character set
2050 name not known to mutt.
2052 The iconv-hook command defines a system-specific name for a character set.
2053 This is helpful when your systems character conversion library insists on
2054 using strange, system-specific names for character sets.
2056 7. Setting variables based upon mailbox
2058 Usage: folder-hook [!]regexpcommand
2060 It is often desirable to change settings based on which mailbox you are
2061 reading. The folder-hook command provides a method by which you can
2062 execute any configuration command. regexp is a regular expression
2063 specifying in which mailboxes to execute command before loading. If a
2064 mailbox matches multiple folder-hook's, they are executed in the order
2065 given in the muttrc.
2067 Note: if you use the ``!'' shortcut for $spoolfile at the beginning of the
2068 pattern, you must place it inside of double or single quotes in order to
2069 distinguish it from the logical not operator for the expression.
2071 Note that the settings are not restored when you leave the mailbox. For
2072 example, a command action to perform is to change the sorting methodbased
2073 upon the mailbox being read:
2075 folder-hook mutt set sort=threads
2077 However, the sorting method is not restored to its previous value when
2078 reading a different mailbox. To specify a default command, use the pattern
2081 folder-hook . set sort=date-sent
2085 Usage: macromenu key sequence [description]
2087 Macros are useful when you would like a single key to perform a series of
2088 actions. When you press key in menu menu ,Mutt-ng will behave as if you
2089 had typed sequence. So if you have a common sequence of commands you type,
2090 you can create a macro to execute those commands with a singlekey.
2092 menu is the maps which the macro will be bound. Multiple maps may be
2093 specified by separating multiple menu arguments by commas. Whitespace may
2094 not be used in between the menu arguments and thecommas separating them.
2096 key and sequence are expanded by the same rules as the bind. There are
2097 some additions however. The first is that control characters in sequence
2098 can also be specified as ^x. In order to get a caret (`^'') you need to
2099 specify it twice. Secondly, to specify a certain key such as up or to
2100 invoke a function directly, you can use the format <key name> and
2101 <function name> .For a listing of key names see the section on bind.
2102 Functions are listed in the functions.
2104 The advantage with using function names directly is that the macros
2105 willwork regardless of the current key bindings, so they are not dependent
2106 on the user having particular key definitions. This makes them more
2107 robustand portable, and also facilitates defining of macros in files used
2108 by more than one user (eg. the system Muttngrc).
2110 Optionally you can specify a descriptive text after sequence, which is
2111 shown in the help screens.
2113 Note: Macro definitions (if any) listed in the help screen(s), are
2114 silently truncated at the screen width, and are not wrapped.
2116 9. Using color and mono video attributes
2118 Usage: colorobject foreground background [regexp]
2120 Usage: colorindex foreground pattern
2122 Usage: uncolorindex pattern [pattern ...]
2124 If your terminal supports color, you can spice up Mutt-ng by creating your
2125 own color scheme. To define the color of an object (type of information),
2126 you must specify both a foreground color and a background color (it is not
2127 possible to only specify one or the other).
2129 object can be one of:
2133 o body (match regexp in the body of messages)
2135 o bold (highlighting bold patterns in the body of messages)
2137 o error (error messages printed by Mutt-ng)
2139 o header (match regexp in the message header)
2141 o hdrdefault (default color of the message header in the pager)
2143 o index (match pattern in the message index)
2145 o indicator (arrow or bar used to indicate the current item in a menu)
2147 o markers (the ``+'' markers at the beginning of wrapped lines in the
2150 o message (informational messages)
2154 o quoted (text matching $quote_regexp in the body of a message)
2156 o quoted1, quoted2, ..., quotedN (higher levels of quoting)
2158 o search (highlighting of words in the pager)
2162 o status (mode lines used to display info about the mailbox or message)
2164 o tilde (the ``~'' used to pad blank lines in the pager)
2166 o tree (thread tree drawn in the message index and attachment menu)
2168 o underline (highlighting underlined patterns in the body of messages)
2170 foreground and background can be one of the following:
2192 foreground can optionally be prefixed with the keyword bright to make the
2193 foreground color boldfaced (e.g., brightred).
2195 If your terminal supports it, the special keyword default can be used as a
2196 transparent color. The value brightdefault is also valid. If Mutt-ng is
2197 linked against the S-Lang library, you also need to set the $COLORFGBG
2198 environment variable to the default colors of your terminal for this to
2199 work; for example (for Bourne-like shells):
2201 set COLORFGBG="green;black"
2204 Note: The S-Lang library requires you to use the lightgray and brown
2205 keywords instead of white and yellow when setting this variable.
2207 Note: The uncolor command can be applied to the index object only. It
2208 removes entries from the list. You must specify the same pattern specified
2209 in the color command for it to be removed. The pattern ``*'' is a special
2210 token which means to clear the color index list of all entries.
2212 Mutt-ng also recognizes the keywords color0, color1 ,..., colorN-1 (N
2213 being the number of colors supported by your terminal). This is useful
2214 when you remap the colors for your display (for example by changing the
2215 color associated with color2 for your xterm), since color names may then
2216 lose their normal meaning.
2218 If your terminal does not support color, it is still possible change the
2219 video attributes through the use of the ``mono'' command:
2221 Usage: monoobject attribute [regexp]
2223 Usage: monoindex attribute pattern
2225 Usage: unmonoindex pattern [pattern ...]
2227 where attribute is one of the following:
2239 10. Ignoring (weeding) unwanted message headers
2241 Usage: ignorepattern [pattern ...]
2243 Usage: unignorepattern [pattern ...]
2245 Messages often have many header fields added by automatic processing
2246 systems, or which may not seem useful to display on the screen. This
2247 command allows you to specify header fields which you don't normally want
2250 You do not need to specify the full header field name. For example,
2251 ``ignore content-'' will ignore all header fields that begin with the
2252 pattern ``content-''. ``ignore *'' will ignore all headers.
2254 To remove a previously added token from the list, use the ``unignore''
2255 command. The ``unignore'' command will make Mutt-ng display headers with
2256 the given pattern. For example, if you do ``ignore x-'' it is possible to
2257 ``unignore x-mailer''.
2259 ``unignore *'' will remove all tokens from the ignore list.
2263 # Sven's draconian header weeding
2265 unignore from date subject to cc
2266 unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
2269 11. Alternative addresses
2271 Usage: alternatesregexp [regexp ...]
2273 Usage: unalternatesregexp [regexp ...]
2275 With various functions, mutt will treat messages differently, depending on
2276 whether you sent them or whether you received them from someone else. For
2277 instance, when replying to a message that you sent to a different party,
2278 mutt will automatically suggest to send the response to the original
2279 message's recipients--responding to yourself won't make much sense in many
2280 cases. (See $reply_to.)
2282 Many users receive e-mail under a number of different addresses. To fully
2283 use mutt's features here, the program must be able to recognize what
2284 e-mail addresses you receive mail under. That's the purpose of the
2285 alternates command: It takes a list of regular expressions, each of which
2286 can identify an address under which you receive e-mail.
2288 The unalternates command can be used to write exceptions to alternates
2289 patterns. If an address matches something in an alternates command, but
2290 you nonetheless do not think it is from you, you can list a more precise
2291 pattern under an unalternates command.
2293 To remove a regular expression from the alternates list, use the
2294 unalternates command with exactly the same regexp . Likewise, if the
2295 regexp for a alternates command matches an entry on the unalternates list,
2296 that unalternates entry will be removed. If the regexp for unalternates is
2297 ``*'', all entries on alternates will be removed.
2303 Mutt-ng contains support for so-called format=flowed messages. In the
2304 beginning of email, each message had a fixed line width, and it was enough
2305 for displaying them on fixed-size terminals. But times changed, and
2306 nowadays hardly anybody still uses fixed-size terminals: more people
2307 nowaydays use graphical user interfaces, with dynamically resizable
2308 windows. This led to the demand of a new email format that makes it
2309 possible for the email client to make the email look nice in a resizable
2310 window without breaking quoting levels and creating an incompatible email
2311 format that can also be displayed nicely on old fixed-size terminals.
2313 For introductory information on format=flowed messages, see
2314 <http://www.joeclark.org/ffaq.html>.
2316 12.2. Receiving: Display Setup
2318 When you receive emails that are marked as format=flowed messages, and is
2319 formatted correctly, mutt-ng will try to reformat the message to optimally
2320 fit on your terminal. If you want a fixed margin on the right side of your
2321 terminal, you can set the following:
2325 The code above makes the line break 10 columns before the right side of
2328 If your terminal is so wide that the lines are embarrassingly long, you
2329 can also set a maximum line length:
2331 set max_line_length = 120
2333 The example above will give you lines not longer than 120 characters.
2335 When you view at format=flowed messages, you will often see the quoting
2336 hierarchy like in the following example:
2338 >Bill, can you please send last month's progress report to Mr.
2339 >Morgan? We also urgently need the cost estimation for the new
2340 >production server that we want to set up before our customer's
2341 >project will go live.
2343 This obviously doesn't look very nice, and it makes it very hard to
2344 differentiate between text and quoting character. The solution is to
2345 configure mutt-ng to "stuff" the quoting:
2349 This will lead to a nicer result that is easier to read:
2351 > Bill, can you please send last month's progress report to Mr.
2352 > Morgan? We also urgently need the cost estimation for the new
2353 > production server that we want to set up before our customer's
2354 > project will go live.
2358 If you want mutt-ng to send emails with format=flowed set, you need to
2363 Additionally, you have to use an editor which supports writing
2364 format=flowed-conforming emails. For vim(1), this is done by adding w to
2365 the formatoptions (see :h formatoptions and :h fo-table) when writing
2368 Also note that format=flowed knows about ``space-stuffing'', that is, when
2369 sending messages, some kinds of lines have to be indented with a single
2370 space on the sending side. On the receiving side, the first space (if any)
2371 is removed. As a consequence and in addition to the above simple setting,
2372 please keep this in mind when making manual formattings within the editor.
2373 Also note that mutt-ng currently violates the standard (RfC 3676) as it
2374 does not space-stuff lines starting with:
2376 o > This is not the quote character but a right angle used for other
2379 Please make sure that you manually prepend a space to each of them.
2381 12.4. Additional Notes
2383 For completeness, the $delete_space variable provides the mechanism to
2384 generate a DelSp=yes parameter on outgoing messages. According to the
2385 standard, clients receiving a format=flowed messages should delete the
2386 last space of a flowed line but still interpret the line as flowed.
2387 Because flowed lines usually contain only one space at the end, this
2388 parameter would make the receiving client concatenate the last word of the
2389 previous with the first of the current line without a space. This makes
2390 ordinary text unreadable and is intended for languages rarely using
2391 spaces. So please use this setting only if you're sure what you're doing.
2395 Usage: listsregexp [regexp ...]
2397 Usage: unlistsregexp [regexp ...]
2399 Usage: subscriberegexp [regexp ...]
2401 Usage: unsubscriberegexp [regexp ...]
2403 Mutt-ng has a few nice features for using-lists. In order to take
2404 advantage of them, you must specify which addresses belong to mailing
2405 lists, and which mailing lists you are subscribed to. Once you have done
2406 this, the list-reply function will work for all known lists. Additionally,
2407 when you send a message to a subscribed list, mutt will add a
2408 Mail-Followup-To header to tell other users' mail user agents not to send
2409 copies of replies to your personal address. Note that the Mail-Followup-To
2410 header is a non-standard extension which is not supported by all mail user
2411 agents. Adding it is not bullet-proof against receiving personal CCs of
2412 list messages. Also note that the generation of the Mail-Followup-To
2413 header is controlled by the $followup_to configuration variable.
2415 More precisely, Mutt-ng maintains lists of patterns for the addresses of
2416 known and subscribed mailing lists. Every subscribed mailing list is
2417 known. To mark a mailing list as known, use the ``lists'' command. To mark
2418 it as subscribed, use ``subscribe''.
2420 You can use regular expressions with both commands. To mark all messages
2421 sent to a specific bug report's address on mutt's bug tracking system as
2422 list mail, for instance, you could say ``subscribe [0-9]*@bugs.guug.de''.
2423 Often, it's sufficient to just give a portion of the list's e-mail
2426 Specify as much of the address as you need to to remove ambiguity. For
2427 example, if you've subscribed to the Mutt-ng mailing list, you will
2428 receive mail addressed to mutt-users@mutt.org. So, to tell Mutt-ng that
2429 this is a mailing list, you could add ``lists mutt-users'' to your
2430 initialization file. To tell mutt that you are subscribed to it, add
2431 ``subscribe mutt-users'' to your initialization file instead. If you also
2432 happen to get mail from someone whose address is mutt-users@example.com,
2433 you could use ``lists mutt-users@mutt\\.org'' or ``subscribe
2434 mutt-users@mutt\\.org'' to match only mail from the actual list.
2436 The ``unlists'' command is used to remove a token from the list of known
2437 and subscribed mailing-lists. Use ``unlists *'' to remove all tokens.
2439 To remove a mailing list from the list of subscribed mailing lists, but
2440 keep it on the list of known mailing lists, use ``unsubscribe''.
2442 14. Using Multiple spool mailboxes
2444 Usage: mbox-hook [!]patternmailbox
2446 This command is used to move read messages from a specified mailbox to
2447 adifferent mailbox automatically when you quit or change folders. pattern
2448 is a regular expression specifying the mailbox to treat as a ``spool''
2449 mailbox and mailbox specifies where mail should be saved when read.
2451 Unlike some of the other hook commands, only the first matching pattern is
2452 used (it is not possible to save read mail in more than a single mailbox).
2454 15. Defining mailboxes which receive mail
2456 Usage: mailboxes[!]filename [filename ... ]
2458 Usage: unmailboxes[!]filename [filename ... ]
2460 This command specifies folders which can receive mail and which will be
2461 checked for new messages. By default, the main menu status bar displays
2462 how many of these folders have new messages.
2464 When changing folders, pressing space will cycle through folders with new
2467 Pressing TAB in the directory browser will bring up a menu showing the
2468 files specified by the mailboxes command, and indicate which contain new
2469 messages. Mutt-ng will automatically enter this mode when invoked from the
2470 command line with the -y option.
2472 The ``unmailboxes'' command is used to remove a token from the list of
2473 folders which receive mail. Use ``unmailboxes *'' to remove all tokens.
2475 Note: new mail is detected by comparing the last modification time to the
2476 last access time. Utilities like biff or frm or any other program which
2477 accesses the mailbox might cause Mutt-ng to never detect new mail for that
2478 mailbox if they do not properly reset the access time. Backup tools are
2479 another common reason for updated access times.
2481 Note: the filenames in the mailboxes command are resolved when the command
2482 is executed, so if these names contain shortcuts (such as ``='' and
2483 ``!''), any variable definition that affect these characters (like $folder
2484 and $spoolfile) should be executed before the mailboxes command.
2486 16. User defined headers
2490 Usage: unmy_hdrfield [field ...]
2492 The ``my_hdr'' command allows you to create your own header fields which
2493 will be added to every message you send.
2495 For example, if you would like to add an ``Organization:'' header field to
2496 all of your outgoing messages, you can put the command
2498 my_hdr Organization: A Really Big Company, Anytown, USA
2502 Note: space characters are not allowed between the keyword and the colon
2503 (``:''). The standard for electronic mail (RfC 822) says that space is
2504 illegal there, so Mutt-ng enforces the rule.
2506 If you would like to add a header field to a single message, you should
2507 either set the $edit_headers variable, or use the edit-headers function
2508 (default: ``E'') in the send-menu so that you can edit the header of your
2509 message along with the body.
2511 To remove user defined header fields, use the ``unmy_hdr'' command. You
2512 may specify an asterisk (``*'') to remove all header fields, or the fields
2513 to remove. For example, to remove all ``To'' and ``Cc'' header fields, you
2518 17. Defining the order of headers when viewing messages
2520 Usage: hdr_orderheader header [header ...]
2522 Usage: unhdr_order[ * | header header ...]
2524 With this command, you can specify an order in which mutt will attempt to
2525 present headers to you when viewing messages.
2527 ``unhdr_order *'' will clear all previous headers from the order list,
2528 thus removing the header order effects set by the system-wide startup
2531 hdr_order From Date: From: To: Cc: Subject:
2533 18. Specify default save filename
2535 Usage: save-hook [!]patternfilename
2537 This command is used to override the default filename used when saving
2538 messages. filename will be used as the default filename if the message is
2539 From: an address matching regexp or if you are the author and the message
2540 is addressed to: something matching regexp .
2542 See pattern-hook for information on the exact format of pattern.
2546 save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
2547 save-hook aol\\.com$ +spam
2549 Also see the fcc-save-hook command.
2551 19. Specify default Fcc: mailbox when composing
2553 Usage: fcc-hook [!]patternmailbox
2555 This command is used to save outgoing mail in a mailbox other than
2556 $record. Mutt-ng searches the initial list of message recipients for the
2557 first matching regexp and uses mailbox as the default Fcc: mailbox. If no
2558 match is found the message will be saved to $record mailbox.
2560 See pattern-hook for information on the exact format of pattern.
2564 fcc-hook [@.]aol\\.com$ +spammers
2566 The above will save a copy of all messages going to the aol.com domain to
2567 the `+spammers' mailbox by default. Also see the fcc-save-hook command.
2569 20. Specify default save filename and default Fcc: mailbox at once
2571 Usage: fcc-save-hook [!]patternmailbox
2573 This command is a shortcut, equivalent to doing both a fcc-hook and a
2574 save-hook with its arguments.
2576 21. Change settings based upon message recipients
2578 Usage: reply-hook [!]patterncommand
2580 Usage: send-hook [!]patterncommand
2582 Usage: send2-hook [!]patterncommand
2584 These commands can be used to execute arbitrary configuration commands
2585 based upon recipients of the message. pattern is a regular expression
2586 matching the desired address. command is executed when regexp matches
2587 recipients of the message.
2589 reply-hook is matched against the message you are replying to, instead of
2590 the message you are sending .send-hook is matched against all messages,
2591 both new and replies .Note:reply-hooks are matched before the send-hook,
2592 regardless of the order specified in the users's configuration file.
2594 send2-hook is matched every time a message is changed, either by editing
2595 it, or by using the compose menu to change its recipients or subject.
2596 send2-hook is executed after send-hook ,and can, e.g., be used to set
2597 parameters such as the $sendmail variable depending on the message's
2600 For each type of send-hook or reply-hook, when multiple matches occur,
2601 commands are executed in the order they are specified in the muttrc (for
2604 See pattern-hook for information on the exact format of pattern.
2606 Example: send-hook mutt "set mime_forward signature=''"
2608 Another typical use for this command is to change the values of the
2609 $attribution, $signature and $locale variables in order to change the
2610 language of the attributions and signatures based upon the recipients.
2612 Note: the send-hook's are only executed ONCE after getting the initial
2613 list of recipients. Adding a recipient after replying or editing the
2614 message will NOT cause any send-hook to be executed. Also note that my_hdr
2615 commands which modify recipient headers, or the message's subject, don't
2616 have any effect on the current message when executed from a send-hook.
2618 22. Change settings before formatting a message
2620 Usage: message-hook [!]patterncommand
2622 This command can be used to execute arbitrary configuration commands
2623 before viewing or formatting a message based upon information about the
2624 message. command is executed if the pattern matches the message to be
2625 displayed. When multiple matches occur, commands are executed in the order
2626 they are specified in the muttrc.
2628 See pattern-hook for information on the exact format of pattern.
2632 message-hook ~A 'set pager=builtin'
2633 message-hook '~f freshmeat-news' 'set pager="less \"+/^ subject:.*\""'
2635 23. Choosing the cryptographic key of the recipient
2637 Usage: crypt-hookpatternkeyid
2639 When encrypting messages with PGP or OpenSSL, you may want to associate a
2640 certain key with a given e-mail address automatically, either because the
2641 recipient's public key can't be deduced from the destination address, or
2642 because, for some reasons, you need to override the key Mutt-ng
2643 wouldnormally use. The crypt-hook command provides a method by which you
2644 can specify the ID of the public key to be used when encrypting messages
2645 to a certain recipient.
2647 The meaning of "key id" is to be taken broadly in this context: You can
2648 either put a numerical key ID here, an e-mail address, or even just a real
2651 24. Adding key sequences to the keyboard buffer
2655 This command adds the named string to the keyboard buffer. The string may
2656 contain control characters, key names and function names like the sequence
2657 string in the macro command. You may use it to automatically run a
2658 sequence of commands at startup, or when entering certain folders. For
2659 example, the following command will automatically collapse all threads
2660 when entering a folder:
2662 folder-hook . 'push <collapse-all>'
2664 25. Executing functions
2666 Usage: execfunction [function ... ]
2668 This command can be used to execute any function. Functions are listed in
2669 the functions. ``exec function'' is equivalent to ``push <function>''.
2673 Usage: scorepattern value
2675 Usage: unscorepattern [pattern ... ]
2677 In situations where you have to cope with a lot of emails, e.g. when you
2678 read many different mailing lists, and take part in discussions, it is
2679 always useful to have the important messages marked and the annoying
2680 messages or the ones that you aren't interested in deleted. For this
2681 purpose, mutt-ng features a mechanism called ``scoring''.
2683 When you use scoring, every message has a base score of 0. You can then
2684 use the score command to define patterns and a positive or negative value
2685 associated with it. When a pattern matches a message, the message's score
2686 will be raised or lowered by the amount of the value associated with the
2689 score "~f nion@muttng\.org" 50
2690 score "~f @sco\.com" -100
2692 If the pattern matches, it is also possible to set the score value of the
2693 current message to a certain value and then stop evaluation:
2695 score "~f santaclaus@northpole\.int" =666
2697 What is important to note is that negative score values will be rounded up
2700 To make scoring actually useful, the score must be applied in some way.
2701 That's what the score thresholds are for. Currently, there are three score
2704 o flag threshold: when a message has a score value equal or higher than
2705 the flag threshold, it will be flagged.
2707 o read threshold: when a message has a score value equal or lower than
2708 the read threshold, it will be marked as read.
2710 o delete threshold: when a message has a score value equal or lower than
2711 the delete threshold, it will be marked as deleted.
2713 These three thresholds can be set via the variables $score_threshold_read,
2714 $score_threshold_flag and $score_threshold_delete.
2716 By default, $score_threshold_read and $score_threshold_delete are set to
2717 -1, which means that in the default threshold configuration no message
2718 will ever get marked as read or deleted.
2720 Scoring gets especially interesting when combined with the color command
2723 color index black yellow "~n 10-"
2724 color index red yellow "~n 100-"
2726 The rules above mark all messages with a score between 10 and 99 with
2727 black and yellow, and messages with a score greater or equal 100 with red
2728 and yellow. This might be unusual to you if you're used to e.g. slrn's
2729 scoring mechanism, but it is more flexible, as it visually marks different
2734 Usage: spampattern format
2736 Usage: nospampattern
2738 Mutt-ng has generalized support for external spam-scoring filters. By
2739 defining your spam patterns with the spam and nospam commands, you can
2740 limit, search, and sort your mail based on its spam attributes, as
2741 determined by the external filter. You also can display the spam
2742 attributes in your index display using the %H selector in the
2743 $index_format variable. (Tip: try %?H?[%H] ? to display spam tags only
2744 when they are defined for a given message.)
2746 Your first step is to define your external filter's spam patterns using
2747 the spam command. pattern should be a regular expression that matches a
2748 header in a mail message. If any message in the mailbox matches this
2749 regular expression, it will receive a ``spam tag'' or ``spam attribute''
2750 (unless it also matches a nospam pattern -- see below.) The appearance of
2751 this attribute is entirely up to you, and is governed by the format
2752 parameter. format can be any static text, but it also can include
2753 back-references from the pattern expression. (A regular expression
2754 ``back-reference'' refers to a sub-expression contained within
2755 parentheses.) %1 is replaced with the first back-reference in the regex,
2756 %2 with the second, etc.
2758 If you're using multiple spam filters, a message can have more than one
2759 spam-related header. You can define spam patterns for each filter you use.
2760 If a message matches two or more of these patterns, and the
2761 $spam_separator variable is set to a string, then the message's spam tag
2762 will consist of all the format strings joined together, with the value of
2763 $spam_separator separating them.
2765 For example, suppose I use DCC, SpamAssassin, and PureMessage. I might
2766 define these spam settings:
2768 spam "X-DCC-.*-Metrics:.*(....)=many" "90+/DCC-%1"
2769 spam "X-Spam-Status: Yes" "90+/SA"
2770 spam "X-PerlMX-Spam: .*Probability=([0-9]+)%" "%1/PM"
2771 set spam_separator=", "
2773 If I then received a message that DCC registered with ``many'' hits under
2774 the ``Fuz2'' checksum, and that PureMessage registered with a 97%
2775 probability of being spam, that message's spam tag would read90+/DCC-Fuz2,
2776 97/PM. (The four characters before ``=many'' in a DCC report indicate the
2777 checksum used -- in this case, ``Fuz2''.)
2779 If the $spam_separator variable is unset, then each spam pattern match
2780 supersedes the previous one. Instead of getting joined format strings,
2781 you'll get only the last one to match.
2783 The spam tag is what will be displayed in the index when you use %H in the
2784 $index_format variable. It's also the string that the ~H pattern-matching
2785 expression matches against for search and limit functions. And it's what
2786 sorting by spam attribute will use as a sort key.
2788 That's a pretty complicated example, and most people's actual environments
2789 will have only one spam filter. The simpler your configuration, the more
2790 effective mutt can be, especially when it comes to sorting.
2792 Generally, when you sort by spam tag, mutt will sort lexically -- that is,
2793 by ordering strings alphnumerically. However, if a spam tag begins with a
2794 number, mutt will sort numerically first, and lexically only when two
2795 numbers are equal in value. (This is like UNIX's sort -n.) A message with
2796 no spam attributes at all -- that is, one that didn't match any of your
2797 spam patterns -- is sorted at lowest priority. Numbers are sorted next,
2798 beginning with 0 and ranging upward. Finally, non-numeric strings are
2799 sorted, with ``a'' taking lowerpriority than ``z''. Clearly, in general,
2800 sorting by spam tags is most effective when you can coerce your filter to
2801 give you a raw number. But in case you can't, mutt can still do something
2804 The nospam command can be used to write exceptions to spam patterns. If a
2805 header pattern matches something in a spam command, but you nonetheless do
2806 not want it to receive a spam tag, you can list amore precise pattern
2807 under a nospam command.
2809 If the pattern given to nospam is exactly the same as the pattern on an
2810 existing spam list entry, the effect will be to remove the entry from the
2811 spam list, instead of adding an exception. Likewise, if the pattern for a
2812 spam command matches an entry on the nospam list, that nospam entry will
2813 be removed. If the pattern for nospam is ``*'', all entries on both lists
2814 will be removed. This might be the default action if you use spam and
2815 nospam in conjunction with a folder-hook.
2817 You can have as many spam or nospam commands as you like. You can even do
2818 your own primitive spam detection within mutt -- for example, if you
2819 consider all mail from MAILER-DAEMON to be spam, you can use a spam
2822 spam "^From: .*MAILER-DAEMON" "999"
2824 28. Setting variables
2826 Usage: set[no|inv]variable [=value] [variable...]
2828 Usage: togglevariable [variable ...]
2830 Usage: unsetvariable [variable ...]
2832 Usage: resetvariable [variable ...]
2834 This command is used to set (and unset) variables. There are four basic
2835 types of variables: boolean, number, string and quadoption. boolean
2836 variables can be set (true) or unset (false). number variables can be
2837 assigned a positive integer value.
2839 string variables consist of any number of printable characters. strings
2840 must be enclosed in quotes if they contain spaces or tabs. You may also
2841 use the ``C'' escape sequences \n and \t for newline and tab,
2844 quadoption variables are used to control whether or not to be prompted for
2845 certain actions, or to specify a default action. A value of yes will cause
2846 the action to be carried out automatically as if you had answered yes to
2847 the question. Similarly, a value of no will cause the the action to be
2848 carried out as if you had answered ``no.'' A value of ask-yes will cause a
2849 prompt with a default answer of ``yes'' and ask-no will provide a default
2852 Prefixing a variable with ``no'' will unset it. Example: set noaskbcc .
2854 For boolean variables, you may optionally prefix the variable name with
2855 inv to toggle the value (on or off). This is useful when writing macros.
2856 Example: set invsmart_wrap.
2858 The toggle command automatically prepends the inv prefix to all specified
2861 The unset command automatically prepends the no prefix to all specified
2864 Using the enter-command function in the index menu, you can query the
2865 value of a variable by prefixing the name of the variable with a question
2870 The question mark is actually only required for boolean and quadoption
2873 The reset command resets all given variables to the compile time defaults
2874 (hopefully mentioned in this manual). If you use the command set and
2875 prefix the variable with ``&'' this has the same behavior as the reset
2878 With the reset command there exists the special variable ``all'', which
2879 allows you to reset all variables to their system defaults.
2881 29. Reading initialization commands from another file
2883 Usage: sourcefilename [filename ...]
2885 This command allows the inclusion of initialization commands from other
2886 files. For example, I place all of my aliases in ~/.mail_aliases so that I
2887 can make my ~/.muttrc readable and keep my aliases private.
2889 If the filename begins with a tilde (``~''), it will be expanded to the
2890 path of your home directory.
2892 If the filename ends with a vertical bar (|), then filename is considered
2893 to be an executable program from which to read input (eg. source
2898 Usage: unhook[* | hook-type]
2900 This command permits you to flush hooks you have previously defined. You
2901 can either remove all hooks by giving the ``*'' character as an argument,
2902 or you can remove all hooks of a specific type by saying something like
2907 31.1. Character Sets
2909 As users may run mutt-ng on different systems, the configuration must be
2910 maintained because it's likely that people want to use the setup
2911 everywhere they use mutt-ng. And mutt-ng tries to help where it can.
2913 To not produce conflicts with different character sets, mutt-ng allows
2914 users to specify in which character set their configuration files are
2915 encoded. Please note that while reading the configuration files, this is
2916 only respected after the corresponding declaration appears. It's advised
2917 to put the following at the very beginning of a users muttngrc:
2919 set config_charset = "..."
2921 and replacing the dots with the actual character set. To avoid problems
2922 while maintaining the setup, vim(1) user's may want to use modelines as
2925 # vim:fileencoding=...:
2927 while, again, replacing the dots with the appropriate name. This tells
2928 vim(1) as which character set to read and save the file.
2930 31.2. Modularization
2932 ``Modularization'' means to divide the setup into several files while
2933 sorting the options or commands by topic. Especially for longer setups
2934 (e.g. with many hooks), this helps maintaining it and solving trouble.
2936 When using separation, setups may be, as a whole or in fractions, shared
2937 over different systems.
2939 31.3. Conditional parts
2941 When using a configuration on different systems, the user may not always
2942 have influence on how mutt-ng is installed and which features it includes.
2944 To solve this, mutt-ng contain a feature based on the ``ifdef'' patch
2945 written for mutt. Its basic syntax is:
2947 ifdef <item> <command>
2948 ifndef <item> <command>
2950 ...whereby <item> can be one of:
2960 All available functions, variables and menus are documented elsewhere in
2961 this manual but ``features'' is specific to these two commands. To test
2962 for one, prefix one of the following keywords with feature_: ncurses,
2963 slang, iconv, idn, dotlock, standalone, pop, nntp, imap, ssl, gnutls,
2964 sasl, sasl2, libesmtp, compressed, color, classic_pgp, classic_smime,
2967 As an example, one can use the following in ~/.muttngrc:
2969 ifdef feature_imap 'source ~/.mutt-ng/setup-imap'
2970 ifdef feature_pop 'source ~/.mutt-ng/setup-pop'
2971 ifdef feature_nntp 'source ~/.mutt-ng/setup-nntp'
2973 ...to only source ~/.mutt-ng/setup-imap if IMAP support is built in, only
2974 source ~/.mutt-ng/setup-pop if POP support is built in and only source
2975 ~/.mutt-ng/setup-nntp if NNTP support is built in.
2977 An example for testing for variable names can be used if users use
2978 different revisions of mutt-ng whereby the older one may not have a
2979 certain variable. To test for the availability of $imap_mail_check use:
2981 ifdef imap_mail_check 'set imap_mail_check = 300'
2983 Provided for completeness is the test for menu names. To set
2984 $pager_index_lines only if the pager menu is available, use:
2986 ifdef pager 'set pager_index_lines = 10'
2988 For completeness, too, the opposite of ifdef is provided: ifndef which
2989 only executes the command if the test fails. For example, the following
2990 two examples are equivalent:
2992 ifdef feature_ncurses 'source ~/.mutt-ng/setup-ncurses'
2993 ifndef feature_ncurses 'source ~/.mutt-ng/setup-slang'
2997 ifdef feature_slang 'source ~/.mutt-ng/setup-slang'
2998 ifndef feature_slang 'source ~/.mutt-ng/setup-ncurses'
3000 32. Obsolete Variables
3002 In the process of ensuring and creating more consistency, many variables
3003 have been renamed and some of the old names were already removed. Please
3004 see sect-obsolete for a complete list.
3006 Chapter 4. Advanced Usage
3010 1. Regular Expressions
3014 2.1. Complex Patterns
3016 2.2. Patterns and Dates
3022 3.2. Conditional Expansion
3024 3.3. Modifications and Padding
3030 5.1. Message Matching in Hooks
3032 6. Using the sidebar
3034 7. External Address Queries
3038 9. Mailbox Shortcuts
3040 10. Handling Mailing Lists
3044 11.1. Linking threads
3046 11.2. Breaking threads
3048 12. Delivery Status Notification (DSN) Support
3050 13. POP3 Support (OPTIONAL)
3052 14. IMAP Support (OPTIONAL)
3054 14.1. The Folder Browser
3056 14.2. Authentication
3058 15. NNTP Support (OPTIONAL)
3060 15.1. Again: Scoring
3062 16. SMTP Support (OPTIONAL)
3064 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
3066 18. Start a WWW Browser on URLs (EXTERNAL)
3068 19. Compressed folders Support (OPTIONAL)
3070 19.1. Open a compressed mailbox for reading
3072 19.2. Write a compressed mailbox
3074 19.3. Append a message to a compressed mailbox
3076 19.4. Encrypted folders
3078 1. Regular Expressions
3080 All string patterns in Mutt-ng including those in more complex patterns
3081 must be specified using regular expressions (regexp) in the ``POSIX
3082 extended'' syntax (which is more or less the syntax used by egrep and GNU
3083 awk). For your convenience, we have included below a brief description of
3086 The search is case sensitive if the pattern contains at least one upper
3087 case letter, and case insensitive otherwise. Note that ``\'' must be
3088 quoted if used for a regular expression in an initialization command:
3091 A regular expression is a pattern that describes a set of strings. Regular
3092 expressions are constructed analogously to arithmetic expressions, by
3093 using various operators to combine smaller expressions.
3095 Note that the regular expression can be enclosed/delimited by either " or
3096 ' which is useful if the regular expression includes a white-space
3097 character. See muttrc-syntax for more information on " and ' delimiter
3098 processing. To match a literal " or ' you must preface it with \
3101 The fundamental building blocks are the regular expressions that match a
3102 single character. Most characters, including all letters and digits, are
3103 regular expressions that match themselves. Any metacharacter with special
3104 meaning may be quoted by preceding it with a backslash.
3106 The period ``.'' matches any single character. The caret ``^'' andthe
3107 dollar sign ``$'' are metacharacters that respectively match the empty
3108 string at the beginning and end of a line.
3110 A list of characters enclosed by ``]'' and ``]'' matches any single
3111 character in that list; if the first character of the list is a caret
3112 ``^'' then it matches any character not in the list. For example, the
3113 regular expression ]0123456789] matches any single digit. A range of ASCII
3114 characters may be specified by giving the first and last characters,
3115 separated by a hyphen ``-''. Most metacharacters lose their special
3116 meaning inside lists. To include a literal ``]'' place it first in the
3117 list. Similarly, to include a literal ``^'' place it anywhere but first.
3118 Finally, to include a literal hyphen ``-'' place it last.
3120 Certain named classes of characters are predefined. Character classes
3121 consist of ``[:'', a keyword denoting the class, and ``:]''. The following
3122 classes are defined by the POSIX standard:
3126 Alphanumeric characters.
3130 Alphabetic characters.
3134 Space or tab characters.
3146 Characters that are both printable and visible. (A space is
3147 printable, but not visible, while an ``a'' is both.)
3151 Lower-case alphabetic characters.
3155 Printable characters (characters that are not control characters.)
3159 Punctuation characters (characters that are not letter, digits,
3160 control characters, or space characters).
3164 Space characters (such as space, tab and formfeed, to name a few).
3168 Upper-case alphabetic characters.
3172 Characters that are hexadecimal digits.
3174 A character class is only valid in a regular expression inside the
3175 brackets of a character list. Note that the brackets in these class names
3176 are part of the symbolic names, and must be included in addition to the
3177 brackets delimiting the bracket list. For example, [[:digit:]] is
3178 equivalent to [0-9].
3180 Two additional special sequences can appear in character lists. These
3181 apply to non-ASCII character sets, which can have single symbols
3182 (calledcollating elements) that are represented with more than one
3183 character, as well as several characters that are equivalent for collating
3184 or sorting purposes:
3188 A collating symbol is a multi-character collating element enclosed
3189 in ``[.'' and ``.]''. For example, if ``ch'' is a collating
3190 element, then [[.ch.]] is a regexp that matches this collating
3191 element, while [ch] is a regexp that matches either ``c'' or
3196 An equivalence class is a locale-specific name for a list of
3197 characters that are equivalent. The name is enclosed in ``[='' and
3198 ``=]''. For example, the name ``e'' might be used to represent all
3199 of ``è'' ``é'' and ``e''. In this case, [[=e=]] is a regexp that
3200 matches any of ``è'', ``é'' and ``e''.
3202 A regular expression matching a single character may be followed by one of
3203 several repetition operators:
3207 The preceding item is optional and matched at most once.
3211 The preceding item will be matched zero or more times.
3215 The preceding item will be matched one or more times.
3219 The preceding item is matched exactly n times.
3223 The preceding item is matched n or more times.
3227 The preceding item is matched at most m times.
3231 The preceding item is matched at least n times, but no more than m
3234 Two regular expressions may be concatenated; the resulting regular
3235 expression matches any string formed by concatenating two substrings that
3236 respectively match the concatenated subexpressions.
3238 Two regular expressions may be joined by the infix operator ``|''; the
3239 resulting regular expression matches any string matching either
3242 Repetition takes precedence over concatenation, which in turn takes
3243 precedence over alternation. A whole subexpression may be enclosed in
3244 parentheses to override these precedence rules.
3246 Note: If you compile Mutt-ng with the GNU rx package, the following
3247 operators may also be used in regular expressions:
3251 Matches the empty string at either the beginning or the end of a
3256 Matches the empty string within a word.
3260 Matches the empty string at the beginning of a word.
3264 Matches the empty string at the end of a word.
3268 Matches any word-constituent character (letter, digit, or
3273 Matches any character that is not word-constituent.
3277 Matches the empty string at the beginning of a buffer (string).
3281 Matches the empty string at the end of a buffer.
3283 Please note however that these operators are not defined by POSIX, so they
3284 may or may not be available in stock libraries on various systems.
3288 Mutt-ng's pattern language provides a simple yet effective way to set up
3289 rules to match messages, e.g. for operations like tagging and scoring. A
3290 pattern consists of one or more sub-pattern, which can be logically
3291 grouped, ORed, and negated. For a complete listing of these patterns,
3292 please refer to table patterns in the Reference chapter.
3294 It must be noted that in this table, EXPR is a regular expression. For
3295 ranges, the forms <[MAX], >>[MIN], [MIN]- and -[MAX] are also possible.
3297 2.1. Complex Patterns
3299 It is possible to combine several sub-patterns to a more complex pattern.
3300 The most simple possibility is to logically AND several patterns by
3301 stringing them together:
3305 The pattern above matches all messages that contain ``SPAM'' in the
3306 subject and are unread.
3308 To logical OR patterns, simply use the | operator. This one especially
3309 useful when using local groups:
3311 ~f ("nion@muttng\.org"|"ak@muttng\.org"|"pdmef@muttng\.org")
3312 (~b mutt-ng|~s Mutt-ng)
3315 The first pattern matches all messages that were sent by one of the
3316 mutt-ng maintainers, while the seconds pattern matches all messages that
3317 contain ``mutt-ng'' in the message body or ``Mutt-ng'' in the subject. The
3318 third pattern matches all messages that do not contain ``@synflood\.at''
3319 in the References: header, i.e. messages that are not an (indirect) reply
3320 to one of my messages. A pattern can be logicall negated using the !
3323 2.2. Patterns and Dates
3325 When using dates in patterns, the dates must be specified in a special
3326 format, i.e. DD/MM/YYYY. If you don't specify month or year, they default
3327 to the current month or year. When using date ranges, and you specify only
3328 the minimum or the maximum, the specified date will be excluded, e.g.
3329 01/06/2005- matches against all messages after Juni 1st, 2005.
3331 It is also possible to use so-called ``error margins'' when specifying
3332 date ranges. You simply specify a date, and then the error margin. This
3333 margin needs to contain the information whether it goes ``forth'' or
3334 ``back'' in time, by using + and -. Then follows a number and a unit, i.e.
3335 y for years, m for months, w for weeks and d for days. If you use the
3336 special * sign, it means that the error margin goes to both``directions''
3343 The first pattern matches all dates between January 1st, 2005 and January
3344 1st 2006. The second pattern matches all dates between October 18th, 2004
3345 and October 4th 2004 (2 weeks before 18/10/2004), while the third pattern
3346 matches all dates 1 day around December 28th, 2004 (i.e. Dec 27th, 28th
3349 Relative dates are also very important, as they make it possible to
3350 specify date ranges between a fixed number of units and the current date.
3351 How this works can be seen in the following example:
3353 ~d >2w # messages older than two weeks
3354 ~d <3d # messages newer than 3 days
3355 ~d =1m # messages that are exactly one month old
3361 The so called Format Strings offer great flexibility when configuring
3362 mutt-ng. In short, they describe what items to print out how in menus and
3365 Basically, they work as this: for different menus and bars, there's a
3366 variable specifying the layout. For every item available, there is a so
3369 For example, when running mutt-ng on different machines or different
3370 versions for testing purposes, it may be interesting to have the following
3371 information always printed on screen when one is in the index:
3373 o the current hostname
3375 o the current mutt-ng version number
3377 The setting for the status bar of the index is controlled via the
3378 $status_format variable. For the hostname and version string, there's an
3379 expando for $status_format: %h expands to the hostname and %v to the
3380 version string. When just configuring:
3382 set status_format = "%v on %h: ..."
3384 mutt-ng will replace the sequence %v with the version string and %h with
3385 the host's name. When you are, for example, running mutt-ng version 1.5.9i
3386 on host mailhost, you'll see the following when you're in the index:
3388 Mutt-ng 1.5.9i on mailhost: ...
3390 In the index, there're more useful information one could want to see:
3392 o which mailbox is open
3394 o how man new, flagged or postponed messages
3398 To include the mailbox' name is as easy as:
3400 set status_format = "%v on %h: %B: ...
3402 When the currently opened mailbox is Inbox, this will be expanded to:
3404 Mutt-ng 1.5.9i on mailhost: Inbox: ...
3406 For the number of certain types of messages, one more feature of the
3407 format strings is extremely useful. If there aren't messages of a certain
3408 type, it may not be desired to print just that there aren't any but
3409 instead only print something if there are any.
3411 3.2. Conditional Expansion
3413 To only print the number of messages if there are new messages in the
3414 current mailbox, further extend $status_format to:
3416 set status_format = "%v on %h: %B %?n?%n new? ...
3418 This feature is called nonzero-printing and works as this: some expandos
3419 may be optionally printed nonzero, i.e. a portion of the format string is
3420 only evaluated if the value of the expando is different from zero. The
3423 %?<item>?<string if nonzero>?
3425 which tells mutt-ng to only look at <string if nonzero> if the value of
3426 the %<item%gt; expando is different from zero. In our example, we used n
3427 as the expando to check for and %n new as the optional nonzero string.
3429 But this is not all: this feature only offers one alternative: ``print
3430 something if not zero.'' Mutt-ng does, as you might guess, also provide a
3431 logically complete version: ``if zero, print something and else print
3432 something else.'' This is achieved by the following syntax for those
3433 expandos which may be printed nonzero:
3435 %?<item>?<string if nonzero>&<string if zero>?
3437 Using this we can make mutt-ng to do the following:
3439 o make it print ``n new messages'' whereby n is the count but only if
3442 o and make it print ``no new messages'' if there aren't any
3444 The corresponding configuration is:
3446 set status_format = "%v on %h: %B: %?n?%n new messages&no new messages? ...
3448 This doubles the use of the ``new messages'' string because it'll get
3449 always printed. Thus, it can be shortened to:
3451 set status_format = "%v on %h: %B: %?n?%n&no? new messages ...
3453 As you might see from this rather simple example, one can create very
3454 complex but fancy status messages. Please see the reference chapter for
3455 expandos and those which may be printed nonzero.
3457 3.3. Modifications and Padding
3459 Besides the information given so far, there're even more features of
3462 o When specifying %_<item> instead of just %<item>, mutt-ng will convert
3463 all characters in the expansion of <item> to lowercase.
3465 o When specifying %:<item> instead of just %<item>, mutt-ng will convert
3466 all dots in the expansion of <item> to underscores (_).
3468 Also, there's a feature called Padding supplied by the following two
3469 expandos: %|X and %>X .
3473 When this occurs, mutt-ng will fill the rest of the line with the
3474 character X. In our example, filling the rest of the line with
3475 dashes is done by setting:
3477 set status_format = "%v on %h: %B: %?n?%n&no? new messages %|-"
3481 Since the previous expando stops at the end of line, there must be
3482 a way to fill the gap between two items via the %>X expando: it
3483 puts as many characters X in between two items so that the rest of
3484 the line will be right-justified. For example, to not put the
3485 version string and hostname of our example on the left but on the
3486 right and fill the gap with spaces, one might use (note the space
3489 set status_format = "%B: %?n?%n&no? new messages %> (%v on %h)"
3493 Sometimes it is desirable to perform an operation on a group of messages
3494 all at once rather than one at a time. An example might be to save
3495 messages to a mailing list to a separate folder, or to delete all messages
3496 with a given subject. To tag all messages matching a pattern, use the
3497 tag-pattern function, which is bound to ``shift-T'' by default. Or you can
3498 select individual messages by hand using the ``tag-message'' function,
3499 which is bound to ``t'' by default. See patterns for Mutt-ng's pattern
3502 Once you have tagged the desired messages, you can use the ``tag-prefix''
3503 operator, which is the ``;'' (semicolon) key by default. When the
3504 ``tag-prefix'' operator is used, the next operation will be applied to all
3505 tagged messages if that operation can be used in that manner. If the
3506 $auto_tag variable is set, the next operation applies to the tagged
3507 messages automatically, without requiring the ``tag-prefix''.
3509 In macro or push commands, you can use the ``tag-prefix-cond'' operator.
3510 If there are no tagged messages, mutt will "eat" the rest of the macro to
3511 abort it's execution.Mutt-ng will stop "eating" the macro when it
3512 encounters the ``end-cond'' operator; after this operator the rest of the
3513 macro will be executed asnormal.
3517 A hook is a concept borrowed from the EMACS editor which allows you to
3518 execute arbitrary commands before performing some operation. For example,
3519 you may wish to tailor your configuration based upon which mailbox you are
3520 reading, or to whom you are sending mail. In the Mutt-ng world, a hook
3521 consists of a regexp or patterns along with a configuration
3538 for specific details on each type of hook available.
3540 Note: if a hook changes configuration settings, these changes remain
3541 effective until the end of the current mutt session. As this is generally
3542 not desired, a default hook needs to be added before all other hooks to
3543 restore configuration defaults. Here is an example with send-hook and the
3546 send-hook . 'unmy_hdr From:'
3547 send-hook '~C ^b@b\.b$' my-hdr from: c@c.c
3549 5.1. Message Matching in Hooks
3551 Hooks that act upon messages (send-hook, save-hook, fcc-hook,message-hook
3552 )are evaluated in a slightly different manner. For the other types of
3553 hooks, a regexp is sufficient. But in dealing with messages a finer grain
3554 of control is needed for matching since for different purposes you want to
3555 match different criteria.
3557 Mutt-ng allows the use of the patterns language for matching messages in
3558 hook commands. This works in exactly the same way as it would when
3559 limiting orsearching the mailbox, except that you are restricted to those
3560 operators which match information mutt extracts from the header of the
3561 message (i.e. from, to, cc, date, subject, etc.).
3563 For example, if you wanted to set your return address based upon sending
3564 mail to a specific address, you could do something like:
3566 send-hook '~t ^me@cs\.hmc\.edu$' 'my-hdr From: Mutt-ng User <user@host>'
3568 which would execute the given command when sending mail to me@cs.hmc.edu.
3570 However, it is not required that you write the pattern to match using the
3571 full searching language. You can still specify a simple regular expression
3572 like the other hooks, in which case Mutt-ng will translate your pattern
3573 into the full language, using the translation specified by the
3574 default-hook variable. The pattern is translated at the time the hook is
3575 declared, so the value of default-hook that is in effect at that time will
3578 6. Using the sidebar
3580 The sidebar, a feature specific to Mutt-ng, allows you to use a mailbox
3581 listing which looks very similar to the ones you probably know from GUI
3582 mail clients. The sidebar lists all specified mailboxes, shows the number
3583 in each and highlights the ones with new email Use the following
3584 configuration commands:
3586 set sidebar_visible="yes"
3587 set sidebar_width=25
3589 If you want to specify the mailboxes you can do so with:
3597 You can also specify the colors for mailboxes with new mails by using:
3599 color sidebar_new red black
3600 color sidebar white black
3602 Reasonable key bindings look e.g. like this:
3604 bind index \Cp sidebar-prev
3605 bind index \Cn sidebar-next
3606 bind index \Cb sidebar-open
3607 bind pager \Cp sidebar-prev
3608 bind pager \Cn sidebar-next
3609 bind pager \Cb sidebar-open
3611 macro index B ':toggle sidebar_visible^M'
3612 macro pager B ':toggle sidebar_visible^M'
3614 You can then go up and down by pressing Ctrl-P and Ctrl-N, and switch on
3615 and off the sidebar simply by pressing 'B'.
3617 7. External Address Queries
3619 Mutt-ng supports connecting to external directory databases such as LDAP,
3620 ph/qi, bbdb, or NIS through a wrapper script which connects to mutt using
3621 a simple interface. Using the $query_command variable, you specify the
3622 wrapper command to use. For example:
3624 set query_command = "mutt_ldap_query.pl '%s'"
3626 The wrapper script should accept the query on the command-line. It should
3627 return a one line message, then each matching response on a single line,
3628 each line containing a tab separated address then name thensome other
3629 optional information. On error, or if there are no matching addresses,
3630 return a non-zero exit code and a one line error message.
3632 An example multiple response output:
3634 Searching database ... 20 entries ... 3 matching:
3635 me@cs.hmc.edu Michael Elkins mutt dude
3636 blong@fiction.net Brandon Long mutt and more
3637 roessler@guug.de Thomas Roessler mutt pgp
3639 There are two mechanisms for accessing the query function of mutt. One is
3640 to do a query from the index menu using the query function (default: Q).
3641 This will prompt for a query, then bring up the query menu which will list
3642 the matching responses. From the query menu, you can select addresses to
3643 create aliases, or to mail. You can tag multiple addressesto mail, start a
3644 new query, or have a new query appended to the current responses.
3646 The other mechanism for accessing the query function is for address
3647 completion, similar to the alias completion. In any prompt for address
3648 entry, you can use the complete-query function (default: ^T) to run a
3649 query based on the current address you have typed. Like aliases, mutt will
3650 look for what you have typed back to the last space or comma. If there is
3651 a single response for that query, mutt will expand the address in place.
3652 If there are multiple responses, mutt will activate the querymenu. At the
3653 query menu, you can select one or more addresses to be added to the
3658 Mutt-ng supports reading and writing of four different mailbox formats:
3659 mbox, MMDF, MH and Maildir. The mailbox type is autodetected, so there is
3660 no need to use a flag for different mailbox types. When creating
3661 newmailboxes, Mutt-ng uses the default specified with the $mbox_type
3664 mbox. This is the most widely used mailbox format for UNIX. All messages
3665 are stored in a single file. Each message has a line of the form:
3667 From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST
3669 to denote the start of a new message (this is often referred to as the
3672 MMDF. This is a variant of the mbox format. Each message is surrounded by
3673 lines containing ``^A^A^A^A'' (four control-A's).
3675 MH. A radical departure from mbox and MMDF, a mailbox consists of a
3676 directory and each message is stored in a separate file. The filename
3677 indicates the message number (however, this is may not correspond to the
3678 message number Mutt-ng displays). Deleted messages arerenamed with a comma
3679 (,) prepended to the filename. Note: Mutt detects this type of mailbox by
3680 looking for either .mh_sequences or .xmhcache (needed to distinguish
3681 normal directories from MH mailboxes).
3683 Maildir. The newest of the mailbox formats, used by the Qmail MTA (a
3684 replacement for sendmail). Similar to MH, except that it adds three
3685 subdirectories of the mailbox: tmp, new and cur .Filenames for the
3686 messages are chosen in such a way they are unique, even when twoprograms
3687 are writing the mailbox over NFS, which means that no file locking is
3690 9. Mailbox Shortcuts
3692 There are a number of built in shortcuts which refer to specific
3693 mailboxes. These shortcuts can be used anywhere you are prompted for a
3694 file or mailbox path.
3696 o ! -- refers to your $spoolfile (incoming) mailbox
3698 o > -- refers to your $mbox file
3700 o < -- refers to your $record file
3702 o ^ -- refers to the current mailbox
3704 o - or !! -- refers to the file you've last visited
3706 o ~ -- refers to your home directory
3708 o = or + -- refers to your $folder directory
3710 o @alias -- refers to the save-hook as determined by the address of the
3713 10. Handling Mailing Lists
3715 Mutt-ng has a few configuration options that make dealing with large
3716 amounts of mail easier. The first thing you must do is to let Mutt know
3717 what addresses you consider to be mailing lists (technically this does not
3718 have to be a mailing list, but that is what it is most often used for),
3719 and what lists you are subscribed to. This is accomplished through the use
3720 of the lists commands in your muttrc.
3722 Now that Mutt-ng knows what your mailing lists are, it can do several
3723 things, the first of which is the ability to show the name of a list
3724 through which you received a message (i.e., of a subscribed list) in the
3725 index menu display. This is useful to distinguish between personal and
3726 list mail in the same mailbox. In the $index_format variable, the escape
3727 ``%L'' will return the string ``To <list>'' when ``list'' appears in the
3728 ``To'' field, and ``Cc <list>'' when it appears in the ``Cc'' field
3729 (otherwise it returns the name of the author).
3731 Often times the ``To'' and ``Cc'' fields in mailing list messages tend to
3732 get quite large. Most people do not bother to remove the author of the
3733 message they are reply to from the list, resulting in two or more copies
3734 being sent to that person. The ``list-reply'' function, which by default
3735 is bound to ``L'' in the index menu and pager, helps reduce the clutter by
3736 only replying to the known mailing list addresses instead of all
3737 recipients (except as specified by Mail-Followup-To, see below).
3739 Mutt-ng also supports the Mail-Followup-To header. When you send a message
3740 to a list of recipients which includes one or several subscribed mailing
3741 lists, and if the $followup_to option is set, mutt will generate a
3742 Mail-Followup-To header which contains all the recipients to whom you send
3743 this message, but not your address. This indicates that group-replies or
3744 list-replies (also known as ``followups'') to this message should only be
3745 sent to the original recipients of the message, and not separately to you
3746 - you'll receive your copy through one of the mailing lists you are
3749 Conversely, when group-replying or list-replying to a message which has a
3750 Mail-Followup-To header, mutt will respect this header if the
3751 $honor_followup_to configuration variable is set. Using list-reply will in
3752 this case also make sure that the reply goes to the mailing list, even if
3753 it's not specified in the list of recipients in the Mail-Followup-To.
3755 Note that, when header editing is enabled, you can create a
3756 Mail-Followup-To header manually. Mutt-ng will only auto-generate this
3757 header if it doesn't exist when you send the message.
3759 The other method some mailing list admins use is to generate a
3760 ``Reply-To'' field which points back to the mailing list address rather
3761 than the author of the message. This can create problems when trying to
3762 reply directly to the author in private, since most mail clients will
3763 automatically reply to the address given in the ``Reply-To'' field.
3764 Mutt-ng uses the $reply_to variable to help decide which address to use.
3765 If set to ask-yes or ask-no, you will be prompted as to whether or not you
3766 would like to use the address given inthe ``Reply-To'' field, or reply
3767 directly to the address given in the ``From'' field. When set to yes, the
3768 ``Reply-To'' field will be used when present.
3770 The ``X-Label:'' header field can be used to further identify mailing
3771 lists or list subject matter (or just to annotate messages individually).
3772 The $index_format variable's ``%y'' and ``%Y'' escapes can be used to
3773 expand ``X-Label:'' fields in the index, and Mutt-ng's pattern-matcher can
3774 match regular expressions to ``X-Label:'' fields with the ``~y'' selector.
3775 ``X-Label:'' is not a standard message header field, but it can easily be
3776 inserted by procmailand other mail filtering agents.
3778 Lastly, Mutt-ng has the ability to sort the mailbox into threads. A thread
3779 is a group of messages which all relate to the same subject. This is
3780 usually organized into a tree-like structure where a message and all of
3781 its replies are represented graphically. If you've ever used a threaded
3782 news client, this is the same concept. It makes dealingwith large volume
3783 mailing lists easier because you can easily delete uninteresting threads
3784 and quickly find topics of value.
3788 Mutt-ng has the ability to dynamically restructure threads that are broken
3789 either by misconfigured software or bad behavior from some correspondents.
3790 This allows to clean your mailboxes formats) from these annoyances which
3791 make it hard to follow a discussion.
3793 11.1. Linking threads
3795 Some mailers tend to "forget" to correctly set the "In-Reply-To:" and
3796 "References:" headers when replying to a message. This results in broken
3797 discussions because Mutt-ng has not enough information to guess the
3798 correct threading. You can fix this by tagging the reply, then moving to
3799 the parent message and using the ``link-threads'' function (bound to & by
3800 default). The reply will then be connected to this "parent" message.
3802 You can also connect multiple children at once, tagging them and using the
3803 tag-prefix command (';') or the auto_tag option.
3805 11.2. Breaking threads
3807 On mailing lists, some people are in the bad habit of starting a new
3808 discussion by hitting "reply" to any message from the list and changing
3809 the subject to a totally unrelated one. You can fix such threads by using
3810 the ``break-thread'' function (boundby default to #), which will turn the
3811 subthread starting from the current message into a whole different thread.
3813 12. Delivery Status Notification (DSN) Support
3815 RfC 1894 defines a set of MIME content types for relaying information
3816 about the status of electronic mail messages. These can be thought of as
3817 ``return receipts.''
3819 Users can make use of it in one of the following two ways:
3821 o Berkeley sendmail 8.8.x currently has some command line options in
3822 which the mail client can make requests as to what type of status
3823 messages should be returned.
3825 o The SMTP support via libESMTP supports it, too.
3827 To support this, there are two variables:
3829 o $dsn_notify is used to request receipts for different results (such as
3830 failed message,message delivered, etc.).
3832 o $dsn_return requests how much of your message should be returned with
3833 the receipt (headers or full message).
3835 Please see the reference chapter for possible values.
3837 13. POP3 Support (OPTIONAL)
3839 If Mutt-ng was compiled with POP3 support (by running the configure script
3840 with the --enable-pop flag), it has the ability to work with mailboxes
3841 located on a remote POP3 server and fetch mail for local browsing.
3843 You can access the remote POP3 mailbox by selecting the folder
3846 You can select an alternative port by specifying it with the server, i.e.:
3847 pop://popserver:port/.
3849 You can also specify different username for each folder, i.e.:
3850 pop://username@popserver[:port]/.
3852 Polling for new mail is more expensive over POP3 than locally. For this
3853 reason the frequency at which Mutt-ng will check for mail remotely can be
3854 controlled by the $pop_mail_check variable, which defaults to every 60
3857 If Mutt-ng was compiled with SSL support (by running the configure script
3858 with the --with-ssl flag), connections to POP3 servers can be encrypted.
3859 This naturally requires that the server supports SSL encrypted
3860 connections. To access a folder with POP3/SSL, you should use pops:
3861 prefix, ie: pops://[username@]popserver[:port]/.
3863 Another way to access your POP3 mail is the fetch-mail function (default:
3864 G). It allows to connect to pop-host ,fetch all your new mail and place it
3865 in the local $spoolfile. After this point, Mutt-ng runs exactly as if the
3866 mail had always been local.
3868 Note: If you only need to fetch all messages to local mailbox you should
3869 consider using a specialized program, such as fetchmail(1).
3871 14. IMAP Support (OPTIONAL)
3873 If Mutt-ng was compiled with IMAP support (by running the configure script
3874 with the --enable-imap flag), it has the ability to work with folders
3875 located on a remote IMAP server.
3877 You can access the remote inbox by selecting the folder via its URL:
3879 imap://imapserver/INBOX
3881 where imapserver is the name of the IMAP server and INBOX is the special
3882 name for your spool mailbox on the IMAP server. If you want to access
3883 another mail folder at the IMAP server, you should use
3885 imap://imapserver/path/to/folder
3887 where path/to/folder is the path of the folder you want to access. You can
3888 select an alternative port by specifying it with the server, i.e.:
3890 imap://imapserver:port/INBOX
3892 You can also specify different username for each folder by prenpending
3893 your username and an @ symbol to the server's name.
3895 If Mutt-ng was compiled with SSL support (by running the configure script
3896 with the --with-ssl flag), connections to IMAP servers can be encrypted.
3897 This naturally requires that the server supports SSL encrypted
3898 connections. To access a folder with IMAP/SSL, you only need to substitute
3899 the initial imap:// by imaps:// in the above examples.
3901 Note that not all servers use / as the hierarchy separator. Mutt-ng should
3902 correctly notice which separator is being used by the server and
3903 convertpaths accordingly.
3905 When browsing folders on an IMAP server, you can toggle whether to look at
3906 only the folders you are subscribed to, or all folders with the
3907 toggle-subscribed command. See also the $imap_list_subscribed variable.
3909 Polling for new mail on an IMAP server can cause noticeable delays. So,
3910 you'll want to carefully tune the $imap_mail_check and $timeout variables.
3912 Note that if you are using mbox as the mail store on UW servers prior
3913 tov12.250, the server has been reported to disconnect a client if another
3914 client selects the same folder.
3916 14.1. The Folder Browser
3918 As of version 1.2, mutt supports browsing mailboxes on an IMAP server.
3919 This is mostly the same as the local file browser, with the following
3922 o Instead of file permissions, mutt displays the string "IMAP", possibly
3923 followed by the symbol "+", indicating that the entry contains both
3924 messages and subfolders. On Cyrus-like servers folders will often
3925 contain both messages and subfolders.
3927 o For the case where an entry can contain both messages and subfolders,
3928 the selection key (bound to enter by default) will choose to descend
3929 into the subfolder view. If you wish to view the messages in that
3930 folder, you must use view-file instead (bound to space by default).
3932 o You can create, delete and rename mailboxes with the create-mailbox,
3933 delete-mailbox, and rename-mailbox commands (default bindings: C , d
3934 and r, respectively). You may also subscribe and unsubscribe to
3935 mailboxes (normally these are bound to s and u, respectively).
3937 14.2. Authentication
3939 Mutt-ng supports four authentication methods with IMAP servers: SASL,
3940 GSSAPI, CRAM-MD5, and LOGIN (there is a patch by Grant Edwards to add NTLM
3941 authentication for you poor exchange users out there, but it has yet to be
3942 integrated into the main tree). There is also support for the
3943 pseudo-protocol ANONYMOUS, which allows you to log in to a public IMAP
3944 server without having an account. To use ANONYMOUS, simply make your
3945 username blank or "anonymous".
3947 SASL is a special super-authenticator, which selects among several
3948 protocols (including GSSAPI, CRAM-MD5, ANONYMOUS, and DIGEST-MD5) the most
3949 secure method available on your host and the server. Using some of these
3950 methods (including DIGEST-MD5 and possibly GSSAPI), your entire session
3951 will be encrypted and invisible to those teeming network snoops. It is the
3952 best option if you have it. To use it, you must have the Cyrus SASL
3953 libraryinstalled on your system and compile mutt with the --with-sasl
3956 Mutt-ng will try whichever methods are compiled in and available on the
3957 server, in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5, LOGIN.
3959 There are a few variables which control authentication:
3961 o $imap_user - controls the username under which you request
3962 authentication on the IMAP server, for all authenticators. This is
3963 overridden by an explicit username in the mailbox path (i.e. by using
3964 a mailbox name of the form {user@host}).
3966 o $imap_pass - a password which you may preset, used by all
3967 authentication methods where a password is needed.
3969 o $imap_authenticators - a colon-delimited list of IMAP authentication
3970 methods to try, in the order you wish to try them. If specified, this
3971 overrides mutt's default (attempt everything, in the order listed
3974 15. NNTP Support (OPTIONAL)
3976 If compiled with ``--enable-nntp'' option, Mutt-ng can read news from a
3977 newsserver via NNTP. You can open a newsgroup with the
3978 ``change-newsgroup'' function from the index/pager which is by default
3981 The Default newsserver can be obtained from the $NNTPSERVER environment
3982 variable. Like other news readers, info about subscribed newsgroups is
3983 saved in a file as specified by the $nntp_newsrc variable. Article headers
3984 are cached and can be loaded from a file when a newsgroup is entered
3985 instead loading from newsserver; currently, this caching mechanism still
3986 is different from the header caching for maildir/IMAP.
3988 15.1. Again: Scoring
3990 Especially for Usenet, people often ask for advanced filtering and scoring
3991 functionality. Of course, mutt-ng has scoring and allows a killfile, too.
3992 How to use a killfile has been discussed in Message Scoring.
3994 What has not been discusses in detail is mutt-ng's built-in realname
3995 filter. For may newsreaders including those for ``advanced users'' like
3996 slrn or tin, there are frequent request for such functionality. The
3997 solutions offered often are complicated regular expressions.
3999 In mutt-ng this is as easy as
4003 This tells mutt-ng to apply a score of 42 to all messages whose sender
4004 specified a valid realname and a valid email address. Using
4008 on the contrary applies a score of 42 to all messages not matching those
4009 criteria which are very strict:
4011 o Email addresses must be valid according to RfC 2822
4013 o the name must consist of at least 2 fields whereby a field must not
4014 end in a dot. This means that ``Joe User'' and ``Joe A.User'' are
4015 valid while ``J. User'' and ``J. A. User'' aren't.
4017 o it's assumed that users are interested in reading their own mail and
4018 mail from people who they have defined an alias forso that those 2
4019 groups of messages are excluded from the strict rules.
4021 16. SMTP Support (OPTIONAL)
4023 Mutt-ng can be built using a library called ``libESMTP'' which provides
4024 SMTP functionality. When configure was called with --with-libesmtp or the
4025 output muttng -v contains +USE_LIBESMTP, this will be or is the case
4026 already. The SMTP support includes support for Delivery Status
4027 Notification (see dsn section) as well as handling the 8BITMIME flag
4028 controlled via $use_8bitmime.
4030 To enable sending mail directly via SMTP without an MTA such as Postfix or
4031 SSMTP and the like, simply set the $smtp_host variable pointing to your
4034 Authentication mechanisms are available via the $smtp_user and $smtp_pass
4037 Transport Encryption via the StartTLS command is also available. For this
4038 to work, first of all Mutt-ng must be built with SSL or GNUTLS. Secondly,
4039 the $smtp_use_tls variable must be either set to ``enabled'' or
4040 ``required.'' In both cases, StartTLS will be used if the server supports
4041 it: for the second case, the connection will fail ifit doesn't while
4042 switching back to unencrypted communication for the first one.
4044 Some mail providers require user's to set a particular envelope sender,
4045 i.e. they allow for only one value which may not be what the user wants to
4046 send as the From: header. In this case, the variable $smtp_envelope may be
4047 used to set the envelope different from the From: header.
4049 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
4051 If you happen to have accounts on multiple IMAP and/or POP servers, you
4052 may find managing all the authentication settings inconvenient and
4053 error-prone. The account-hook command may help. This hook works like
4054 folder-hook but is invoked whenever you access a remote mailbox (including
4055 inside the folder browser), not just when you open the mailbox.
4059 account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
4060 account-hook imap://host1/ 'set imap_user=me1 imap_pass=foo'
4061 account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'
4063 18. Start a WWW Browser on URLs (EXTERNAL)
4065 If a message contains URLs (unified resource locator = address in the WWW
4066 space like http://www.mutt.org/), it is efficient to get a menu with all
4067 the URLs and start a WWW browser on one of them. This functionality is
4068 provided by the external urlview program which can be retrieved at
4069 <ftp://ftp.mutt.org/mutt/contrib/> and the configuration commands:
4071 macro index \cb |urlview\n
4072 macro pager \cb |urlview\n
4074 19. Compressed folders Support (OPTIONAL)
4076 If Mutt-ng was compiled with compressed folders support (by running the
4077 configure script with the --enable-compressed flag), Mutt can open folders
4078 stored in an arbitrary format, provided that the user has a script to
4079 convert from/to this format to one of the accepted.
4081 The most common use is to open compressed archived folders e.g. with gzip.
4083 In addition, the user can provide a script that gets a folder in an
4084 accepted format and appends its context to the folder in the user-defined
4085 format, which may be faster than converting the entire folder to the
4086 accepted format, appending to it and converting back to the user-defined
4089 There are three hooks defined (open-hook, close-hook and append-hook
4090 )which define commands to uncompress and compress a folder and to append
4091 messages to an existing compressed folder respectively.
4095 open-hook \\.gz$ "gzip -cd %f > %t"
4096 close-hook \\.gz$ "gzip -c %t > %f"
4097 append-hook \\.gz$ "gzip -c %t >> %f"
4099 You do not have to specify all of the commands. If you omit append-hook
4100 ,the folder will be open and closed again each time you will add to it. If
4101 you omit close-hook (or give empty command) , the folder will be open in
4102 the mode. If you specify append-hook though you'll be able to append to
4105 Note that Mutt-ng will only try to use hooks if the file is not in one of
4106 the accepted formats. In particular, if the file is empty, mutt supposes
4107 it is not compressed. This is important because it allows the use of
4108 programs that do not have well defined extensions. Just use "." as a
4109 regexp. But this may be surprising if your compressing script produces
4110 empty files. In this situation, unset $save_empty ,so that the compressed
4111 file will be removed if you delete all of the messages.
4113 19.1. Open a compressed mailbox for reading
4115 Usage: open-hookregexp "command"
4117 The command is the command that can be used for opening the folders whose
4120 The command string is the printf-like format string, and it should accept
4121 two parameters: %f, which is replaced with the (compressed) folder name,
4122 and %t which is replaced with the name of the temporary folder to which to
4125 %f and %t can be repeated any number of times in the command string, and
4126 all of the entries are replaced with the appropriate folder name. In
4127 addition, %% is replaced by %, as in printf, and any other %anything is
4130 The command should not remove the original compressed file. The command
4131 should return non-zero exit status if it fails, so mutt knows something's
4136 open-hook \\.gz$ "gzip -cd %f > %t"
4138 If the command is empty, this operation is disabled for this file type.
4140 19.2. Write a compressed mailbox
4142 Usage: close-hookregexp"command"
4144 This is used to close the folder that was open with the open-hook command
4145 after some changes were made to it.
4147 The command string is the command that can be used for closing the folders
4148 whose names match regexp. It has the same format as in the open-hook
4149 command. Temporary folder in this case is the folder previously produced
4150 by the open-hook command.
4152 The command should not remove the decompressed file. The command should
4153 return non-zero exit status if it fails, so mutt knows something's wrong.
4157 close-hook \\.gz$ "gzip -c %t > %f"
4159 If the command is empty, this operation is disabled for this file type,
4160 and the file can only be open in the readonly mode.
4162 close-hook is not called when you exit from the folder if the folder was
4165 19.3. Append a message to a compressed mailbox
4167 Usage: append-hookregexp"command"
4169 This command is used for saving to an existing compressed folder. The
4170 command is the command that can be used for appending to the folders whose
4171 names match regexp. It has the same format as in the open-hook command.
4172 The temporary folder in this case contains the messages that are
4175 The command should not remove the decompressed file. The command should
4176 return non-zero exit status if it fails, so mutt knows something's wrong.
4180 append-hook \\.gz$ "gzip -c %t >> %f"
4182 When append-hook is used, the folder is not opened, which saves time, but
4183 this means that we can not find out what the folder type is. Thus the
4184 default ($mbox_type )type is always supposed (i.e. this is the format used
4185 for the temporary folder).
4187 If the file does not exist when you save to it, close-hook is called, and
4188 not append-hook. append-hook is only for appending to existing folders.
4190 If the command is empty, this operation is disabled for this file type. In
4191 this case, the folder will be open and closed again (using open-hook and
4192 close-hook respectively) each time you will add to it.
4194 19.4. Encrypted folders
4196 The compressed folders support can also be used to handle encrypted
4197 folders. If you want to encrypt a folder with PGP, you may want to usethe
4200 open-hook \\.pgp$ "pgp -f < %f > %t"
4201 close-hook \\.pgp$ "pgp -fe YourPgpUserIdOrKeyId < %t > %f"
4203 Please note, that PGP does not support appending to an encrypted folder,
4204 so there is no append-hook defined.
4206 Note: the folder is temporary stored decrypted in the /tmp directory,
4207 where it can be read by your system administrator. So thinkabout the
4208 security aspects of this.
4210 Chapter 5. Mutt-ng's MIME Support
4214 1. Using MIME in Mutt
4216 1.1. Viewing MIME messages in the pager
4218 1.2. The Attachment Menu
4220 1.3. The Compose Menu
4222 2. MIME Type configuration with mime.types
4224 3. MIME Viewer configuration with mailcap
4226 3.1. The Basics of the mailcap file
4228 3.2. Secure use of mailcap
4230 3.3. Advanced mailcap Usage
4232 3.4. Example mailcap files
4236 5. MIME Multipart/Alternative
4238 6. Attachment Searching and Counting
4242 Quite a bit of effort has been made to make Mutt-ng the premier text-mode
4243 MIME MUA. Every effort has been made to provide the functionality that the
4244 discerning MIME user requires, and the conformance to the standards
4245 wherever possible. When configuring Mutt-ng for MIME, there are two
4246 extratypes of configuration files which Mutt-ng uses. One is the
4247 mime.types file, which contains the mapping of file extensions to IANA
4248 MIME types. The other is the mailcap file, which specifies the external
4249 commands to use for handling specific MIME types.
4251 1. Using MIME in Mutt
4253 There are three areas/menus in Mutt-ng which deal with MIME, they are the
4254 pager (while viewing a message), the attachment menu and the compose menu.
4256 1.1. Viewing MIME messages in the pager
4258 When you select a message from the index and view it in the pager, Mutt
4259 decodes the message to a text representation. Mutt-ng internally supports
4260 a number of MIME types, including text/plain, text/enriched,
4261 message/rfc822, and message/news .In addition, the export controlled
4262 version of Mutt-ng recognizes a variety of PGP MIME types, including
4263 PGP/MIME and application/pgp.
4265 Mutt-ng will denote attachments with a couple lines describing them. These
4266 lines are of the form:
4268 [-- Attachment #1: Description --]
4269 [-- Type: text/plain, Encoding: 7bit, Size: 10000 --]
4271 Where the Description is the description or filename given for the
4272 attachment, and the Encoding is one of
4273 7bit/8bit/quoted-printable/base64/binary.
4275 If Mutt-ng cannot deal with a MIME type, it will display a message like:
4277 [-- image/gif is unsupported (use 'v' to view this part) --]
4279 1.2. The Attachment Menu
4281 The default binding for view-attachments is `v', which displays the
4282 attachment menu for a message. The attachment menu displays a list ofthe
4283 attachments in a message. From the attachment menu, you can save, print,
4284 pipe, delete, and view attachments. You can apply these operations to a
4285 group of attachments at once, by tagging the attachments and by using the
4286 ``tag-prefix'' operator. You can also reply to the current message from
4287 this menu, and only the current attachment (or the attachments tagged)
4288 will be quoted in your reply. You can view attachments as text, or view
4289 them using the mailcap viewer definition.
4291 Finally, you can apply the usual message-related functions (like
4292 <resend-message>, and the reply and forward functions) to attachments of
4293 type message/rfc822.
4295 See the help on the attachment menu for more information.
4297 1.3. The Compose Menu
4299 The compose menu is the menu you see before you send a message. It allows
4300 you to edit the recipient list, the subject, and other aspects of your
4301 message. It also contains a list of the attachments of your message,
4302 including the main body. From this menu, you can print, copy, filter,
4303 pipe, edit, compose, review, and rename an attachment or a list of tagged
4304 attachments. You can also modifying the attachment information, notably
4305 the type, encoding and description.
4307 Attachments appear as follows:
4309 1 [text/plain, 7bit, 1K] /tmp/mutt-euler-8082-0 <no description>
4310 2 [applica/x-gunzip, base64, 422K] ~/src/mutt-0.85.tar.gz <no description>
4312 The '-' denotes that Mutt-ng will delete the file after sending (or
4313 postponing, or canceling) the message. It can be toggled with the
4314 toggle-unlink command (default: u). The next field is the MIME
4315 content-type, and can be changed with the edit-type command (default: ^T).
4316 The next field is the encoding for the attachment, which allows a binary
4317 message to be encoded for transmission on 7bit links. It can be changed
4318 with the edit-encoding command (default: ^E). The next field is the size
4319 of the attachment, rounded to kilobytes or megabytes. The next field is
4320 the filename, which can be changed with the rename-file command (default:
4321 R). The final field is the description of the attachment, and can be
4322 changed with the edit-description command (default: d).
4324 2. MIME Type configuration with mime.types
4326 When you add an attachment to your mail message, Mutt-ng searches your
4327 personal mime.types file within $HOME and then the system mime.types file
4328 at /usr/local/share/mutt/mime.types or /etc/mime.types
4330 The mime.types file consist of lines containing a MIME type and a space
4331 separated list of extensions. For example:
4333 application/postscript ps eps
4335 audio/x-aiff aif aifc aiff
4337 A sample mime.types file comes with the Mutt-ng distribution, and should
4338 contain most of the MIME types you are likely to use.
4340 If Mutt-ng can not determine the mime type by the extension of the file
4341 you attach, it will look at the file. If the file is free of binary
4342 information, Mutt-ng will assume that the file is plain text, and mark it
4343 as text/plain. If the file contains binary information, then Mutt-ng will
4344 mark it as application/octet-stream. You can change the MIME type that
4345 Mutt-ng assigns to an attachment by using the edit-type command from the
4346 compose menu (default: ^T). The MIME type is actually a major mime type
4347 followed by the sub-type, separated by a '/'. 6 major types: application,
4348 text, image, video, audio, and model have been approved after various
4349 internet discussions. Mutt-ng recognises all of these if the appropriate
4350 entry is found in the mime.types file. It also recognises other major mime
4351 types, such as the chemical type that is widely used in the molecular
4352 modelling community to pass molecular data in various forms to various
4353 molecular viewers. Non-recognised mime types should only be used if the
4354 recipient of the message is likely to be expecting such attachments.
4356 3. MIME Viewer configuration with mailcap
4358 Mutt-ng supports RfC 1524 MIME Configuration, in particular the Unix
4359 specific format specified in Appendix A of the RfC. This file format is
4360 commonly referred to as the mailcap format. Many MIME compliant programs
4361 utilize the mailcap format, allowing you to specify handling for all MIME
4362 types in one place for all programs. Programs known to use this format
4363 include Netscape, XMosaic, lynx and metamail.
4365 In order to handle various MIME types that Mutt-ng can not handle
4366 internally, Mutt-ng parses a series of external configuration files to
4367 find an external handler. The default search string for these files is a
4368 colon delimited list set to
4370 ${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap
4372 where $HOME is your home directory.
4374 In particular, the metamail distribution will install a mailcap file,
4375 usually as /usr/local/etc/mailcap, which contains some baseline entries.
4377 3.1. The Basics of the mailcap file
4379 A mailcap file consists of a series of lines which are comments, blank, or
4382 A comment line consists of a # character followed by anything you want.
4384 A blank line is blank.
4386 A definition line consists of a content type, a view command, and any
4387 number of optional fields. Each field of a definition line is dividedby a
4388 semicolon ';' character.
4390 The content type is specified in the MIME standard type/subtype method.
4391 For example, text/plain, text/html, image/gif, etc. In addition, the
4392 mailcap format includes two formats for wildcards, one using the special
4393 '*' subtype, the other is the implicit wild, where you only include the
4394 major type. For example, image/* ,or video, will match all image types and
4395 video types, respectively.
4397 The view command is a Unix command for viewing the type specified. There
4398 are two different types of commands supported. The default is to send the
4399 body of the MIME message to the command on stdin. You can change this
4400 behavior by using %s as a parameter to your view command. This will cause
4401 Mutt-ng to save the body of the MIME message to a temporary file, and then
4402 call the view command with the %s replaced by the name of the temporary
4403 file. In both cases, Mutt-ng will turn over the terminal to the view
4404 program until the program quits, at which time Mutt will remove the
4405 temporary file if it exists.
4407 So, in the simplest form, you can send a text/plain message to the
4408 external pager more on stdin:
4412 Or, you could send the message as a file:
4416 Perhaps you would like to use lynx to interactively view a text/html
4421 In this case, lynx does not support viewing a file from stdin, so you must
4422 use the %s syntax. Note:Some older versions of lynx contain a bug where
4423 they will check the mailcap file for a viewer for text/html. They will
4424 find the line which calls lynx, and run it. This causes lynx to
4425 continuously spawn itself to view the object.
4427 On the other hand, maybe you don't want to use lynx interactively, youjust
4428 want to have it convert the text/html to text/plain, then you can use:
4430 text/html; lynx -dump %s | more
4432 Perhaps you wish to use lynx to view text/html files, and a pager on all
4433 other text formats, then you would use the following:
4438 This is the simplest form of a mailcap file.
4440 3.2. Secure use of mailcap
4442 The interpretation of shell meta-characters embedded in MIME parameters
4443 can lead to security problems in general. Mutt-ng tries to quote
4444 parameters in expansion of %s syntaxes properly, and avoids risky
4445 characters by substituting them, see the $mailcap_sanitize variable.
4447 Although mutt's procedures to invoke programs with mailcap seem to be
4448 safe, there are other applications parsing mailcap, maybe taking less care
4449 of it. Therefore you should pay attention to the following rules:
4451 Keep the %-expandos away from shell quoting. Don't quote them with single
4452 or double quotes. Mutt-ng does this for you, the right way, as should any
4453 other program which interprets mailcap. Don't put them into backtick
4454 expansions. Be highly careful with eval statements, and avoid them if
4455 possible at all. Trying to fix broken behaviour with quotes introduces new
4456 leaks - there is no alternative to correct quoting in the first place.
4458 If you have to use the %-expandos' values in context where you need
4459 quoting or backtick expansions, put that value into a shell variable and
4460 reference the shell variable where necessary, as in the following example
4461 (using $charset inside the backtick expansion is safe, since it is not
4462 itself subject to any further expansion):
4464 text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
4465 && test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1
4467 3.3. Advanced mailcap Usage
4469 3.3.1. Optional Fields
4471 In addition to the required content-type and view command fields, you can
4472 add semi-colon ';' separated fields to set flags and other options.
4473 Mutt-ng recognizes the following optional fields:
4477 This flag tells Mutt-ng that the command passes possibly large
4478 amounts of text on stdout. This causes Mutt-ng to invoke a pager
4479 (either the internal pager or the external pager defined by the
4480 pager variable) on the output of the view command. Without this
4481 flag, Mutt-ng assumes that the command is interactive. One could
4482 use this to replace the pipe to more in the lynx -dump example in
4485 text/html; lynx -dump %s ; copiousoutput
4487 This will cause lynx to format the text/html output as text/plain
4488 and Mutt-ng will use your standard pager to display the results.
4492 Mutt-ng uses this flag when viewing attachments with auto_view, in
4493 order to decide whether it should honor the setting of the
4494 $wait_key variable or not. When an attachment is viewed using an
4495 interactive program, and the corresponding mailcap entry has a
4496 needsterminal flag, Mutt-ng will use $wait_key and the exit
4497 statusof the program to decide if it will ask you to press a key
4498 after the external program has exited. In all other situations it
4499 will not prompt you for a key.
4503 This flag specifies the command to use to create a new attachment
4504 of a specific MIME type. Mutt-ng supports this from the compose
4507 composetyped=<command>
4509 This flag specifies the command to use to create a new attachment
4510 of a specific MIME type. This command differs from the compose
4511 command in that mutt will expect standard MIME headers on the
4512 data. This can be used to specify parameters, filename,
4513 description, etc. for a new attachment. Mutt-ng supports this from
4518 This flag specifies the command to use to print a specific MIME
4519 type. Mutt-ng supports this from the attachment and compose menus.
4523 This flag specifies the command to use to edit a specific MIME
4524 type. Mutt-ng supports this from the compose menu, and also uses
4525 it to compose new attachments. Mutt-ng will default to the defined
4526 editor for text attachments.
4528 nametemplate=<template>
4530 This field specifies the format for the file denoted by %s in the
4531 command fields. Certain programs will require a certain file
4532 extension, for instance, to correctly view a file. For instance,
4533 lynx will only interpret a file as text/html if the file ends in
4534 .html. So, you would specify lynx as a text/html viewer with a
4535 line in the mailcap file like:
4537 text/html; lynx %s; nametemplate=%s.html
4541 This field specifies a command to run to test whether this mailcap
4542 entry should be used. The command is defined with the command
4543 expansion rules defined in the next section. If the command
4544 returns 0, then the test passed, and Mutt-ng uses this entry. If
4545 the command returns non-zero, then the test failed, and Mutt-ng
4546 continues searching for the right entry. Note:the content-type
4547 must match before Mutt-ng performs the test. For example:
4549 text/html; netscape -remote 'openURL(%s)' ; test=RunningX
4552 In this example, Mutt-ng will run the program RunningX which will
4553 return 0 if the X Window manager is running, and non-zero if it
4554 isn't. If RunningX returns 0, then Mutt-ng will call netscape to
4555 display the text/html object. If RunningX doesn't return 0, then
4556 Mutt-ng will go on to the next entry and use lynx to display the
4561 When searching for an entry in the mailcap file, Mutt-ng will search for
4562 the most useful entry for its purpose. For instance, if you are attempting
4563 to print an image/gif, and you have the following entries in your mailcap
4564 file, Mutt-ng will search for an entry with the print command:
4567 image/gif; ; print= anytopnm %s | pnmtops | lpr; \
4570 Mutt-ng will skip the image/* entry and use the image/gif entry with the
4573 In addition, you can use this with auto_view to denote two commands for
4574 viewing an attachment, one to be viewed automatically, the other to be
4575 viewed interactively from the attachment menu. In addition, you can then
4576 use the test feature to determine which viewer to use interactively
4577 depending on your environment.
4579 text/html; netscape -remote 'openURL(%s)' ; test=RunningX
4580 text/html; lynx %s; nametemplate=%s.html
4581 text/html; lynx -dump %s; nametemplate=%s.html; copiousoutput
4583 For auto_view, Mutt-ng will choose the third entry because of the
4584 copiousoutput tag. For interactive viewing, Mutt will run the program
4585 RunningX to determine if it should use the first entry. If the program
4586 returns non-zero, Mutt-ng will use the second entry for interactive
4589 3.3.3. Command Expansion
4591 The various commands defined in the mailcap files are passed to the
4592 /bin/sh shell using the system() function. Before the command is passed to
4593 /bin/sh -c, it is parsed to expand various special parameters with
4594 information from Mutt-ng. The keywords Mutt-ng expands are:
4598 As seen in the basic mailcap section, this variable is expanded to
4599 a filename specified by the calling program. This file contains
4600 the body of the message to view/print/edit or where the composing
4601 program should place the results of composition. In addition, the
4602 use of this keyword causes Mutt-ng to not pass the body of the
4603 message to the view/print/edit program on stdin.
4607 Mutt-ng will expand %t to the text representation of the content
4608 type of the message in the same form as the first parameter of the
4609 mailcap definition line, ie text/html or image/gif.
4613 Mutt-ng will expand this to the value of the specified parameter
4614 from the Content-Type: line of the mail message. For instance, if
4615 Your mail message contains:
4617 Content-Type: text/plain; charset=iso-8859-1
4619 then Mutt-ng will expand %{charset} to iso-8859-1. The default
4620 metamail mailcap file uses this feature to test the charset to
4621 spawn an xterm using the right charset to view the message.
4625 This will be replaced by a %
4627 Mutt-ng does not currently support the %F and %n keywords specified in RfC
4628 1524. The main purpose of these parameters is for multipart messages,
4629 which is handled internally by Mutt-ng.
4631 3.4. Example mailcap files
4633 This mailcap file is fairly simple and standard:
4636 # I'm always running X :)
4637 video/*; xanim %s > /dev/null
4638 image/*; xv %s > /dev/null
4640 # I'm always running netscape (if my computer had more memory, maybe)
4641 text/html; netscape -remote 'openURL(%s)'
4643 This mailcap file shows quite a number of examples:
4645 # Use xanim to view all videos Xanim produces a header on startup,
4646 # send that to /dev/null so I don't see it
4647 video/*; xanim %s > /dev/null
4649 # Send html to a running netscape by remote
4650 text/html; netscape -remote 'openURL(%s)'; test=RunningNetscape
4651 # If I'm not running netscape but I am running X, start netscape on the
4653 text/html; netscape %s; test=RunningX
4655 # Else use lynx to view it as text
4658 # This version would convert the text/html to text/plain
4659 text/html; lynx -dump %s; copiousoutput
4661 # I use enscript to print text in two columns to a page
4662 text/*; more %s; print=enscript -2Gr %s
4664 # Netscape adds a flag to tell itself to view jpegs internally
4665 image/jpeg;xv %s; x-mozilla-flags=internal
4667 # Use xv to view images if I'm running X
4668 # In addition, this uses the \ to extend the line and set my editor
4670 image/*;xv %s; test=RunningX; edit=xpaint %s
4672 # Convert images to text using the netpbm tools
4673 image/*; (anytopnm %s | pnmscale -xysize 80 46 | ppmtopgm | \
4674 pgmtopbm | pbmtoascii -1x2 ) 2>&1 ; copiousoutput
4676 # Send excel spreadsheets to my NT box
4677 application/ms-excel; open.pl %s
4681 Usage: auto_viewmime-type [mime-type ...]
4683 Usage: unauto_viewmime-type [mime-type ...]
4685 In addition to explicitly telling Mutt-ng to view an attachment with
4686 theMIME viewer defined in the mailcap file, Mutt-ng has support for
4687 automatically viewing MIME attachments while in the pager.
4689 To work, you must define a viewer in the mailcap file which uses the
4690 copiousoutput option to denote that it is non-interactive. Usually, you
4691 also use the entry to convert the attachment to a text representation
4692 which you can view in the pager.
4694 You then use the auto_view muttrc command to list the content-types that
4695 you wish to view automatically.
4697 For instance, if you set auto_view to:
4699 auto_view text/html application/x-gunzip application/postscript
4700 image/gif application/x-tar-gz
4702 Mutt-ng could use the following mailcap entries to automatically view
4703 attachments of these types.
4705 text/html; lynx -dump %s; copiousoutput; nametemplate=%s.html
4706 image/*; anytopnm %s | pnmscale -xsize 80 -ysize 50 | ppmtopgm | pgmtopbm | pbmtoascii ; copiousoutput
4707 application/x-gunzip; gzcat; copiousoutput
4708 application/x-tar-gz; gunzip -c %s | tar -tf - ; copiousoutput
4709 application/postscript; ps2ascii %s; copiousoutput
4711 ``unauto_view'' can be used to remove previous entries from the autoview
4712 list. This can be used with message-hook to autoview messages based on
4713 size, etc. ``unauto_view *'' will remove all previous entries.
4715 5. MIME Multipart/Alternative
4717 Usage: alternative_ordermime-type [mime-type ...]
4719 Usage: unalternative_ordermime-type [mime-type ...]
4721 Mutt-ng has some heuristics for determining which attachment of a
4722 multipart/alternative type to display. First, mutt will check the
4723 alternative_order list to determine if one of the available typesis
4724 preferred. The alternative_order list consists of a number of MIME types
4725 in order, including support for implicit and explicit wildcards, for
4728 alternative_order text/enriched text/plain text
4729 application/postscript image/*
4731 Next, mutt will check if any of the types have a defined auto_view, and
4732 use that. Failing that, Mutt-ng will look for any text type. As a last
4733 attempt, mutt willlook for any type it knows how to handle.
4735 To remove a MIME type from the alternative_order list, use the
4736 unalternative_order command.
4738 6. Attachment Searching and Counting
4740 If you ever lose track of attachments in your mailboxes, Mutt's
4741 attachment-counting and -searching support might be for you. You can make
4742 your message index display the number of qualifying attachments in each
4743 message, or search for messages by attachment count. You also can
4744 configure what kinds of attachments qualify for this feature with the
4745 attachments and unattachments commands.
4749 Usage: attachments( {+|-}disposition mime-type | ? )
4751 Usage: unattachments{+|-}disposition mime-type
4753 Disposition is the attachment's Content-disposition type -- either
4754 "inline" or "attachment". You can abbreviate this to I or A.
4756 Disposition is prefixed by either a + symbolor a - symbol. If it's a +,
4757 you're saying that you want to allow this disposition and MIME type to
4758 qualify. If it's a -, you're saying that this disposition and MIME type is
4759 an exception to previous + rules. There are examples below of how this is
4762 Mime-type is, unsurprisingly, the MIME type of the attachment you want to
4763 affect. A MIME type is always of the format "major/minor", where "major"
4764 describes the broad category of document you're looking at, and "minor"
4765 describes the specific type within that category. The major part of
4766 mim-type must be literal text (or the special token "*"), but the minor
4767 part may be a regular expression. (Therefore, "*/.*" matches any MIME
4770 The MIME types you give to the attachments directive are a kind of
4771 pattern. When you use the attachments directive, the patterns you specify
4772 are added to a list. When you use unattachments, the pattern is removed
4773 from the list. The patterns are not expanded and matched to specific MIME
4774 types at this time -- they're just text in a list. They're only matched
4775 when actually evaluating a message.
4777 Some examples might help to illustrate. The examples that are not
4778 commented out define the default configuration of the lists.
4780 ## Removing a pattern from a list removes that pattern literally. It
4781 ## does not remove any type matching the pattern.
4783 ## attachments +A */.*
4784 ## attachments +A image/jpeg
4785 ## unattachments +A */.*
4787 ## This leaves "attached" image/jpeg files on the allowed attachments
4788 ## list. It does not remove all items, as you might expect, because the
4789 ## second */.* is not a matching expression at this time.
4791 ## Remember: "unattachments" only undoes what "attachments" has done!
4792 ## It does not trigger any matching on actual messages.
4795 ## Qualify any MIME part with an "attachment" disposition, EXCEPT for
4796 ## text/x-vcard and application/pgp parts. (PGP parts are already known
4797 ## to mutt, and can be searched for with ~g, ~G, and ~k.)
4799 ## I've added x-pkcs7 to this, since it functions (for S/MIME)
4800 ## analogously to PGP signature attachments. S/MIME isn't supported
4801 ## in a stock mutt build, but we can still treat it specially here.
4804 attachments -A text/x-vcard application/pgp.*
4805 attachments -A application/x-pkcs7-.*
4807 ## Discount all MIME parts with an "inline" disposition, unless they're
4808 ## text/plain. (Why inline a text/plain part unless it's external to the
4811 attachments +I text/plain
4813 ## These two lines make Mutt qualify MIME containers. (So, for example,
4814 ## a message/rfc822 forward will count as an attachment.) The first
4815 ## line is unnecessary if you already have "attach-allow */.*", of
4816 ## course. These are off by default! The MIME elements contained
4817 ## within a message/* or multipart/* are still examined, even if the
4818 ## containers themseves don't qualify.
4820 #attachments +A message/.* multipart/.*
4821 #attachments +I message/.* multipart/.*
4823 ## You probably don't really care to know about deleted attachments.
4824 attachments -A message/external-body
4825 attachments -I message/external-body
4827 "attachments ?" will list your current settings in Muttrc format, so that
4828 it can be pasted elsewhere.
4830 Please note that counting attachments may require lots of data be loaded.
4831 This may cause noticeable slowdowns over network links depending on the
4832 connection speed and message sizes. To fine-tune the behavior on a
4833 per-folder or other basis, the $count_attachments variable may be used.
4837 Usage: mime_lookupmime-type [mime-type ...]
4839 Usage: unmime_lookupmime-type [mime-type ...]
4841 Mutt-ng's mime_lookup list specifies a list of mime-types that should not
4842 be treated according to their mailcap entry. This option is designed
4843 todeal with binary types such as application/octet-stream. When an
4844 attachment's mime-type is listed in mime_lookup, then the extension of the
4845 filename will be compared to the list of extensions in the mime.types
4846 file. The mime-type associated with this extension will then be used to
4847 process the attachment according to the rules in the mailcap file and
4848 according to any other configuration options (such as auto_view)
4849 specified. Common usage would be:
4851 mime_lookup application/octet-stream application/X-Lotus-Manuscript
4853 In addition, the unmime_lookup command may be used to disable this feature
4854 for any particular mime-type if it had been set, for example, in a global
4857 Chapter 6. Security Considerations
4865 3. Information Leaks
4867 3.1. Message-ID: headers
4869 3.2. mailto:-style links
4871 4. External applications
4877 First of all, mutt-ng contains no security holes included by intention but
4878 may contain unknown security holes. As a consequence, please run mutt-ng
4879 only with as few permissions as possible.
4881 Please do not run mutt-ng as the super user.
4883 When configuring mutt-ng, there're some points to note about secure
4886 In practice, mutt-ng can be easily made as vulnerable as even the most
4887 insecure mail user agents (in their default configuration) just by
4888 changing mutt-ng's configuration files: it then can execute arbitrary
4889 programs and scripts attached to messages, send out private data on its
4890 own, etc. Although this is not believed to the common type of setup,
4891 please read this chapter carefully.
4895 Although mutt-ng can be told the various passwords for accounts, please
4896 never store passwords in configuration files. Besides the fact that the
4897 system's operator can always read them, you could forget to replace the
4898 actual password with asterisks when reporting a bug or asking for help
4899 via, for example, a mailing list so that your mail including your password
4900 could be archived by internet search engines, etc. Please never store
4905 Mutt-ng uses many temporary files for viewing messages, verifying digital
4906 signatures, etc. The $umask variable can be used to change the default
4907 permissions of these files. Please only change it if you really know what
4908 you are doing. Also, a different location for these files may be desired
4909 which can be changed via the $tmpdir variable.
4911 3. Information Leaks
4913 3.1. Message-ID: headers
4915 In the default configuration, mutt-ng will leak some information to the
4916 outside world when sending messages: the generation of Message-ID: headers
4917 includes a step counter which is increased (and rotated) with every
4918 message sent. If you'd like to hide this information probably telling
4919 others how many mail you sent in which time, you at least need to remove
4920 the %P expando from the default setting of the $msgid_format variable.
4921 Please make sure that you really know how local parts of these Message-ID:
4922 headers are composed.
4924 3.2. mailto:-style links
4926 As mutt-ng be can be set up to be the mail client to handle mailto: style
4927 links in websites, there're security considerations, too. To keep the old
4928 behavior by default, mutt-ng will be strict in interpreting them which
4929 means that arbitrary header fields can be embedded in these links which
4930 could override existing header fields or attach arbitrary files. This may
4931 be problematic if the $edit_headers variable is unset, i.e. the user
4932 doesn't want to see header fields while editing the message.
4934 For example, following a link like
4936 mailto:joe@host?Attach=~/.gnupg/secring.gpg
4938 will send out the user's private gnupg keyring to joe@host if the user
4939 doesn't follow the information on screen carefully enough.
4941 When unsetting the $strict_mailto variable, mutt-ng will
4943 o be less strict when interpreting these links by prepending a X-Mailto-
4944 string to all header fields embedded in such a link and
4946 o turn on the $edit_headers variable by force to let the user see all
4947 the headers (because they still may leak information.)
4949 4. External applications
4951 Mutt-ng in many places has to rely on external applications or for
4952 convenience supports mechanisms involving external applications.
4956 One of these is the mailcap mechanism as defined by RfC 1524. Mutt-ng can
4957 be set up to automatically execute any given utility as listed in one of
4958 the mailcap files (see the $mailcap_path variable for details.)
4960 These utilities may have a variety of security vulnerabilities, including
4961 overwriting of arbitrary files, information leaks or other exploitable
4962 bugs. These vulnerabilities may go unnoticed by the user, especially when
4963 they are called automatically (and without interactive prompting) from the
4964 mailcap file(s). When using mutt-ng's autoview mechanism in combination
4965 with mailcap files, please be sure to...
4967 o manually select trustworth applications with a reasonable calling
4970 o periodically check the contents of mailcap files, especially after
4971 software installations or upgrades
4973 o keep the software packages referenced in the mailcap file up to date
4975 o leave the $mailcap_sanitize variable in its default state to restrict
4976 mailcap expandos to a safe set of characters
4980 Besides the mailcap mechanism, mutt-ng uses a number of other external
4981 utilities for operation.
4983 The same security considerations apply for these as for tools involved via
4984 mailcap (for example, mutt-ng is vulnerable to Denial of Service Attacks
4985 with compressed folders support if the uncompressed mailbox is too large
4986 for the disk it is saved to.)
4988 As already noted, most of these problems are not built in but caused by
4989 wrong configuration, so please check your configuration.
4991 Chapter 7. Reference
4995 1. Command line options
4999 3. Configuration Commands
5001 4. Configuration variables
5029 1. Command line options
5031 Running mutt with no arguments will make Mutt-ng attempt to read your
5032 spool mailbox. However, it is possible to read other mailboxes and to send
5033 messages from the command line as well.
5035 Table 7.1. Reference: Command Line Options
5039 -a attach a file to a message
5040 -b specify a blind carbon-copy (BCC) address
5041 -c specify a carbon-copy (Cc) address
5042 -e specify a config command to be run after initialization files are
5044 -f specify a mailbox to load
5045 -F specify an alternate file to read initialization commands
5046 -h print help on command line options
5047 -H specify a draft file from which to read a header and body
5048 -i specify a file to include in a message composition
5049 -m specify a default mailbox type
5050 -n do not read the system Muttngrc
5051 -p recall a postponed message
5052 -Q query a configuration variable
5053 -R open mailbox in read-only mode
5054 -s specify a subject (enclose in quotes if it contains spaces)
5055 -t dump the value of all variables to stdout
5056 -T dump the value of all changed variables to stdout
5057 -v show version number and compile-time definitions
5058 -x simulate the mailx(1) compose mode
5059 -y show a menu containing the files specified by the mailboxes command
5060 -z exit immediately if there are no messages in the mailbox
5061 -Z open the first folder with new message,exit immediately if none
5063 To read messages in a mailbox
5065 mutt ] -nz ] ] -F muttrc ] ] -m type ] ] -f mailbox ]
5067 To compose a new message
5069 mutt ] -n ] ] -F muttrc ] ] -a file ] ] -c address ] ] -i filename ] ] -s
5070 subject ] address ] address ... ]
5072 Mutt-ng also supports a ``batch'' mode to send prepared messages. Simply
5073 redirect input from the file you wish to send. For example,
5075 mutt -s "data set for run #2" professor@bigschool.edu < ~/run2.dat
5077 This command will send a message to ``professor@bigschool.edu'' with a
5078 subject of ``data set for run #2''. In the body of the message will be the
5079 contents of the file ``~/run2.dat''.
5083 Table 7.2. Reference: Patterns
5085 Pattern Modifier Argument Description
5087 ~b/=b EXPR messages which contain EXPR in the message
5089 ~B/=B EXPR messages which contain EXPR in the whole
5091 ~c/=c EXPR messages carbon-copied to EXPR
5092 ~C/=C EXPR message is either to: or cc: EXPR
5093 ~D/=D deleted messages
5094 ~d/=d [MIN]-[MAX] messages with ``date-sent'' in a Date range
5095 ~E/=E expired messages
5096 ~e/=e EXPR message which contains EXPR in the ``Sender''
5098 ~F/=F flagged messages
5099 ~f/=f EXPR messages originating from EXPR
5100 ~g/=g cryptographically signed messages
5101 ~G/=G cryptographically encrypted messages
5102 ~H/=H EXPR messages with a spam attribute matching EXPR
5103 ~h/=h EXPR messages which contain EXPR in the message
5105 ~k/=k message contains PGP key material
5106 ~i/=i EXPR message which match ID in the ``Message-ID''
5108 ~L/=L EXPR message is either originated or received by
5110 ~l/=l message is addressed to a known mailing list
5111 ~m/=m [MIN]-[MAX] message in the range MIN to MAX *)
5112 ~M/=M multipart messages
5113 ~n/=n [MIN]-[MAX] messages with a score in the range MIN to MAX
5117 ~p/=p message is addressed to you (consults
5119 ~P/=P message is from you (consults alternates)
5120 ~Q/=Q messages which have been replied to
5122 ~r/=r [MIN]-[MAX] messages with ``date-received'' in a Date
5124 ~S/=S superseded messages
5125 ~s/=s EXPR messages having EXPR in the ``Subject''
5127 ~T/=T tagged messages
5128 ~t/=t EXPR messages addressed to EXPR
5129 ~U/=U unread messages
5130 ~u/=u message is addressed to a subscribed mailing
5132 ~v/=v message is part of a collapsed thread.
5133 ~V/=V cryptographically verified messages
5134 messages which contain EXPR in the
5135 ~w/=w EXPR `Newsgroups' field (if compiled with NNTP
5137 ~x/=x EXPR messages which contain EXPR in the
5139 ~X/=X [MIN]-[MAX] messages with MIN to MAX attachments *)
5140 ~y/=y EXPR messages which contain EXPR in the `X-Label'
5142 ~z/=z [MIN]-[MAX] messages with a size in the range MIN to MAX
5144 ~=/== duplicated messages (see $duplicate_threads)
5145 ~$/=$ unreferenced messages (requires threaded
5147 ``From'' contains realname and
5148 ~*/=* (syntactically) valid address (excluded are
5149 addresses matching against alternates or any
5152 Where EXPR are regexp. Special attention has to be made when using regular
5153 expressions inside of patterns. Specifically, Mutt-ng's parser for these
5154 patterns will strip one level of backslash (\), which is normally used for
5155 quoting. If it is your intention to use a backslash in the regular
5156 expression, you will need to use two backslashes instead (\\).
5158 *) The forms <[MAX], >[MIN], [MIN]- and -[MAX] are allowed, too.
5160 3. Configuration Commands
5162 The following are the commands understood by mutt.
5164 o account-hook pattern command
5166 o aliaskeyaddress [, address, ... ]
5168 o unalias [ * | key ... ]
5170 o alternatesregexp [ regexp ... ]
5172 o unalternates [ * | regexp ... ]
5174 o alternative_ordermimetype [ mimetype ... ]
5176 o unalternative_ordermimetype [ mimetype ... ]
5178 o append-hook regexp command
5180 o auto_viewmimetype [ mimetype ... ]
5182 o unauto_viewmimetype [ mimetype ... ]
5184 o bind map key function
5186 o charset-hook alias charset
5188 o close-hook regexp command
5190 o colorobjectforegroundbackground [ regexp ]
5192 o uncolorindexpattern [ pattern ... ]
5194 o execfunction [ function ... ]
5196 o fcc-hook pattern mailbox
5198 o fcc-save-hook pattern mailbox
5200 o folder-hook pattern command
5202 o hdr_orderheader [ header ... ]
5204 o unhdr_orderheader [ header ... ]
5206 o charset-hook charset local-charset
5208 o ignorepattern [ pattern ... ]
5210 o unignorepattern [ pattern ... ]
5212 o listsregexp [ regexp ... ]
5214 o unlistsregexp [ regexp ... ]
5216 o macromenukeysequence [ description ]
5218 o mailboxesfilename [ filename ... ]
5220 o mbox-hook pattern mailbox
5222 o message-hook pattern command
5224 o mime_lookupmimetype [ mimetype ... ]
5226 o unmime_lookupmimetype [ mimetype ... ]
5228 o monoobject attribute [ regexp ]
5230 o unmonoindexpattern [ pattern ... ]
5234 o unmy_hdrfield [ field ... ]
5236 o open-hook regexp command
5238 o crypt-hook pattern key-id
5242 o resetvariable [ variable ... ]
5244 o save-hook regexp filename
5246 o score pattern value
5248 o unscorepattern [ pattern ... ]
5250 o send-hook regexp command
5252 o reply-hook regexp command
5254 o set [no|inv]variable[ =value ] [ variable ... ]
5256 o unsetvariable [ variable ... ]
5260 o spam pattern format
5264 o subscriberegexp [ regexp ... ]
5266 o unsubscriberegexp [ regexp ... ]
5268 o togglevariable [ variable ... ]
5272 4. Configuration variables
5274 The following list contains all variables which, in the process of
5275 providing more consistency, have been renamed and are partially even
5276 removed already. The left column contains the old synonym variables, the
5277 right column the full/new name:
5279 Table 7.3. Reference: Obsolete Variables
5282 edit_hdrs $edit_headers
5283 forw_decode $forward_decode
5284 forw_format $forward_format
5285 forw_quote $forward_quote
5286 hdr_format $index_format
5287 indent_str $indent_string
5288 mime_fwd $mime_forward
5289 msg_format $message_format
5290 pgp_autosign $crypt_autosign
5291 pgp_autoencrypt $crypt_autoencrypt
5292 pgp_replyencrypt $crypt_replyencrypt
5293 pgp_replysign $crypt_replysign
5294 pgp_replysignencrypted $crypt_replysignencrypted
5295 pgp_verify_sig $crypt_verify_sig
5296 pgp_create_traditional $pgp_autoinline
5297 pgp_auto_traditional $pgp_replyinline
5298 forw_decrypt $forward_decrypt
5299 smime_sign_as $smime_default_key
5300 post_indent_str $post_indent_string
5301 print_cmd $print_command
5302 shorten_hierarchy $sidebar_shorten_hierarchy
5303 ask_followup_to $nntp_ask_followup_to
5304 ask_x_comment_to $nntp_ask_x_comment_to
5305 catchup_newsgroup $nntp_catchup
5306 followup_to_poster $nntp_followup_to_poster
5307 group_index_format $nntp_group_index_format
5309 mime_subject $nntp_mime_subject
5310 news_cache_dir $nntp_cache_dir
5311 news_server $nntp_host
5313 nntp_poll $nntp_mail_check
5314 pop_checkinterval $pop_mail_check
5315 post_moderated $nntp_post_moderated
5316 save_unsubscribed $nntp_save_unsubscribed
5317 show_new_news $nntp_show_new_news
5318 show_only_unread $nntp_show_only_unread
5319 x_comment_to $nntp_x_comment_to
5320 smtp_auth_username $smtp_user
5321 smtp_auth_password $smtp_pass
5322 user_agent $agent_string
5324 The contrib subdirectory contains a script named update-config.pl which
5327 A complete list of current variables follows.
5335 This variable specifies whether to abort sending if no attachment was made
5336 but the content references them, i.e. the content matches the regular
5337 expression given in $attach_remind_regexp. If a match was found and this
5338 variable is set to yes, message sending will be aborted but the mail will
5339 be send nevertheless if set to no.
5341 This variable and $attach_remind_regexp are intended to remind the user to
5342 attach files if the message's text references them.
5344 See also the $attach_remind_regexp variable.
5352 If set to yes, when composing messages and no subject is given at the
5353 subject prompt, composition will be aborted. If set to no, composing
5354 messages with no subject given at the subject prompt will never be
5357 3. $abort_unmodified
5363 If set to yes, composition will automatically abort after editing the
5364 message body if no changes are made to the file (this check only happens
5365 after the first edit of the file). When set to no, composition will never
5374 When set, Mutt-ng will add a ``User-Agent:'' header to outgoing messages,
5375 indicating which version of Mutt-ng was used for composing them.
5381 Default: "~/.muttngrc"
5383 The default file in which to save aliases created by the ``create-alias''
5386 Note: Mutt-ng will not automatically source this file; you must explicitly
5387 use the ``source'' command for it to be executed.
5393 Default: "%4n %2f %t %-10a %r"
5395 Specifies the format of the data displayed for the ``alias'' menu. The
5396 following printf(3)-style sequences are available:
5404 flags - currently, a "d" for an alias marked for deletion
5412 address which alias expands to
5416 character which indicates if the alias is tagged for inclusion
5424 Controls whether 8-bit data is converted to 7-bit using either
5425 quoted-printable or base64 encoding when sending mail.
5433 Controls whether ANSI color codes in messages (and color tags in rich text
5434 messages) are to be interpreted. Messages containing these codes are rare,
5435 but if this option is set, their text will be colored accordingly. Note
5436 that this may override your color choices, and even present a security
5437 problem, since a message could include a line like ``[-- PGP output
5438 follows ..." and give it the same color as your attachment color.
5446 When set, an arrow (``->'') will be used to indicate the current entry in
5447 menus instead of highlighting the whole line. On slow network or modem
5448 links this will make response faster because there is less that has to be
5449 redrawn on the screen when moving to the next or previous entries in the
5458 If set, Mutt-ng will use plain ASCII characters when displaying thread and
5459 attachment trees, instead of the default ACS characters.
5467 If set, Mutt-ng will prompt you for blind-carbon-copy (Bcc) recipients
5468 before editing an outgoing message.
5476 If set, Mutt-ng will prompt you for carbon-copy (Cc) recipients before
5477 editing the body of an outgoing message.
5479 13. $assumed_charset
5485 This variable is a colon-separated list of character encoding schemes for
5486 messages without character encoding indication. Header field values and
5487 message body content without character encoding indication would be
5488 assumed that they are written in one of this list. By default, all the
5489 header fields and message body without any charset indication are assumed
5492 For example, Japanese users might prefer this:
5494 set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
5496 However, only the first content is valid for the message body. This
5497 variable is valid only if $strict_mime is unset.
5503 Default: "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "
5505 This variable describes the format of the ``attachment'' menu. The
5506 following printf(3)-style sequences are understood:
5514 requires charset conversion (n or c)
5526 MIME Content-Transfer-Encoding: header field
5534 MIME Content-Disposition: header field (I=inline, A=attachment)
5550 "Q", if MIME part qualifies for attachment counting
5562 graphic tree characters
5566 unlink (=to delete) flag
5570 number of qualifying MIME parts in this part and its children
5574 right justify the rest of the string and pad with character "X"
5578 pad to the end of the line with character "X"
5580 15. $attach_remind_regexp
5582 Type: regular expression
5586 If this variable is non-empty, muttng will scan a message's contents
5587 before sending for this regular expression. If it is found, it will ask
5588 for what to do depending on the setting of $abort_noattach.
5590 This variable and $abort_noattach are intended to remind the user to
5591 attach files if the message's text references them.
5599 The separator to add between attachments when operating (saving, printing,
5600 piping, etc) on a list of tagged attachments.
5608 If this variable is unset, when operating (saving, printing, piping, etc)
5609 on a list of tagged attachments, Mutt-ng will concatenate the attachments
5610 and will operate on them as a single attachment. The ``$attach_sep''
5611 separator is added after each attachment. When set, Mutt-ng will operate
5612 on the attachments one by one.
5618 Default: "On %d, %n wrote:"
5620 This is the string that will precede a message which has been included in
5621 a reply. For a full listing of defined printf(3)-like sequences see the
5622 section on ``$index_format''.
5630 When set, functions in the index menu which affect a message will be
5631 applied to all tagged messages (if there are any). When unset, you must
5632 first use the ``tag-prefix'' function (default: ";") to make the next
5633 function apply to all tagged messages.
5641 When set along with ``$edit_headers'', Mutt-ng will skip the initial
5642 send-menu and allow you to immediately begin editing the body of your
5643 message. The send-menu may still be accessed once you have finished
5644 editing the body of your message.
5646 Also see ``$fast_reply''.
5654 When this variable is set, Mutt-ng will beep when an error occurs.
5662 When this variable is set, Mutt-ng will beep whenever it prints a message
5663 notifying you of new mail. This is independent of the setting of the
5672 Controls whether you will be asked to confirm bouncing messages. If set to
5673 yes you don't get asked if you want to bounce a message. Setting this
5674 variable to no is not generally useful, and thus not recommended, because
5675 you are unable to bounce messages.
5677 24. $bounce_delivered
5683 When this variable is set, Mutt-ng will include Delivered-To: header
5684 fields when bouncing messages. Postfix users may wish to unset this
5687 25. $braille_friendly
5693 When this variable is set, mutt will place the cursor at the beginning of
5694 the current line in menus, even when the arrow_cursor variable is unset,
5695 making it easier for blind persons using Braille displays to follow these
5696 menus. The option is disabled by default because many visual terminals
5697 don't permit making the cursor invisible.
5699 26. $certificate_file
5703 Default: "~/.mutt_certificates"
5705 Availability: SSL or GNUTLS
5707 This variable specifies the file where the certificates you trust are
5708 saved. When an unknown certificate is encountered, you are asked if you
5709 accept it or not. If you accept it, the certificate can also be saved in
5710 this file and further connections are automatically accepted.
5712 You can also manually add CA certificates in this file. Any server
5713 certificate that is signed with one of these CA certificates are also
5714 automatically accepted.
5716 Example: set certificate_file=~/.muttng/certificates
5724 Character set your terminal uses to display and enter textual data.
5732 Note: this option only affects maildir and MH style mailboxes.
5734 When set, Mutt-ng will check for new mail delivered while the mailbox is
5735 open. Especially with MH mailboxes, this operation can take quite some
5736 time since it involves scanning the directory and checking each file to
5737 see if it has already been looked at. If it's unset, no check for new mail
5738 is performed while the mailbox is open.
5740 29. $collapse_unread
5746 When unset, Mutt-ng will not collapse a thread if it contains any unread
5753 Default: "-- Mutt-ng: Compose [Approx. msg size: %l Atts: %a]%>-"
5755 Controls the format of the status line displayed in the ``compose'' menu.
5756 This string is similar to ``$status_format'', but has its own set of
5757 printf(3)-like sequences:
5761 total number of attachments
5769 approximate size (in bytes) of the current message
5773 Mutt-ng version string
5775 See the text describing the ``$status_format'' option for more information
5776 on how to set ``$compose_format''.
5784 When defined, Mutt-ng will recode commands in rc files from this encoding.
5792 When set, Mutt-ng will prompt for confirmation when appending messages to
5793 an existing mailbox.
5801 When set, Mutt-ng will prompt for confirmation when saving messages to a
5802 mailbox which does not yet exist before creating it.
5804 34. $connect_timeout
5810 Causes Mutt-ng to timeout a network connection (for IMAP or POP) after
5811 this many seconds if the connection is not able to be established. A
5812 negative value causes Mutt-ng to wait indefinitely for the connection to
5819 Default: "text/plain"
5821 Sets the default Content-Type: header field for the body of newly composed
5830 This variable controls whether or not copies of your outgoing messages
5831 will be saved for later references. Also see ``$record'', ``$save_name'',
5832 ``$force_name'' and ``fcc-hook''.
5834 37. $count_attachments
5840 This variable controls whether attachments should be counted for
5841 $index_format and its %X expando or not. As for scoring, this variable can
5842 be used to selectively turn counting on or off instead of removing and
5843 re-adding rules as prefered because counting requires full loading of
5846 If it is set and rules were defined via the attachments and/or
5847 unattachments commands, counting will be done. If it is unset no counting
5848 will be done regardless whether rules were defined or not.
5850 38. $crypt_autoencrypt
5856 Setting this variable will cause Mutt-ng to always attempt to PGP encrypt
5857 outgoing messages. This is probably only useful in connection to the
5858 send-hook command. It can be overridden by use of the pgp-menu, when
5859 encryption is not required or signing is requested as well. If
5860 ``$smime_is_default'' is set, then OpenSSL is used instead to create
5861 S/MIME messages and settings can be overridden by use of the smime-menu.
5870 This variable controls whether or not Mutt-ng may automatically enable PGP
5871 encryption/signing for messages. See also ``$crypt_autoencrypt'',
5872 ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
5873 ``$smime_is_default''.
5881 Setting this variable will cause Mutt-ng to always attempt to
5882 cryptographically sign outgoing messages. This can be overridden by use of
5883 the pgp-menu, when signing is not required or encryption is requested as
5884 well. If ``$smime_is_default'' is set, then OpenSSL is used instead to
5885 create S/MIME messages and settings can be overridden by use of the
5886 smime-menu. (Crypto only)
5888 41. $crypt_autosmime
5894 This variable controls whether or not Mutt-ng may automatically enable
5895 S/MIME encryption/signing for messages. See also ``$crypt_autoencrypt'',
5896 ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
5897 ``$smime_is_default''.
5899 42. $crypt_replyencrypt
5905 If set, automatically PGP or OpenSSL encrypt replies to messages which are
5906 encrypted. (Crypto only)
5908 43. $crypt_replysign
5914 If set, automatically PGP or OpenSSL sign replies to messages which are
5917 Note: this does not work on messages that are encrypted and signed!
5920 44. $crypt_replysignencrypted
5926 If set, automatically PGP or OpenSSL sign replies to messages which are
5927 encrypted. This makes sense in combination with ``$crypt_replyencrypt'',
5928 because it allows you to sign all messages which are automatically
5929 encrypted. This works around the problem noted in ``$crypt_replysign'',
5930 that Mutt-ng is not able to find out whether an encrypted message is also
5931 signed. (Crypto only)
5933 45. $crypt_timestamp
5939 If set, Mutt-ng will include a time stamp in the lines surrounding PGP or
5940 S/MIME output, so spoofing such lines is more difficult. If you are using
5941 colors to mark these lines, and rely on these, you may unset this setting.
5944 46. $crypt_use_gpgme
5950 This variable controls the use the GPGME enabled crypto backends. If it is
5951 set and Mutt-ng was build with gpgme support, the gpgme code for S/MIME
5952 and PGP will be used instead of the classic code.
5954 Note: You need to use this option in your .muttngrc configuration file as
5955 it won't have any effect when used interactively.
5957 47. $crypt_verify_sig
5963 If ``yes'', always attempt to verify PGP or S/MIME signatures. If ``ask'',
5964 ask whether or not to verify the signature. If ``no'', never attempt to
5965 verify cryptographic signatures. (Crypto only)
5971 Default: "!%a, %b %d, %Y at %I:%M:%S%p %Z"
5973 This variable controls the format of the date printed by the ``%d''
5974 sequence in ``$index_format''. This is passed to strftime(3) to process
5977 Unless the first character in the string is a bang (``!''), the month and
5978 week day names are expanded according to the locale specified in the
5979 variable ``$locale''. If the first character in the string is a bang, the
5980 bang is discarded, and the month and week day names in the rest of the
5981 string are expanded in the C locale (that is in US English).
5991 This variable specifies the current debug level and may be used to
5992 increase or decrease the verbosity level during runtime. It overrides the
5993 level given with the -d command line option.
5995 Currently, this number must be >= 0 and <= 5 and muttng must be started
5996 with -d to enable debugging at all; enabling at runtime is not possible.
6002 Default: "~f %s !~P | (~P ~C %s)"
6004 This variable controls how send-hooks, message-hooks, save-hooks, and
6005 fcc-hooks will be interpreted if they are specified with only a simple
6006 regexp, instead of a matching pattern. The hooks are expanded when they
6007 are declared, so a hook will be interpreted according to the value of this
6008 variable at the time the hook is declared. The default value matches if
6009 the message is either from a user matching the regular expression given,
6010 or if it is from you (if the from address matches ``alternates'') and is
6011 to or cc'ed to a user matching the given regular expression.
6019 Controls whether or not messages are really deleted when closing or
6020 synchronizing a mailbox. If set to yes, messages marked for deleting will
6021 automatically be purged without prompting. If set to no, messages marked
6022 for deletion will be kept in the mailbox.
6030 When sending messages with format=flowed by setting the $text_flowed
6031 variable, this variable specifies whether to also set the DelSp parameter
6032 to yes. If this is unset, no additional parameter will be send as a value
6033 of no already is the default behavior.
6035 Note: this variable only has an effect on outgoing messages (if
6036 $text_flowed is set) but not on incomming.
6044 If this option is set, Mutt-ng will untag messages when marking them for
6045 deletion. This applies when you either explicitly delete a message, or
6046 when you save it to another folder.
6048 54. $digest_collapse
6054 If this option is set, Mutt-ng's received-attachments menu will not show
6055 the subparts of individual messages in a multipart/digest. To see these
6056 subparts, press 'v' on that menu.
6064 When set, specifies a command used to filter messages. When a message is
6065 viewed it is passed as standard input to $display_filter, and the filtered
6066 message is read from the standard output.
6068 56. $dotlock_program
6072 Default: "$muttng_bindir/muttng_dotlock"
6074 Availability: Standalone and Dotlock
6076 Contains the path of the muttng_dotlock(1) binary to be used by Mutt-ng.
6084 Note: you should not enable this unless you are using Sendmail 8.8.x or
6085 greater or in connection with the SMTP support via libESMTP.
6087 This variable sets the request for when notification is returned. The
6088 string consists of a comma separated list (no spaces!) of one or more of
6089 the following: never, to never request notification, failure, to request
6090 notification on transmission failure, delay, to be notified of message
6091 delays, success, to be notified of successful transmission.
6093 Example: set dsn_notify="failure,delay"
6101 Note: you should not enable this unless you are using Sendmail 8.8.x or
6102 greater or in connection with the SMTP support via libESMTP.
6104 This variable controls how much of your message is returned in DSN
6105 messages. It may be set to either hdrs to return just the message header,
6106 or full to return the full message.
6108 Example: set dsn_return=hdrs
6110 59. $duplicate_threads
6116 This variable controls whether Mutt-ng, when sorting by threads, threads
6117 messages with the same Message-ID: header field together. If it is set, it
6118 will indicate that it thinks they are duplicates of each other with an
6119 equals sign in the thread diagram.
6127 This option allows you to edit the header of your outgoing messages along
6128 with the body of your message.
6130 Which empty header fields to show is controlled by the $editor_headers
6139 This variable specifies which editor is used by Mutt-ng. It defaults to
6140 the value of the $VISUAL, or $EDITOR, environment variable, or to the
6141 string "vi" if neither of those are set.
6147 Default: "From: To: Cc: Bcc: Subject: Reply-To: Newsgroups: Followup-To:
6150 If $edit_headers is set, this space-separated list specifies which
6151 non-empty header fields to edit in addition to user-defined headers.
6153 Note: if $edit_headers had to be turned on by force because $strict_mailto
6154 is unset, this option has no effect.
6162 When set, Mutt-ng will quoted-printable encode messages when they contain
6163 the string ``From '' (note the trailing space) in the beginning of a line.
6164 Useful to avoid the tampering certain mail delivery and transport agents
6165 tend to do with messages.
6167 Note: as Mutt-ng currently violates RfC3676 defining format=flowed, it's
6168 <em/strongly/ advised to set this option although discouraged by the
6169 standard. Alternatively, you must take care of space-stuffing <tt/From /
6170 lines (with a trailing space) yourself.
6180 The file which includes random data that is used to initialize SSL library
6183 65. $envelope_from_address
6185 Type: e-mail address
6189 Manually sets the envelope sender for outgoing messages. This value is
6190 ignored if ``$use_envelope_from'' is unset.
6198 Escape character to use for functions in the builtin editor.
6206 When set, the initial prompt for recipients and subject are skipped when
6207 replying to messages, and the initial prompt for subject is skipped when
6208 forwarding messages.
6210 Note: this variable has no effect when the ``$autoedit'' variable is set.
6218 This variable controls whether or not attachments on outgoing messages are
6219 saved along with the main body of your message.
6227 When this variable is set, FCCs will be stored unencrypted and unsigned,
6228 even when the actual message is encrypted and/or signed. (PGP only)
6236 This variable is a colon-separated list of character encoding schemes for
6237 text file attatchments. If unset, $charset value will be used instead. For
6238 example, the following configuration would work for Japanese text
6241 set file_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
6243 Note: ``iso-2022-*'' must be put at the head of the value as shown above
6252 Specifies the default location of your mailboxes. A ``+'' or ``='' at the
6253 beginning of a pathname will be expanded to the value of this variable.
6254 Note that if you change this variable from the default value you need to
6255 make sure that the assignment occurs before you use ``+'' or ``='' for any
6256 other variables since expansion takes place during the ``set'' command.
6262 Default: "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"
6264 This variable allows you to customize the file browser display to your
6265 personal taste. This string is similar to ``$index_format'', but has its
6266 own set of printf(3)-like sequences:
6274 date/time folder was last modified
6286 group name (or numeric gid, if missing)
6290 number of hard links
6294 N if folder has new mail, blank otherwise
6302 * if the file is tagged, blank otherwise
6306 owner name (or numeric uid, if missing)
6310 right justify the rest of the string and pad with character "X"
6314 pad to the end of the line with character "X"
6322 Controls whether or not the Mail-Followup-To: header field is generated
6323 when sending mail. When set, Mutt-ng will generate this field when you are
6324 replying to a known mailing list, specified with the ``subscribe'' or
6325 ``lists'' commands or detected by common mailing list headers.
6327 This field has two purposes. First, preventing you from receiving
6328 duplicate copies of replies to messages which you send to mailing lists.
6329 Second, ensuring that you do get a reply separately for any messages sent
6330 to known lists to which you are not subscribed. The header will contain
6331 only the list's address for subscribed lists, and both the list address
6332 and your own email address for unsubscribed lists. Without this header, a
6333 group reply to your message sent to a subscribed list will be sent to both
6334 the list and your address, resulting in two copies of the same email for
6337 74. $force_buffy_check
6343 When set, it causes Mutt-ng to check for new mail when the buffy-list
6344 command is invoked. When unset, buffy_list will just list all mailboxes
6345 which are already known to have new mail.
6347 Also see the following variables: ``$timeout'', ``$mail_check'' and
6348 ``$imap_mail_check''.
6350 75. $force_list_reply
6356 This variable controls what effect ordinary replies have on mailing list
6357 messages: if set, a normal reply will be interpreted as list-reply while
6358 if it's unset the reply functions work as usual.
6366 This variable is similar to ``$save_name'', except that Mutt-ng will store
6367 a copy of your outgoing message by the username of the address you are
6368 sending to even if that mailbox does not exist.
6370 Also see the ``$record'' variable.
6378 Controls the decoding of complex MIME messages into text/plain when
6379 forwarding a message. The message header is also RFC2047 decoded. This
6380 variable is only used, if ``$mime_forward'' is unset, otherwise
6381 ``$mime_forward_decode'' is used instead.
6383 78. $forward_decrypt
6389 Controls the handling of encrypted messages when forwarding a message.
6390 When set, the outer layer of encryption is stripped off. This variable is
6391 only used if ``$mime_forward'' is set and ``$mime_forward_decode'' is
6400 This quadoption controls whether or not the user is automatically placed
6401 in the editor when forwarding messages. For those who always want to
6402 forward with no modification, use a setting of no.
6410 This variable controls the default subject when forwarding a message. It
6411 uses the same format sequences as the ``$index_format'' variable.
6419 When set forwarded messages included in the main body of the message (when
6420 ``$mime_forward'' is unset) will be quoted using ``$indent_string''.
6424 Type: e-mail address
6428 This variable contains a default from address. It can be overridden using
6429 my_hdr (including from send-hooks) and ``$reverse_name''. This variable is
6430 ignored if ``$use_from'' is unset.
6432 E.g. you can use send-hook Mutt-ng-devel@lists.berlios.de 'my_hdr From:
6433 Foo Bar <foo@bar.fb>' when replying to the Mutt-ng developer's mailing
6434 list and Mutt-ng takes this email address.
6436 Defaults to the contents of the environment variable $EMAIL.
6440 Type: regular expression
6444 A regular expression used by Mutt-ng to parse the GECOS field of a
6445 password entry when expanding the alias. By default the regular expression
6446 is set to ``^[^,]*'' which will return the string up to the first ``,''
6447 encountered. If the GECOS field contains a string like "lastname,
6448 firstname" then you should do: set gecos_mask=".*".
6450 This can be useful if you see the following behavior: you address a e-mail
6451 to user ID stevef whose full name is Steve Franklin. If Mutt-ng expands
6452 stevef to ``Franklin'' stevef@foo.bar then you should set the gecos_mask
6453 to a regular expression that will match the whole name so Mutt-ng will
6454 expand ``Franklin'' to ``Franklin, Steve''.
6462 When unset, the header fields normally added by the ``my_hdr'' command are
6463 not created. This variable must be unset before composing a new message or
6464 replying in order to take effect. If set, the user defined header fields
6465 are added to every new message.
6473 When set, this variable causes Mutt-ng to include the header of the
6474 message you are replying to into the edit buffer. The ``$weed'' setting
6483 Availability: Header Cache
6485 The $header_cache variable points to the header cache database.
6487 If $header_cache points to a directory it will contain a header cache
6488 database per folder. If $header_cache points to a file that file will be a
6489 single global header cache. By default it is unset so no header caching
6492 87. $header_cache_compress
6498 If enabled the header cache will be compressed. So only one fifth of the
6499 usual diskspace is used, but the uncompression can result in a slower open
6500 of the cached folder.
6508 When set, help lines describing the bindings for the major functions
6509 provided by each menu are displayed on the first line of the screen.
6511 Note: The binding will not be displayed correctly if the function is bound
6512 to a sequence rather than a single keystroke. Also, the help line may not
6513 be updated if a binding is changed while Mutt-ng is running. Since this
6514 variable is primarily aimed at new users, neither of these should present
6523 When set, Mutt-ng will skip the host name part of ``$hostname'' variable
6524 when adding the domain part to addresses. This variable does not affect
6525 the generation of Message-ID: header fields, and it will not lead to the
6526 cut-off of first-level domains.
6534 When set, Mutt-ng will not show the presence of messages that are hidden
6535 by limiting, in the thread tree.
6543 When set, Mutt-ng will not show the presence of missing messages in the
6546 92. $hide_thread_subject
6552 When set, Mutt-ng will not show the subject of messages in the thread tree
6553 that have the same subject as their parent or closest previously displayed
6556 93. $hide_top_limited
6562 When set, Mutt-ng will not show the presence of messages that are hidden
6563 by limiting, at the top of threads in the thread tree. Note that when
6564 $hide_missing is set, this option will have no effect.
6566 94. $hide_top_missing
6572 When set, Mutt-ng will not show the presence of missing messages at the
6573 top of threads in the thread tree. Note that when $hide_limited is set,
6574 this option will have no effect.
6582 This variable controls the size (in number of strings remembered) of the
6583 string history buffer. The buffer is cleared each time the variable is
6586 96. $honor_followup_to
6592 This variable controls whether or not a Mail-Followup-To: header field is
6593 honored when group-replying to a message.
6601 Specifies the hostname to use after the ``@'' in local e-mail addresses
6602 and during generation of Message-ID: headers.
6604 Please be sure to really know what you are doing when changing this
6605 variable to configure a custom domain part of Message-IDs.
6607 98. $ignore_list_reply_to
6613 Affects the behaviour of the reply function when replying to messages from
6614 mailing lists. When set, if the ``Reply-To:'' header field is set to the
6615 same value as the ``To:'' header field, Mutt-ng assumes that the
6616 ``Reply-To:'' header field was set by the mailing list to automate
6617 responses to the list, and will ignore this field. To direct a response to
6618 the mailing list when this option is set, use the list-reply function;
6619 group-reply will reply to both the sender and the list. Remember: This
6620 option works only for mailing lists which are explicitly set in your
6621 muttngrc configuration file.
6623 99. $imap_authenticators
6631 This is a colon-delimited list of authentication methods Mutt-ng may
6632 attempt to use to log in to an IMAP server, in the order Mutt-ng should
6633 try them. Authentication methods are either ``login'' or the right side of
6634 an IMAP ``AUTH='' capability string, e.g. ``digest-md5'', ``gssapi'' or
6635 ``cram-md5''. This parameter is case-insensitive.
6637 If this parameter is unset (the default) Mutt-ng will try all available
6638 methods, in order from most-secure to least-secure.
6640 Example: set imap_authenticators="gssapi:cram-md5:login"
6642 Note: Mutt-ng will only fall back to other authentication methods if the
6643 previous methods are unavailable. If a method is available but
6644 authentication fails, Mutt-ng will not connect to the IMAP server.
6646 100. $imap_check_subscribed
6652 When set, mutt will fetch the set of subscribed folders from your server
6653 on connection, and add them to the set of mailboxes it polls for new mail.
6654 See also the ``mailboxes'' command.
6656 101. $imap_delim_chars
6664 This contains the list of characters which you would like to treat as
6665 folder separators for displaying IMAP paths. In particular it helps in
6666 using the '=' shortcut for your $folder variable.
6676 Mutt-ng requests these header fields in addition to the default headers
6677 (``DATE FROM SUBJECT TO CC MESSAGE-ID REFERENCES CONTENT-TYPE
6678 CONTENT-DESCRIPTION IN-REPLY-TO REPLY-TO LINES X-LABEL'') from IMAP
6679 servers before displaying the ``index'' menu. You may want to add more
6680 headers for spam detection.
6682 Note: This is a space separated list.
6684 103. $imap_home_namespace
6692 You normally want to see your personal folders alongside your INBOX in the
6693 IMAP browser. If you see something else, you may set this variable to the
6694 IMAP path to your folders.
6696 104. $imap_keepalive
6704 This variable specifies the maximum amount of time in seconds that Mutt-ng
6705 will wait before polling open IMAP connections, to prevent the server from
6706 closing them before Mutt-ng has finished with them.
6708 The default is well within the RFC-specified minimum amount of time (30
6709 minutes) before a server is allowed to do this, but in practice the RFC
6710 does get violated every now and then.
6712 Reduce this number if you find yourself getting disconnected from your
6713 IMAP server due to inactivity.
6715 105. $imap_list_subscribed
6723 This variable configures whether IMAP folder browsing will look for only
6724 subscribed folders or all folders. This can be toggled in the IMAP browser
6725 with the toggle-subscribed function.
6735 Your login name on the IMAP server.
6737 This variable defaults to the value of ``$imap_user.''
6739 107. $imap_mail_check
6745 This variable configures how often (in seconds) Mutt-ng should look for
6746 new mail in IMAP folders. This is split from the ``mail_check'' variable
6747 to generate less traffic and get more accurate information for local
6758 Specifies the password for your IMAP account. If unset, Mutt-ng will
6759 prompt you for your password when you invoke the fetch-mail function.
6761 Warning: you should only use this option when you are on a fairly secure
6762 machine, because the superuser can read your configuration even if you are
6763 the only one who can read the file.
6773 When set, Mutt-ng will not open new IMAP connections to check for new
6774 mail. Mutt-ng will only check for new mail over existing IMAP connections.
6775 This is useful if you don't want to be prompted to user/password pairs on
6776 Mutt-ng invocation, or if opening the connection is slow.
6786 If set, Mutt-ng will avoid implicitly marking your mail as read whenever
6787 you fetch a message from the server. This is generally a good thing, but
6788 can make closing an IMAP folder somewhat slower. This option exists to
6789 appease speed freaks.
6791 111. $imap_reconnect
6799 Controls whether or not Mutt-ng will try to reconnect to IMAP server when
6800 the connection is lost.
6802 112. $imap_servernoise
6810 When set, Mutt-ng will display warning messages from the IMAP server as
6811 error messages. Since these messages are often harmless, or generated due
6812 to configuration problems on the server which are out of the users' hands,
6813 you may wish to suppress them at some point.
6823 The name of the user whose mail you intend to access on the IMAP server.
6825 This variable defaults to your user name on the local machine.
6827 114. $implicit_autoview
6833 If set, Mutt-ng will look for a mailcap entry with the ``copiousoutput''
6834 flag set for every MIME attachment it doesn't have an internal viewer
6835 defined for. If such an entry is found, Mutt-ng will use the viewer
6836 defined in that entry to convert the body part to text form.
6844 Controls whether or not a copy of the message(s) you are replying to is
6845 included in your reply.
6847 116. $include_onlyfirst
6853 Controls whether or not Mutt-ng includes only the first attachment of the
6854 message you are replying.
6862 Specifies the string to prepend to each line of text quoted in a message
6863 to which you are replying. You are strongly encouraged not to change this
6864 value, as it tends to agitate the more fanatical netizens.
6870 Default: "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"
6872 This variable allows you to customize the message index display to your
6875 ``Format strings'' are similar to the strings used in the ``C'' function
6876 printf(3) to format output (see the man page for more detail). The
6877 following sequences are defined in Mutt-ng:
6881 address of the author
6885 reply-to address (if present; otherwise: address of author)
6889 filename of the original message folder (think mailBox)
6893 the list to which the letter was sent, or else the folder name
6898 number of characters (bytes) in the message
6902 current message number
6906 date and time of the message in the format specified by
6907 ``date_format'' converted to sender's time zone
6911 date and time of the message in the format specified by
6912 ``date_format'' converted to the local time zone
6916 current message number in thread
6920 number of messages in current thread
6924 entire From: line (address + real name)
6928 author name, or recipient name if the message is from you
6932 spam attribute(s) of this message
6936 newsgroup name (if compiled with nntp support)
6940 message-id of the current message
6944 number of lines in the message (does not work with maildir, mh,
6945 and possibly IMAP folders)
6949 If an address in the To or CC header field matches an address
6950 defined by the users ``subscribe'' command, this displays "To
6951 <list-name>", otherwise the same as %F.
6955 total number of message in the mailbox
6959 number of hidden messages if the thread is collapsed.
6967 author's real name (or address if missing)
6971 (_O_riginal save folder) Where Mutt-ng would formerly have stashed
6972 the message: list name or recipient name if no list
6976 subject of the message
6980 status of the message (N/D/d/!/r/*)
6984 `to:' field (recipients)
6988 the appropriate character from the $to_chars string
6992 user (login) name of the author
6996 first name of the author, or the recipient if the message is from
7001 name of organization of author (`organization:' field)
7005 number of attachments
7009 `x-label:' field, if present
7013 `x-label' field, if present, and (1) not at part of a thread tree,
7014 (2) at the top of a thread, or (3) `x-label' is different from
7015 preceding message's `x-label'.
7019 message status flags
7023 the date and time of the message is converted to sender's time
7024 zone, and ``fmt'' is expanded by the library function
7025 ``strftime''; a leading bang disables locales
7029 the date and time of the message is converted to the local time
7030 zone, and ``fmt'' is expanded by the library function
7031 ``strftime''; a leading bang disables locales
7035 the local date and time when the message was received. ``fmt'' is
7036 expanded by the library function ``strftime''; a leading bang
7041 the current local time. ``fmt'' is expanded by the library
7042 function ``strftime''; a leading bang disables locales.
7046 right justify the rest of the string and pad with character "X"
7050 pad to the end of the line with character "X"
7052 See also: ``$to_chars''.
7060 How to invoke ispell (GNU's spell-checking software).
7068 If set, read messages marked as flagged will not be moved from your spool
7069 mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
7078 The locale used by strftime(3) to format dates. Legal values are the
7079 strings your system accepts for the locale variable LC_TIME.
7087 This variable configures how often (in seconds) Mutt-ng should look for
7090 Note: This does not apply to IMAP mailboxes, see $imap_mail_check.
7098 This variable specifies which files to consult when attempting to display
7099 MIME bodies not directly supported by Mutt-ng.
7101 124. $mailcap_sanitize
7107 If set, Mutt-ng will restrict possible characters in mailcap % expandos to
7108 a well-defined set of safe characters. This is the safe setting, but we
7109 are not sure it doesn't break some more advanced MIME stuff.
7111 DON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE DOING!
7113 125. $maildir_header_cache_verify
7119 Availability: Header Cache
7121 Check for Maildir unaware programs other than Mutt-ng having modified
7122 maildir files when the header cache is in use. This incurs one stat(2) per
7123 message every time the folder is opened.
7131 If set, messages marked as deleted will be saved with the maildir
7132 (T)rashed flag instead of physically deleted.
7134 NOTE: this only applies to maildir-style mailboxes. Setting it will have
7135 no effect on other mailbox types.
7137 It is similiar to the trash option.
7145 Controls whether or not Mutt-ng marks newunread messages as old if you
7146 exit a mailbox without reading them.
7148 With this option set, the next time you start Mutt-ng, the messages will
7149 show up with an "O" next to them in the ``index'' menu, indicating that
7158 Controls the display of wrapped lines in the internal pager. If set, a
7159 ``+'' marker is displayed at the beginning of wrapped lines. Also see the
7160 ``$smart_wrap'' variable.
7164 Type: regular expression
7168 A regular expression used in the file browser, optionally preceded by the
7169 not operator ``!''. Only files whose names match this mask will be shown.
7170 The match is always case-sensitive.
7172 130. $max_display_recips
7178 When set non-zero, this specifies the maximum number of recipient header
7179 lines (To:, Cc: and Bcc:) to display in the pager if header weeding is
7180 turned on. In case the number of lines exeeds its value, the last line
7181 will have 3 dots appended.
7183 131. $max_line_length
7189 When set, the maximum line length for displaying ``format = flowed''
7190 messages is limited to this length. A value of 0 (which is also the
7191 default) means that the maximum line length is determined by the terminal
7192 width and $wrapmargin.
7200 This specifies the folder into which read mail in your ``$spoolfile''
7201 folder will be appended.
7209 The default mailbox type used when creating new folders. May be any of
7210 mbox, MMDF, MH and Maildir.
7218 This variable controls the number of lines of context that are given when
7219 scrolling through menus. (Similar to ``$pager_context''.)
7227 When unset, the bottom entry of menus will never scroll up past the bottom
7228 of the screen, unless there are less entries than lines. When set, the
7229 bottom entry may move off the bottom.
7237 When set, menus will be scrolled up or down one line when you attempt to
7238 move across a screen boundary. If unset, the screen is cleared and the
7239 next or previous page of the menu is displayed (useful for slow links to
7240 avoid many redraws).
7242 137. $message_format
7248 This is the string displayed in the ``attachment'' menu for attachments of
7249 type message/rfc822. For a full listing of defined printf(3)-like
7250 sequences see the section on ``$index_format''.
7258 If set, forces Mutt-ng to interpret keystrokes with the high bit (bit 8)
7259 set as if the user had pressed the ESC key and whatever key remains after
7260 having the high bit removed. For example, if the key pressed has an ASCII
7261 value of 0xf8, then this is treated as if the user had pressed ESC then
7262 ``x''. This is because the result of removing the high bit from ``0xf8''
7263 is ``0x78'', which is the ASCII character ``x''.
7271 If unset, Mutt-ng will remove your address (see the ``alternates''
7272 command) from the list of recipients when replying to a message.
7280 When unset, Mutt-ng will mimic mh's behaviour and rename deleted messages
7281 to ,<old file name> in mh folders instead of really deleting them. If the
7282 variable is set, the message files will simply be deleted.
7284 141. $mh_seq_flagged
7290 The name of the MH sequence used for flagged messages.
7292 142. $mh_seq_replied
7298 The name of the MH sequence used to tag replied messages.
7306 The name of the MH sequence used for unseen messages.
7314 When set, the message you are forwarding will be attached as a separate
7315 MIME part instead of included in the main body of the message.
7317 This is useful for forwarding MIME messages so the receiver can properly
7318 view the message as it was delivered to you. If you like to switch between
7319 MIME and not MIME from mail to mail, set this variable to ask-no or
7322 Also see ``$forward_decode'' and ``$mime_forward_decode''.
7324 145. $mime_forward_decode
7330 Controls the decoding of complex MIME messages into text/plain when
7331 forwarding a message while ``$mime_forward'' is set. Otherwise
7332 ``$forward_decode'' is used instead.
7334 146. $mime_forward_rest
7340 When forwarding multiple attachments of a MIME message from the recvattach
7341 menu, attachments which cannot be decoded in a reasonable manner will be
7342 attached to the newly composed message if this option is set.
7344 147. $mix_entry_format
7348 Default: "%4n %c %-16s %a"
7350 Availability: Mixmaster
7352 This variable describes the format of a remailer line on the mixmaster
7353 chain selection screen. The following printf(3)-like sequences are
7358 The running number on the menu.
7362 Remailer capabilities.
7366 The remailer's short name.
7370 The remailer's e-mail address.
7376 Default: "mixmaster"
7378 Availability: Mixmaster
7380 This variable contains the path to the Mixmaster binary on your system. It
7381 is used with various sets of parameters to gather the list of known
7382 remailers, and to finally send a message through the mixmaster chain.
7390 Controls whether or not Mutt-ng will move read messages from your spool
7391 mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
7398 Default: "%Y%m%d%h%M%s.G%P%p"
7400 This is the format for the ``local part'' of the Message-ID: header field
7401 generated by Mutt-ng. If this variable is empty, no Message-ID: headers
7402 will be generated. The '%' character marks that certain data will be added
7403 to the string, similar to printf(3). The following characters are allowed:
7407 the current day of month
7423 the current UNIX timestamp (octal)
7431 the current Message-ID prefix (a character rotating with every
7432 Message-ID being generated)
7436 a random integer value (decimal)
7440 a random integer value (hexadecimal)
7448 the current UNIX timestamp (decimal)
7452 the current UNIX timestamp (hexadecimal)
7456 the current year (Y2K compliant)
7462 Note: Please only change this setting if you know what you are doing. Also
7463 make sure to consult RFC2822 to produce technically valid strings.
7467 Type: system property
7469 Value: /opt/freebsd4/mutt-ng/bin
7471 This is a read-only system property and specifies the directory containing
7476 Type: system property
7478 Value: /opt/freebsd4/mutt-ng/doc/muttng
7480 This is a read-only system property and specifies the directory containing
7481 the muttng documentation.
7483 153. $muttng_folder_name
7485 Type: system property
7489 This is a read-only system property and, at runtime, specifies the last
7490 part of the full path or URI of the folder currently open (if any), i.e.
7491 everything after the last ``/''.
7493 154. $muttng_folder_path
7495 Type: system property
7499 This is a read-only system property and, at runtime, specifies the full
7500 path or URI of the folder currently open (if any).
7502 155. $muttng_hcache_backend
7504 Type: system property
7508 This is a read-only system property and specifies the header chaching's
7513 Type: system property
7517 This is a read-only system property and, at runtime, specifies the current
7518 working directory of the muttng binary.
7520 157. $muttng_revision
7522 Type: system property
7526 This is a read-only system property and specifies muttng's subversion
7529 158. $muttng_sysconfdir
7531 Type: system property
7533 Value: /opt/freebsd4/mutt-ng/etc
7535 This is a read-only system property and specifies the directory containing
7536 the muttng system-wide configuration.
7538 159. $muttng_version
7540 Type: system property
7544 This is a read-only system property and specifies muttng's version string.
7552 This variable, when set, makes the thread tree narrower, allowing deeper
7553 threads to fit on the screen.
7561 Operations that expect to transfer a large amount of data over the network
7562 will update their progress every net_inc kilobytes. If set to 0, no
7563 progress messages will be displayed.
7565 See also ``$read_inc'' and ``$write_inc''.
7567 162. $nntp_ask_followup_to
7575 If set, Mutt-ng will prompt you for the Followup-To: header field before
7576 editing the body of an outgoing news article.
7578 163. $nntp_ask_x_comment_to
7586 If set, Mutt-ng will prompt you for the X-Comment-To: header field before
7587 editing the body of an outgoing news article.
7589 164. $nntp_cache_dir
7593 Default: "~/.muttng"
7597 This variable points to directory where Mutt-ng will cache news article
7598 headers. If unset, headers will not be saved at all and will be reloaded
7599 each time when you enter a newsgroup.
7601 As for the header caching in connection with IMAP and/or Maildir, this
7602 drastically increases speed and lowers traffic.
7612 If this variable is set, Mutt-ng will mark all articles in a newsgroup as
7613 read when you leaving it.
7623 This variable controls how many news articles to cache per newsgroup (if
7624 caching is enabled, see $nntp_cache_dir) and how many news articles to
7625 show in the ``index'' menu.
7627 If there're more articles than defined with $nntp_context, all older ones
7628 will be removed/not shown in the index.
7630 167. $nntp_followup_to_poster
7638 If this variable is set and the keyword "poster" is present in the
7639 Followup-To: header field, a follow-up to the newsgroup is not permitted.
7640 The message will be mailed to the submitter of the message via mail.
7642 168. $nntp_group_index_format
7646 Default: "%4C %M%N %5s %-45.45f %d"
7650 This variable allows you to customize the newsgroup browser display to
7651 your personal taste. This string is similar to ``index_format'', but has
7652 its own set of printf(3)-like sequences:
7654 %C current newsgroup number
7655 %d description of newsgroup (retrieved from server)
7657 %M ``-'' if newsgroup not allowed for direct post (moderated for example)
7658 %N ``N'' if newsgroup is new, ``u'' if unsubscribed, blank otherwise
7659 %n number of new articles in newsgroup
7660 %s number of unread articles in newsgroup
7661 %>X right justify the rest of the string and pad with character "X"
7662 %|X pad to the end of the line with character "X"
7673 This variable specifies the name (or address) of the NNTP server to be
7676 It defaults to the value specified via the environment variable
7677 $NNTPSERVER or contained in the file /etc/nntpserver.
7679 You can also specify a username and an alternative port for each
7682 [nntp[s]://][username[:password]@]newsserver[:port]
7684 Note: Using a password as shown and stored in a configuration file
7685 presents a security risk since the superuser of your machine may read it
7686 regardless of the file's permissions.
7696 If set, specifies the program and arguments used to deliver news posted by
7697 Mutt-ng. Otherwise, Mutt-ng posts article using current connection. The
7698 following printf(3)-style sequence is understood:
7703 Example: set inews="/usr/local/bin/inews -hS"
7705 171. $nntp_load_description
7713 This variable controls whether or not descriptions for newsgroups are to
7714 be loaded when subscribing to a newsgroup.
7716 172. $nntp_mail_check
7724 The time in seconds until any operations on a newsgroup except posting a
7725 new article will cause a recheck for new news. If set to 0, Mutt-ng will
7726 recheck on each operation in index (stepping, read article, etc.).
7728 173. $nntp_mime_subject
7736 If unset, an 8-bit ``Subject:'' header field in a news article will not be
7737 encoded according to RFC2047.
7739 Note: Only change this setting if you know what you are doing.
7745 Default: "~/.newsrc"
7749 This file contains information about subscribed newsgroup and articles
7752 To ease the use of multiple news servers, the following printf(3)-style
7753 sequence is understood:
7766 Your password for NNTP account.
7768 Note: Storing passwords in a configuration file presents a security risk
7769 since the superuser of your machine may read it regardless of the file's
7772 176. $nntp_post_moderated
7780 If set to yes, Mutt-ng will post articles to newsgroup that have not
7781 permissions to post (e.g. moderated).
7783 Note: if the newsserver does not support posting to that newsgroup or a
7784 group is totally read-only, that posting will not have any effect.
7786 177. $nntp_reconnect
7794 Controls whether or not Mutt-ng will try to reconnect to a newsserver when
7795 the was connection lost.
7797 178. $nntp_save_unsubscribed
7805 When set, info about unsubscribed newsgroups will be saved into the
7806 ``newsrc'' file and into the news cache.
7808 179. $nntp_show_new_news
7816 If set, the newsserver will be asked for new newsgroups on entering the
7817 browser. Otherwise, it will be done only once for a newsserver. Also
7818 controls whether or not the number of new articles of subscribed
7819 newsgroups will be checked.
7821 180. $nntp_show_only_unread
7829 If set, only subscribed newsgroups that contain unread articles will be
7830 displayed in the newsgroup browser.
7840 Your login name on the NNTP server. If unset and the server requires
7841 authentification, Mutt-ng will prompt you for your account name.
7843 182. $nntp_x_comment_to
7851 If set, Mutt-ng will add a ``X-Comment-To:'' header field (that contains
7852 full name of the original article author) to articles that you followup
7855 183. $operating_system
7861 This specifies the operating system name for the User-Agent: header field.
7862 If this is unset, it will be set to the operating system name that
7863 uname(2) returns. If uname(2) fails, ``UNIX'' will be used.
7865 It may, for example, look as: ``mutt-ng 1.5.9i (Linux)''.
7873 This variable specifies which pager you would like to use to view
7874 messages. ``builtin'' means to use the builtin pager, otherwise this
7875 variable should specify the pathname of the external pager you would like
7878 Using an external pager may have some disadvantages: Additional keystrokes
7879 are necessary because you can't call Mutt-ng functions directly from the
7880 pager, and screen resizes cause lines longer than the screen width to be
7881 badly formatted in the help menu.
7889 This variable controls the number of lines of context that are given when
7890 displaying the next or previous page in the internal pager. By default,
7891 Mutt-ng will display the line after the last one on the screen at the top
7892 of the next page (0 lines of context).
7898 Default: "-%Z- %C/%m: %-20.20n %s"
7900 This variable controls the format of the one-line message ``status''
7901 displayed before each message in either the internal or an external pager.
7902 The valid sequences are listed in the ``$index_format'' section.
7904 187. $pager_index_lines
7910 Determines the number of lines of a mini-index which is shown when in the
7911 pager. The current message, unless near the top or bottom of the folder,
7912 will be roughly one third of the way down this mini-index, giving the
7913 reader the context of a few messages before and after the message. This is
7914 useful, for example, to determine how many messages remain to be read in
7915 the current thread. One of the lines is reserved for the status bar from
7916 the index, so a pager_index_lines of 6 will only show 5 lines of the
7917 actual index. A value of 0 results in no index being shown. If the number
7918 of messages in the current folder is less than pager_index_lines, then the
7919 index will only use as many lines as it needs.
7927 When set, the internal-pager will not move to the next message when you
7928 are at the end of a message and invoke the next-page function.
7930 189. $pgp_auto_decode
7936 If set, Mutt-ng will automatically attempt to decrypt traditional PGP
7937 messages whenever the user performs an operation which ordinarily would
7938 result in the contents of the message being operated on. For example, if
7939 the user displays a pgp-traditional message which has not been manually
7940 checked with the check-traditional-pgp function, Mutt-ng will
7941 automatically check the message for traditional pgp.
7943 190. $pgp_autoinline
7949 This option controls whether Mutt-ng generates old-style inline
7950 (traditional) PGP encrypted or signed messages under certain
7951 circumstances. This can be overridden by use of the pgp-menu, when inline
7954 Note that Mutt-ng might automatically use PGP/MIME for messages which
7955 consist of more than a single MIME part. Mutt-ng can be configured to ask
7956 before sending PGP/MIME messages when inline (traditional) would not work.
7957 See also: ``$pgp_mime_auto''.
7959 Also note that using the old-style PGP message format is
7960 stronglydeprecated. (PGP only)
7962 191. $pgp_check_exit
7968 If set, Mutt-ng will check the exit code of the PGP subprocess when
7969 signing or encrypting. A non-zero exit code means that the subprocess
7972 192. $pgp_clearsign_command
7978 This format is used to create a old-style ``clearsigned'' PGP message.
7980 Note that the use of this format is stronglydeprecated. (PGP only)
7982 193. $pgp_decode_command
7988 This format strings specifies a command which is used to decode
7989 application/pgp attachments.
7991 The PGP command formats have their own set of printf(3)-like sequences:
7995 Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty
7996 string otherwise. Note: This may be used with a %? construct.
8000 Expands to the name of a file containing a message.
8004 Expands to the name of a file containing the signature part of a
8005 multipart/signed attachment when verifying it.
8009 The value of $pgp_sign_as.
8013 One or more key IDs.
8015 For examples on how to configure these formats for the various versions of
8016 PGP which are floating around, see the pgp*.rc and gpg.rc files in the
8017 samples/ subdirectory which has been installed on your system alongside
8018 the documentation. (PGP only)
8020 194. $pgp_decrypt_command
8026 This command is used to decrypt a PGP encrypted message. (PGP only)
8028 195. $pgp_encrypt_only_command
8034 This command is used to encrypt a body part without signing it. (PGP only)
8036 196. $pgp_encrypt_sign_command
8042 This command is used to both sign and encrypt a body part. (PGP only)
8044 197. $pgp_entry_format
8048 Default: "%4n %t%f %4l/0x%k %-4a %2c %u"
8050 This variable allows you to customize the PGP key selection menu to your
8051 personal taste. This string is similar to ``$index_format'', but has its
8052 own set of printf(3)-like sequences:
8084 trust/validity of the key-uid association
8088 date of the key where <s> is an strftime(3) expression
8092 198. $pgp_export_command
8098 This command is used to export a public key from the user's key ring. (PGP
8101 199. $pgp_getkeys_command
8107 This command is invoked whenever Mutt-ng will need public key information.
8108 %r is the only printf(3)-like sequence used with this format. (PGP only)
8112 Type: regular expression
8116 If you assign a text to this variable, then a PGP signature is only
8117 considered verified if the output from $pgp_verify_command contains the
8118 text. Use this variable if the exit code from the command is 0 even for
8119 bad signatures. (PGP only)
8121 201. $pgp_ignore_subkeys
8127 Setting this variable will cause Mutt-ng to ignore OpenPGP subkeys.
8128 Instead, the principal key will inherit the subkeys' capabilities. Unset
8129 this if you want to play interesting key selection games. (PGP only)
8131 202. $pgp_import_command
8137 This command is used to import a key from a message into the user's public
8138 key ring. (PGP only)
8140 203. $pgp_list_pubring_command
8146 This command is used to list the public key ring's contents. The output
8147 format must be analogous to the one used by gpg --list-keys --with-colons.
8149 This format is also generated by the pgpring utility which comes with
8152 204. $pgp_list_secring_command
8158 This command is used to list the secret key ring's contents. The output
8159 format must be analogous to the one used by gpg --list-keys --with-colons.
8161 This format is also generated by the pgpring utility which comes with
8170 If set, use 64 bit PGP key IDs. Unset uses the normal 32 bit Key IDs. (PGP
8179 This option controls whether Mutt-ng will prompt you for automatically
8180 sending a (signed/encrypted) message using PGP/MIME when inline
8181 (traditional) fails (for any reason).
8183 Also note that using the old-style PGP message format is
8184 stronglydeprecated. (PGP only)
8186 207. $pgp_replyinline
8192 Setting this variable will cause Mutt-ng to always attempt to create an
8193 inline (traditional) message when replying to a message which is PGP
8194 encrypted/signed inline. This can be overridden by use of the pgp-menu,
8195 when inline is not required. This option does not automatically detect if
8196 the (replied-to) message is inline; instead it relies on Mutt-ng internals
8197 for previously checked/flagged messages.
8199 Note that Mutt-ng might automatically use PGP/MIME for messages which
8200 consist of more than a single MIME part. Mutt-ng can be configured to ask
8201 before sending PGP/MIME messages when inline (traditional) would not work.
8202 See also: ``$pgp_mime_auto''.
8204 Also note that using the old-style PGP message format is
8205 stronglydeprecated. (PGP only)
8207 208. $pgp_retainable_sigs
8213 If set, signed and encrypted messages will consist of nested
8214 multipart/signed and multipart/encrypted body parts.
8216 This is useful for applications like encrypted and signed mailing lists,
8217 where the outer layer (multipart/encrypted) can be easily removed, while
8218 the inner multipart/signed part is retained. (PGP only)
8220 209. $pgp_show_unusable
8226 If set, Mutt-ng will display non-usable keys on the PGP key selection
8227 menu. This includes keys which have been revoked, have expired, or have
8228 been marked as ``disabled'' by the user. (PGP only)
8236 If you have more than one key pair, this option allows you to specify
8237 which of your private keys to use. It is recommended that you use the
8238 keyid form to specify your key (e.g., ``0x00112233''). (PGP only)
8240 211. $pgp_sign_command
8246 This command is used to create the detached PGP signature for a
8247 multipart/signed PGP/MIME body part. (PGP only)
8255 Specifies how the entries in the ``pgp keys'' menu are sorted. The
8256 following are legal values:
8260 sort alphabetically by user id
8264 sort alphabetically by key id
8268 sort by key creation date
8272 sort by the trust of the key
8274 If you prefer reverse order of the above values, prefix it with
8275 ``reverse-''. (PGP only)
8277 213. $pgp_strict_enc
8283 If set, Mutt-ng will automatically encode PGP/MIME signed messages as
8284 quoted-printable. Please note that unsetting this variable may lead to
8285 problems with non-verifyable PGP signatures, so only change this if you
8286 know what you are doing. (PGP only)
8294 The number of seconds after which a cached passphrase will expire if not
8295 used. Default: 300. (PGP only)
8297 215. $pgp_use_gpg_agent
8303 If set, Mutt-ng will use a possibly-running gpg-agent process. (PGP only)
8305 216. $pgp_verify_command
8311 This command is used to verify PGP signatures. (PGP only)
8313 217. $pgp_verify_key_command
8319 This command is used to verify key information from the key selection
8328 Used in connection with the pipe-message command. When unset, Mutt-ng will
8329 pipe the messages without any preprocessing. When set, Mutt-ng will weed
8330 headers and will attempt to PGP/MIME decode the messages first.
8338 The separator to add between messages when piping a list of tagged
8339 messages to an external Unix command.
8347 Used in connection with the pipe-message command and the ``tag- prefix''
8348 or ``tag-prefix-cond'' operators. If this variable is unset, when piping a
8349 list of tagged messages Mutt-ng will concatenate the messages and will
8350 pipe them as a single folder. When set, Mutt-ng will pipe the messages one
8351 by one. In both cases the messages are piped in the current sorted order,
8352 and the ``$pipe_sep'' separator is added after each message.
8354 221. $pop_auth_try_all
8362 If set, Mutt-ng will try all available methods. When unset, Mutt-ng will
8363 only fall back to other authentication methods if the previous methods are
8364 unavailable. If a method is available but authentication fails, Mutt-ng
8365 will not connect to the POP server.
8367 222. $pop_authenticators
8375 This is a colon-delimited list of authentication methods Mutt-ng may
8376 attempt to use to log in to an POP server, in the order Mutt-ng should try
8377 them. Authentication methods are either ``user'', ``apop'' or any SASL
8378 mechanism, eg ``digest-md5'', ``gssapi'' or ``cram-md5''.
8380 This parameter is case-insensitive. If this parameter is unset (the
8381 default) Mutt-ng will try all available methods, in order from most-secure
8384 Example: set pop_authenticators="digest-md5:apop:user"
8394 If set, Mutt-ng will delete successfully downloaded messages from the POP
8395 server when using the ``fetch-mail'' function. When unset, Mutt-ng will
8396 download messages but also leave them on the POP server.
8406 The name of your POP server for the ``fetch-mail'' function. You can also
8407 specify an alternative port, username and password, i.e.:
8409 [pop[s]://][username[:password]@]popserver[:port]
8411 Note: Storing passwords in a configuration file presents a security risk
8412 since the superuser of your machine may read it regardless of the file's
8423 If this variable is set, Mutt-ng will try to use the ``LAST'' POP command
8424 for retrieving only unread messages from the POP server when using the
8425 ``fetch-mail'' function.
8427 226. $pop_mail_check
8435 This variable configures how often (in seconds) Mutt-ng should look for
8446 Specifies the password for your POP account. If unset, Mutt-ng will prompt
8447 you for your password when you open POP mailbox.
8449 Note: Storing passwords in a configuration file presents a security risk
8450 since the superuser of your machine may read it regardless of the file's
8461 Controls whether or not Mutt-ng will try to reconnect to a POP server if
8462 the connection is lost.
8472 Your login name on the POP server.
8474 This variable defaults to your user name on the local machine.
8476 230. $post_indent_string
8482 Similar to the ``$attribution'' variable, Mutt-ng will append this string
8483 after the inclusion of a message which is being replied to.
8491 Controls whether or not messages are saved in the ``$postponed'' mailbox
8492 when you elect not to send immediately.
8498 Default: "~/postponed"
8500 Mutt-ng allows you to indefinitely ``postpone sending a message'' which
8501 you are editing. When you choose to postpone a message, Mutt-ng saves it
8502 in the mailbox specified by this variable. Also see the ``$postpone''
8511 If set, a shell command to be executed if Mutt-ng fails to establish a
8512 connection to the server. This is useful for setting up secure
8513 connections, e.g. with ssh(1). If the command returns a nonzero status,
8514 Mutt-ng gives up opening the server. Example:
8516 preconnect="ssh -f -q -L 1234:mailhost.net:143 mailhost.net sleep 20 <
8517 /dev/null > /dev/null"
8519 Mailbox ``foo'' on mailhost.net can now be reached as
8520 ``{localhost:1234}foo''.
8522 Note: For this example to work, you must be able to log in to the remote
8523 machine without having to enter a password.
8531 Controls whether or not Mutt-ng really prints messages. This is set to
8532 ask-no by default, because some people accidentally hit ``p'' often.
8540 This specifies the command pipe that should be used to print messages.
8548 Used in connection with the print-message command. If this option is set,
8549 the message is decoded before it is passed to the external command
8550 specified by $print_command. If this option is unset, no processing will
8551 be applied to the message when printing it. The latter setting may be
8552 useful if you are using some advanced printer filter which is able to
8553 properly format e-mail messages for printing.
8561 Used in connection with the print-message command. If this option is set,
8562 the command specified by $print_command is executed once for each message
8563 which is to be printed. If this option is unset, the command specified by
8564 $print_command is executed only once, and all the messages are
8565 concatenated, with a form feed as the message separator.
8567 Those who use the enscript(1) program's mail-printing mode will most
8568 likely want to set this option.
8576 If you use an external ``$pager'', setting this variable will cause
8577 Mutt-ng to prompt you for a command when the pager exits rather than
8578 returning to the index menu. If unset, Mutt-ng will return to the index
8579 menu when the external pager exits.
8587 This specifies the command that Mutt-ng will use to make external address
8588 queries. The string should contain a %s, which will be substituted with
8589 the query string the user types. See ``query'' for more information.
8597 This variable controls whether ``quit'' and ``exit'' actually quit from
8598 Mutt-ng. If it set to yes, they do quit, if it is set to no, they have no
8599 effect, and if it is set to ask-yes or ask-no, you are prompted for
8600 confirmation when you try to quit.
8608 Controls whether or not empty lines will be quoted using
8617 Controls how quoted lines will be quoted. If set, one quote character will
8618 be added to the end of existing prefix. Otherwise, quoted lines will be
8619 prepended by ``indent_string''.
8623 Type: regular expression
8625 Default: "^([ \t]*[|>:}#])+"
8627 A regular expression used in the internal-pager to determine quoted
8628 sections of text in the body of a message.
8630 Note: In order to use the quotedx patterns in the internal pager, you need
8631 to set this to a regular expression that matches exactly the quote
8632 characters at the beginning of quoted lines.
8640 If set to a value greater than 0, Mutt-ng will display which message it is
8641 currently on when reading a mailbox. The message is printed after read_inc
8642 messages have been read (e.g., if set to 25, Mutt-ng will print a message
8643 when it reads message 25, and then again when it gets to message 50). This
8644 variable is meant to indicate progress when reading large mailboxes which
8645 may take some time. When set to 0, only a single message will appear
8646 before the reading the mailbox.
8648 Also see the ``$write_inc'' variable.
8656 If set, all folders are opened in read-only mode.
8664 This variable specifies what ``real'' or ``personal'' name should be used
8665 when sending messages.
8667 By default, this is the GECOS field from /etc/passwd.
8669 Note: This variable will not be used when the user has set a real name in
8678 Controls whether or not Mutt-ng recalls postponed messages when composing
8679 a new message. Also see ``$postponed''.
8681 Setting this variable to yes is not generally useful, and thus not
8690 This specifies the file into which your outgoing messages should be
8691 appended. (This is meant as the primary method for saving a copy of your
8692 messages, but another way to do this is using the ``my_hdr'' command to
8693 create a Bcc: header field with your email address in it.)
8695 The value of $record is overridden by the ``$force_name'' and
8696 ``$save_name'' variables, and the ``fcc-hook'' command.
8700 Type: regular expression
8702 Default: "^(re([\[0-9\]+])*|aw):[ \t]*"
8704 A regular expression used to recognize reply messages when threading and
8705 replying. The default value corresponds to the English ``Re:'' and the
8714 If unset and you are replying to a message sent by you, Mutt-ng will
8715 assume that you want to reply to the recipients of that message rather
8724 If set, when replying to a message, Mutt-ng will use the address listed in
8725 the ``Reply-To:'' header field as the recipient of the reply. If unset, it
8726 will use the address in the ``From:'' header field instead.
8728 This option is useful for reading a mailing list that sets the
8729 ``Reply-To:'' header field to the list address and you want to send a
8730 private message to the author of a message.
8738 When set, the cursor will be automatically advanced to the next (possibly
8739 undeleted) message whenever a command that modifies the current message is
8748 This variable controls whether or not Mutt-ng will display the
8749 ``personal'' name from your aliases in the index menu if it finds an alias
8750 that matches the message's sender. For example, if you have the following
8753 alias juser abd30425@somewhere.net (Joe User)
8755 and then you receive mail which contains the following header:
8757 From: abd30425@somewhere.net
8759 It would be displayed in the index menu as ``Joe User'' instead of
8760 ``abd30425@somewhere.net.'' This is useful when the person's e-mail
8761 address is not human friendly (like CompuServe addresses).
8769 It may sometimes arrive that you receive mail to a certain machine, move
8770 the messages to another machine, and reply to some the messages from
8771 there. If this variable is set, the default From: line of the reply
8772 messages is built using the address where you received the messages you
8773 are replying to if that address matches your alternates. If the variable
8774 is unset, or the address that would be used doesn't match your alternates,
8775 the From: line will use your address on the current machine.
8777 255. $reverse_realname
8783 This variable fine-tunes the behaviour of the reverse_name feature. When
8784 it is set, Mutt-ng will use the address from incoming messages as-is,
8785 possibly including eventual real names. When it is unset, Mutt-ng will
8786 override any such real names with the setting of the realname variable.
8788 256. $rfc2047_parameters
8794 When this variable is set, Mutt-ng will decode RFC-2047-encoded MIME
8795 parameters. You want to set this variable when Mutt-ng suggests you to
8796 save attachments to files named like this:
8798 =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?=
8800 When this variable is set interactively, the change doesn't have the
8801 desired effect before you have changed folders.
8803 Note that this use of RFC 2047's encoding is explicitly, prohibited by the
8804 standard, but nevertheless encountered in the wild.
8806 Also note that setting this parameter will not have the effect that
8807 Mutt-ng generates this kind of encoding. Instead, Mutt-ng will
8808 unconditionally use the encoding specified in RFC 2231.
8816 If set, Mutt-ng will take the sender's full address when choosing a
8817 default folder for saving a mail. If ``$save_name'' or ``$force_name'' is
8818 set too, the selection of the fcc folder will be changed as well.
8826 When unset, mailboxes which contain no saved messages will be removed when
8827 closed (the exception is ``$spoolfile'' which is never removed). If set,
8828 mailboxes are never removed.
8830 Note: This only applies to mbox and MMDF folders, Mutt-ng does not delete
8831 MH and Maildir directories.
8839 This variable controls how copies of outgoing messages are saved. When
8840 set, a check is made to see if a mailbox specified by the recipient
8841 address exists (this is done by searching for a mailbox in the ``$folder''
8842 directory with the username part of the recipient address). If the mailbox
8843 exists, the outgoing message will be saved to that mailbox, otherwise the
8844 message is saved to the ``$record'' mailbox.
8846 Also see the ``$force_name'' variable.
8854 When this variable is unset, scoring is turned off. This can be useful to
8855 selectively disable scoring for certain folders when the
8856 ``$score_threshold_delete'' variable and friends are used.
8858 261. $score_threshold_delete
8864 Messages which have been assigned a score equal to or lower than the value
8865 of this variable are automatically marked for deletion by Mutt-ng. Since
8866 Mutt-ng scores are always greater than or equal to zero, the default
8867 setting of this variable will never mark a message for deletion.
8869 262. $score_threshold_flag
8875 Messages which have been assigned a score greater than or equal to this
8876 variable's value are automatically marked ``flagged''.
8878 263. $score_threshold_read
8884 Messages which have been assigned a score equal to or lower than the value
8885 of this variable are automatically marked as read by Mutt-ng. Since
8886 Mutt-ng scores are always greater than or equal to zero, the default
8887 setting of this variable will never mark a message read.
8893 Default: "us-ascii:iso-8859-1:utf-8"
8895 A list of character sets for outgoing messages. Mutt-ng will use the first
8896 character set into which the text can be converted exactly. If your
8897 ``$charset'' is not iso-8859-1 and recipients may not understand UTF-8, it
8898 is advisable to include in the list an appropriate widely used standard
8899 character set (such as iso-8859-2, koi8-r or iso-2022-jp) either instead
8900 of or after iso-8859-1.
8906 Default: "/usr/sbin/sendmail -oem -oi"
8908 Specifies the program and arguments used to deliver mail sent by Mutt-ng.
8909 Mutt-ng expects that the specified program interprets additional arguments
8910 as recipient addresses.
8918 Specifies the number of seconds to wait for the ``$sendmail'' process to
8919 finish before giving up and putting delivery in the background.
8921 Mutt-ng interprets the value of this variable as follows:
8925 number of seconds to wait for sendmail to finish before continuing
8929 wait forever for sendmail to finish
8933 always put sendmail in the background without waiting
8935 Note that if you specify a value other than 0, the output of the child
8936 process will be put in a temporary file. If there is some error, you will
8937 be informed as to where to find the output.
8945 Command to use when spawning a subshell. By default, the user's login
8946 shell from /etc/passwd is used.
8948 268. $sidebar_boundary
8954 When the sidebar is displayed and $sidebar_shorten_hierarchy is set, this
8955 variable specifies the characters at which to split a folder name into
8956 ``hierarchy items.''
8964 This specifies the delimiter between the sidebar (if visible) and other
8967 270. $sidebar_newmail_only
8973 If set, only folders with new mail will be shown in the sidebar.
8975 271. $sidebar_number_format
8979 Default: "%m%?n?(%n)?%?f?[%f]?"
8981 This variable controls how message counts are printed when the sidebar is
8982 enabled. If this variable is empty (and only if), no numbers will be
8983 printed and Mutt-ng won't frequently count mail (which may be a great
8984 speedup esp. with mbox-style mailboxes.)
8986 The following printf(3)-like sequences are supported all of which may be
8991 Number of deleted messages. 1)
8995 Number of flagged messages.
8999 Total number of messages.
9003 Total number of messages shown, i.e. not hidden by a limit. 1)
9007 Number of new messages.
9011 Number of tagged messages. 1)
9013 1) These expandos only have a non-zero value for the current mailbox and
9014 will always be zero otherwise.
9016 272. $sidebar_shorten_hierarchy
9022 When set, the ``hierarchy'' of the sidebar entries will be shortened only
9023 if they cannot be printed in full length (because ``$sidebar_width'' is
9024 set to a too low value). For example, if the newsgroup name
9025 ``de.alt.sysadmin.recovery'' doesn't fit on the screen, it'll get
9026 shortened ``d.a.s.recovery'' while ``de.alt.d0'' still would and thus will
9029 At which characters this compression is done is controled via the
9030 $sidebar_boundary variable.
9032 273. $sidebar_visible
9038 This specifies whether or not to show the sidebar (a list of folders
9039 specified with the ``mailboxes'' command).
9047 The width of the sidebar.
9055 If set, a line containing ``-- '' (dash, dash, space) will be inserted
9056 before your ``$signature''. It is strongly recommended that you not unset
9057 this variable unless your ``signature'' contains just your name. The
9058 reason for this is because many software packages use ``-- \n'' to detect
9061 For example, Mutt-ng has the ability to highlight the signature in a
9062 different color in the builtin pager.
9070 If set, the signature will be included before any quoted or forwarded
9071 text. It is strongly recommended that you do not set this variable unless
9072 you really know what you are doing, and are prepared to take some heat
9073 from netiquette guardians.
9079 Default: "~/.signature"
9081 Specifies the filename of your signature, which is appended to all
9082 outgoing messages. If the filename ends with a pipe (``|''), it is assumed
9083 that filename is a shell command and input should be read from its stdout.
9085 278. $signoff_string
9091 If set, this string will be inserted before the signature. This is useful
9092 for people that want to sign off every message they send with their name.
9094 If you want to insert your website's URL, additional contact information
9095 or witty quotes into your mails, better use a signature file instead of
9102 Default: "~f %s | ~s %s"
9104 Specifies how Mutt-ng should expand a simple search into a real search
9105 pattern. A simple search is one that does not contain any of the ~
9106 operators. See ``patterns'' for more information on search patterns.
9108 For example, if you simply type ``joe'' at a search or limit prompt,
9109 Mutt-ng will automatically expand it to the value specified by this
9110 variable. For the default value it would be:
9120 Specifies time, in seconds, to pause while displaying certain
9121 informational messages, while moving from folder to folder and after
9122 expunging messages from the current folder. The default is to pause one
9123 second, so a value of zero for this option suppresses the pause.
9131 Controls the display of lines longer than the screen width in the internal
9132 pager. If set, long lines are wrapped at a word boundary. If unset, lines
9133 are simply wrapped at the screen edge. Also see the ``$markers'' variable.
9137 Type: regular expression
9139 Default: "(>From )|(:[-^]?[][)(><}{|/DP])"
9141 The pager uses this variable to catch some common false positives of
9142 ``$quote_regexp'', most notably smileys in the beginning of a line
9144 283. $smime_ask_cert_label
9150 This flag controls whether you want to be asked to enter a label for a
9151 certificate about to be added to the database or not. It is set by
9152 default. (S/MIME only)
9154 284. $smime_ca_location
9160 This variable contains the name of either a directory, or a file which
9161 contains trusted certificates for use with OpenSSL. (S/MIME only)
9163 285. $smime_certificates
9169 Since there is no pubring/secring as with PGP, Mutt-ng has to handle
9170 storage and retrieval of keys by itself. This is very basic right now, and
9171 keys and certificates are stored in two different directories, both named
9172 as the hash-value retrieved from OpenSSL. There is an index file which
9173 contains mailbox-address keyid pairs, and which can be manually edited.
9174 This one points to the location of the certificates. (S/MIME only)
9176 286. $smime_decrypt_command
9182 This format string specifies a command which is used to decrypt
9183 application/x-pkcs7-mime attachments.
9185 The OpenSSL command formats have their own set of printf(3)-like sequences
9190 Expands to the name of a file containing a message.
9194 Expands to the name of a file containing the signature part of a
9195 multipart/signed attachment when verifying it.
9199 The key-pair specified with $smime_default_key
9203 One or more certificate IDs.
9207 The algorithm used for encryption.
9211 CA location: Depending on whether $smime_ca_location points to a
9212 directory or file, this expands to "-CApath $smime_ca_location" or
9213 "-CAfile $smime_ca_location".
9215 For examples on how to configure these formats, see the smime.rc in the
9216 samples/ subdirectory which has been installed on your system alongside
9217 the documentation. (S/MIME only)
9219 287. $smime_decrypt_use_default_key
9225 If set (default) this tells Mutt-ng to use the default key for decryption.
9226 Otherwise, if manage multiple certificate-key-pairs, Mutt-ng will try to
9227 use the mailbox-address to determine the key to use. It will ask you to
9228 supply a key, if it can't find one. (S/MIME only)
9230 288. $smime_default_key
9236 This is the default key-pair to use for signing. This must be set to the
9237 keyid (the hash-value that OpenSSL generates) to work properly (S/MIME
9240 289. $smime_encrypt_command
9246 This command is used to create encrypted S/MIME messages. (S/MIME only)
9248 290. $smime_encrypt_with
9254 This sets the algorithm that should be used for encryption. Valid choices
9255 are ``des'', ``des3'', ``rc2-40'', ``rc2-64'', ``\frc2-128''.
9257 If unset ``3des'' (TripleDES) is used. (S/MIME only)
9259 291. $smime_get_cert_command
9265 This command is used to extract X509 certificates from a PKCS7 structure.
9268 292. $smime_get_cert_email_command
9274 This command is used to extract the mail address(es) used for storing X509
9275 certificates, and for verification purposes (to check whether the
9276 certificate was issued for the sender's mailbox). (S/MIME only)
9278 293. $smime_get_signer_cert_command
9284 This command is used to extract only the signers X509 certificate from a
9285 S/MIME signature, so that the certificate's owner may get compared to the
9286 email's ``From:'' header field. (S/MIME only)
9288 294. $smime_import_cert_command
9294 This command is used to import a certificate via smime_keysng. (S/MIME
9297 295. $smime_is_default
9303 The default behaviour of Mutt-ng is to use PGP on all auto-sign/encryption
9304 operations. To override and to use OpenSSL instead this must be set.
9306 However, this has no effect while replying, since Mutt-ng will
9307 automatically select the same application that was used to sign/encrypt
9308 the original message.
9310 (Note that this variable can be overridden by unsetting $crypt_autosmime.)
9319 Since there is no pubring/secring as with PGP, Mutt-ng has to handle
9320 storage ad retrieval of keys/certs by itself. This is very basic right
9321 now, and stores keys and certificates in two different directories, both
9322 named as the hash-value retrieved from OpenSSL. There is an index file
9323 which contains mailbox-address keyid pair, and which can be manually
9324 edited. This one points to the location of the private keys. (S/MIME only)
9326 297. $smime_pk7out_command
9332 This command is used to extract PKCS7 structures of S/MIME signatures, in
9333 order to extract the public X509 certificate(s). (S/MIME only)
9335 298. $smime_sign_command
9341 This command is used to created S/MIME signatures of type
9342 multipart/signed, which can be read by all mail clients. (S/MIME only)
9344 299. $smime_sign_opaque_command
9350 This command is used to created S/MIME signatures of type
9351 application/x-pkcs7-signature, which can only be handled by mail clients
9352 supporting the S/MIME extension. (S/MIME only)
9360 The number of seconds after which a cached passphrase will expire if not
9363 301. $smime_verify_command
9369 This command is used to verify S/MIME signatures of type multipart/signed.
9372 302. $smime_verify_opaque_command
9378 This command is used to verify S/MIME signatures of type
9379 application/x-pkcs7-mime. (S/MIME only)
9389 Defines the SMTP host which will be used to deliver mail, as opposed to
9390 invoking the sendmail binary. Setting this variable overrides the value of
9391 ``$sendmail'', and any associated variables.
9401 Defines the password to use with SMTP AUTH. If ``$smtp_user'' is set, but
9402 this variable is not, you will be prompted for a password when sending.
9404 Note: Storing passwords in a configuration file presents a security risk
9405 since the superuser of your machine may read it regardless of the file's
9416 Defines the port that the SMTP host is listening on for mail delivery.
9417 Must be specified as a number.
9419 Defaults to 25, the standard SMTP port, but RFC 2476-compliant SMTP
9420 servers will probably desire 587, the mail submission port.
9428 Availability: SMTP (and SSL)
9430 Defines wether to use STARTTLS. If this option is set to ``required'' and
9431 the server does not support STARTTLS or there is an error in the TLS
9432 Handshake, the connection will fail. Setting this to ``enabled'' will try
9433 to start TLS and continue without TLS in case of an error. Muttng still
9434 needs to have SSL support enabled in order to use it.
9444 Defines the username to use with SMTP AUTH. Setting this variable will
9445 cause Mutt-ng to attempt to use SMTP AUTH when sending.
9453 Specifies how to sort messages in the index menu. Valid values are:
9458 mailbox-order (unsorted)
9467 You may optionally use the ``reverse-'' prefix to specify reverse sorting
9468 order (example: set sort=reverse-date-sent).
9476 Specifies how the entries in the ``alias'' menu are sorted. The following
9479 address (sort alphabetically by email address)
9480 alias (sort alphabetically by alias name)
9481 unsorted (leave in order specified in .muttrc)
9490 When sorting by threads, this variable controls how threads are sorted in
9491 relation to other threads, and how the branches of the thread trees are
9492 sorted. This can be set to any value that ``$sort'' can, except threads
9493 (in that case, Mutt-ng will just use date-sent). You can also specify the
9494 ``last-'' prefix in addition to ``reverse-'' prefix, but last- must come
9495 after reverse-. The last- prefix causes messages to be sorted against its
9496 siblings by which has the last descendant, using the rest of sort_aux as
9499 For instance, set sort_aux=last-date-received would mean that if a new
9500 message is received in a thread, that thread becomes the last one
9501 displayed (or the first, if you have set sort=reverse-threads.)
9503 Note: For reversed ``$sort'' order $sort_aux is reversed again (which is
9504 not the right thing to do, but kept to not break any existing
9505 configuration setting).
9513 Specifies how to sort entries in the file browser. By default, the entries
9514 are sorted alphabetically. Valid values:
9516 alpha (alphabetically)
9522 You may optionally use the ``reverse-'' prefix to specify reverse sorting
9523 order (example: set sort_browser=reverse-date).
9531 This variable is only useful when sorting by threads with
9532 ``$strict_threads'' unset. In that case, it changes the heuristic Mutt-ng
9533 uses to thread messages by subject. With $sort_reset, Mutt-ng will only
9534 attach a message as the child of another message by subject if the subject
9535 of the child message starts with a substring matching the setting of
9536 ``$reply_regexp''. With $sort_reunset, Mutt-ng will attach the message
9537 whether or not this is the case, as long as the non-``$reply_regexp''
9538 parts of both messages are identical.
9540 313. $spam_separator
9546 ``spam_separator'' controls what happens when multiple spam headers are
9547 matched: if unset, each successive header will overwrite any previous
9548 matches value for the spam label. If set, each successive match will
9549 append to the previous, using ``spam_separator'' as a separator.
9557 If your spool mailbox is in a non-default place where Mutt-ng cannot find
9558 it, you can specify its location with this variable. Mutt-ng will
9559 automatically set this variable to the value of the environment variable
9560 $MAIL if it is not set.
9562 315. $ssl_ca_certificates_file
9568 This variable specifies a file containing trusted CA certificates. Any
9569 server certificate that is signed with one of these CA certificates are
9570 also automatically accepted.
9572 Example: set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt
9574 316. $ssl_client_cert
9582 The file containing a client certificate and its associated private key.
9590 If this variable is set, Mutt-ng will require that all connections to
9591 remote servers be encrypted. Furthermore it will attempt to negotiate TLS
9592 even if the server does not advertise the capability, since it would
9593 otherwise have to abort the connection anyway. This option supersedes
9596 318. $ssl_min_dh_prime_bits
9602 Availability: GNUTLS
9604 This variable specifies the minimum acceptable prime size (in bits) for
9605 use in any Diffie-Hellman key exchange. A value of 0 will use the default
9606 from the GNUTLS library.
9614 Availability: SSL or GNUTLS
9616 If set (the default), Mutt-ng will attempt to use STARTTLS on servers
9617 advertising the capability. When unset, Mutt-ng will not attempt to use
9618 STARTTLS regardless of the server's capabilities.
9628 This variables specifies whether to attempt to use SSLv2 in the SSL
9629 authentication process.
9637 Availability: SSL or GNUTLS
9639 This variables specifies whether to attempt to use SSLv3 in the SSL
9640 authentication process.
9648 Availability: SSL or GNUTLS
9650 This variables specifies whether to attempt to use TLSv1 in the SSL
9651 authentication process.
9653 323. $ssl_usesystemcerts
9661 If set to yes, Mutt-ng will use CA certificates in the system-wide
9662 certificate store when checking if server certificate is signed by a
9671 Controls the characters used by the ``%r'' indicator in
9672 ``$status_format''. The first character is used when the mailbox is
9673 unchanged. The second is used when the mailbox has been changed, and it
9674 needs to be resynchronized. The third is used if the mailbox is in
9675 read-only mode, or if the mailbox will not be written when exiting that
9676 mailbox (You can toggle whether to write changes to a mailbox with the
9677 toggle-write operation, bound by default to ``%''). The fourth is used to
9678 indicate that the current folder has been opened in attach-message mode
9679 (Certain operations like composing a new mail, replying, forwarding, etc.
9680 are not permitted in this mode).
9686 Default: "-%r-Mutt-ng: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d?
9687 Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l?
9688 %l?]---(%s/%S)-%>-(%P)---"
9690 Controls the format of the status line displayed in the index menu. This
9691 string is similar to ``$index_format'', but has its own set of
9692 printf(3)-like sequences:
9696 number of mailboxes with new mail *
9700 the short pathname of the current mailbox
9704 number of deleted messages *
9708 the full pathname of the current mailbox
9712 number of flagged messages *
9720 size (in bytes) of the current mailbox *
9724 size (in bytes) of the messages shown (i.e., which match the
9729 the number of messages in the mailbox *
9733 the number of messages shown (i.e., which match the current limit)
9738 number of new messages in the mailbox *
9742 number of old unread messages *
9746 number of postponed messages *
9750 percentage of the way through the index
9754 modified/read-only/won't-write/attach-message indicator, according
9759 current sorting mode ($sort)
9763 current aux sorting method ($sort_aux)
9767 number of tagged messages *
9771 number of unread messages *
9775 Mutt-ng version string
9779 currently active limit pattern, if any *
9783 right justify the rest of the string and pad with "X"
9787 pad to the end of the line with "X"
9789 * = can be optionally printed if nonzero
9791 Some of the above sequences can be used to optionally print a string if
9792 their value is nonzero. For example, you may only want to see the number
9793 of flagged messages if such messages exist, since zero is not particularly
9794 meaningful. To optionally print a string based upon one of the above
9795 sequences, the following construct is used
9797 %?<sequence_char>?<optional_string>?
9799 where sequence_char is a character from the table above, and
9800 optional_string is the string you would like printed if sequence_char is
9801 nonzero. optional_stringmay contain other sequences as well as normal
9802 text, but you may not nest optional strings.
9804 Here is an example illustrating how to optionally print the number of new
9805 messages in a mailbox:
9807 %?n?%n new messages.?
9809 Additionally you can switch between two strings, the first one, if a value
9810 is zero, the second one, if the value is nonzero, by using the following
9813 %?<sequence_char>?<if_string>&<else_string>?
9815 You can additionally force the result of any printf(3)-like sequence to be
9816 lowercase by prefixing the sequence character with an underscore (_) sign.
9817 For example, if you want to display the local hostname in lowercase, you
9822 If you prefix the sequence character with a colon (:) character, Mutt-ng
9823 will replace any dots in the expansion by underscores. This might be
9824 helpful with IMAP folders that don't like dots in folder names.
9832 Setting this variable causes the ``status bar'' to be displayed on the
9833 first line of the screen rather than near the bottom.
9841 With mailto: style links, a body as well as arbitrary header information
9842 may be embedded. This may lead to (user) headers being overwriten without
9843 note if ``$edit_headers'' is unset.
9845 If this variable is set, Mutt-ng is strict and allows anything to be
9846 changed. If it's unset, all headers given will be prefixed with
9847 ``X-Mailto-'' and the message including headers will be shown in the
9848 editor regardless of what ``$edit_headers'' is set to.
9856 When unset, non MIME-compliant messages that doesn't have any charset
9857 indication in the ``Content-Type:'' header field can be displayed (non
9858 MIME-compliant messages are often generated by old mailers or buggy
9859 mailers like MS Outlook Express). See also $assumed_charset.
9861 This option also replaces linear-white-space between encoded-word and
9862 *text to a single space to prevent the display of MIME-encoded
9863 ``Subject:'' header field from being devided into multiple lines.
9865 329. $strict_threads
9871 If set, threading will only make use of the ``In-Reply-To:'' and
9872 ``References:'' header fields when you ``$sort'' by message threads. By
9873 default, messages with the same subject are grouped together in ``pseudo
9874 threads.'' This may not always be desirable, such as in a personal mailbox
9875 where you might have several unrelated messages with the subject ``hi''
9876 which will get grouped together. See also ``$sort_re'' for a less drastic
9877 way of controlling this behaviour.
9885 When set, Mutt-ng will remove the trailing part of the ``Subject:'' line
9886 which matches $strip_was_regex when replying. This is useful to properly
9887 react on subject changes and reduce ``subject noise.'' (esp. in Usenet)
9889 331. $strip_was_regex
9891 Type: regular expression
9893 Default: "\([Ww][Aa][RrSs]: .*\)[ ]*$"
9895 When non-empty and $strip_was is set, Mutt-ng will remove this trailing
9896 part of the ``Subject'' line when replying if it won't be empty
9905 If set, attachments with flowed format will have their quoting
9906 ``stuffed'', i.e. a space will be inserted between the quote characters
9907 and the actual text.
9915 When unset, Mutt-ng won't stop when the user presses the terminal's susp
9916 key, usually CTRL+Z. This is useful if you run Mutt-ng inside an xterm
9917 using a command like ``xterm -e muttng.''
9925 When set, Mutt-ng will generate text/plain; format=flowed attachments.
9926 This format is easier to handle for some mailing software, and generally
9927 just looks like ordinary text. To actually make use of this format's
9928 features, you'll need support in your editor.
9930 Note that $indent_string is ignored when this option is set.
9932 335. $thorough_search
9938 Affects the ~b and ~h search operations described in section ``patterns''
9939 above. If set, the headers and attachments of messages to be searched are
9940 decoded before searching. If unset, messages are searched as they appear
9943 336. $thread_received
9949 When set, Mutt-ng uses the date received rather than the date sent to
9950 thread messages by subject.
9958 When set, the internal-pager will pad blank lines to the bottom of the
9959 screen with a tilde (~).
9967 This variable controls the number of seconds Mutt-ng will wait for a key
9968 to be pressed in the main menu before timing out and checking for new
9969 mail. A value of zero or less will cause Mutt-ng to never time out.
9977 This variable allows you to specify where Mutt-ng will place its temporary
9978 files needed for displaying and composing messages. If this variable is
9979 not set, the environment variable $TMPDIR is used. If $TMPDIR is not set
9980 then "/tmp" is used.
9988 Controls the character used to indicate mail addressed to you. The first
9989 character is the one used when the mail is NOT addressed to your address
9990 (default: space). The second is used when you are the only recipient of
9991 the message (default: +). The third is when your address appears in the
9992 ``To:'' header field, but you are not the only recipient of the message
9993 (default: T). The fourth character is used when your address is specified
9994 in the ``Cc:'' header field, but you are not the only recipient. The fifth
9995 character is used to indicate mail that was sent by you. The sixth
9996 character is used to indicate when a mail was sent to a mailing-list
9997 you're subscribe to (default: L).
10005 If set, this variable specifies the path of the trash folder where the
10006 mails marked for deletion will be moved, instead of being irremediably
10009 Note: When you delete a message in the trash folder, it is really deleted,
10010 so that there is no way to recover mail.
10018 Setting this variable will cause Mutt-ng to open a pipe to a command
10019 instead of a raw socket. You may be able to use this to set up
10020 preauthenticated connections to your IMAP/POP3 server. Example:
10022 tunnel="ssh -q mailhost.net /usr/local/libexec/imapd"
10024 Note: For this example to work you must be able to log in to the remote
10025 machine without having to enter a password.
10033 This sets the umask that will be used by Mutt-ng when creating all kinds
10034 of files. If unset, the default value is 077.
10036 344. $uncollapse_jump
10042 When set, Mutt-ng will jump to the next unread message, if any, when the
10043 current thread is uncollapsed.
10051 Warning: do not set this variable unless you are using a version of
10052 sendmail which supports the -B8BITMIME flag (such as sendmail 8.8.x) or in
10053 connection with the SMTP support via libESMTP. Otherwise you may not be
10056 When set, Mutt-ng will either invoke ``$sendmail'' with the -B8BITMIME
10057 flag when sending 8-bit messages to enable ESMTP negotiation or tell
10066 When set, Mutt-ng will qualify all local addresses (ones without the @host
10067 portion) with the value of ``$hostname''. If unset, no addresses will be
10070 347. $use_envelope_from
10076 When set, Mutt-ng will use ``$envelope_from_address'' as the envelope
10077 sender if that is set, otherwise it will attempt to derive it from the
10080 Note: This information is passed to sendmail command using the "-f"
10081 command line switch and passed to the SMTP server for libESMTP (if support
10090 When set, Mutt-ng will generate the ``From:'' header field when sending
10091 messages. If unset, no ``From:'' header field will be generated unless the
10092 user explicitly sets one using the ``my_hdr'' command.
10102 When set, Mutt-ng will show you international domain names decoded.
10104 Note: You can use IDNs for addresses even if this is unset. This variable
10105 only affects decoding.
10113 When set, Mutt-ng will look for IPv6 addresses of hosts it tries to
10114 contact. If this option is unset, Mutt-ng will restrict itself to IPv4
10115 addresses. Normally, the default should work.
10123 Specifies the visual editor to invoke when the ~v command is given in the
10132 Controls whether Mutt-ng will ask you to press a key after shell- escape,
10133 pipe-message, pipe-entry, print-message, and print-entry commands.
10135 It is also used when viewing attachments with ``auto_view'', provided that
10136 the corresponding mailcap entry has a needsterminal flag, and the external
10137 program is interactive.
10139 When set, Mutt-ng will always ask for a key. When unset, Mutt-ng will wait
10140 for a key only if the external command returned a non-zero status.
10148 When set, Mutt-ng will weed headers when displaying, forwarding, printing,
10149 or replying to messages.
10157 Controls whether searches wrap around the end of the mailbox.
10159 When set, searches will wrap around the first (or last) message. When
10160 unset, searches will not wrap.
10168 Controls the size of the margin remaining at the right side of the
10169 terminal when Mutt-ng's pager does smart wrapping.
10177 Controls whether Mutt-ng writes out the Bcc header when preparing messages
10178 to be sent. Exim users may wish to unset this.
10186 When writing a mailbox, a message will be printed every write_inc messages
10187 to indicate progress. If set to 0, only a single message will be displayed
10188 before writing a mailbox.
10190 Also see the ``$read_inc'' variable.
10196 Default: "M%?n?AIL&ail?"
10198 Controls the format of the X11 icon title, as long as $xterm_set_titles is
10199 set. This string is identical in formatting to the one used by
10200 ``$status_format''.
10208 If $xterm_set_titles is set, this string will be used to set the title
10209 when leaving Mutt-ng. For terminal-based programs, there's no easy and
10210 portable way to read the current title so Mutt-ng cannot read it upon
10211 startup and restore it when exiting.
10213 Based on the xterm FAQ, the following might work:
10215 set xterm_leave = "`test x$DISPLAY != x && xprop -id $WINDOWID | grep
10216 WM_NAME | cut -d '"' -f 2`"
10218 360. $xterm_set_titles
10224 Controls whether Mutt-ng sets the xterm title bar and icon name (as long
10225 as you're in an appropriate terminal). The default must be unset to force
10226 in the validity checking.
10232 Default: "Mutt-ng with %?m?%m messages&no messages?%?n? [%n New]?"
10234 Controls the format of the title bar of the xterm provided that
10235 $xterm_set_titles has been set. This string is identical in formatting to
10236 the one used by ``$status_format''.
10240 The following is the list of available functions listed by the mapping in
10241 which they are available. The default key setting is given, and an
10242 explanation of what the function does. The key bindings of these functions
10243 can be changed with the bind command.
10247 The generic menu is not a real menu, but specifies common functions (such
10248 as movement) available in all menus except for pager and editor. Changing
10249 settings for this menu will affect the default bindings for all menus
10252 Table 7.4. Reference: Default Generic Function Bindings
10254 Function Default Key Description
10255 <bottom-page> L move to the bottom of the page
10256 <current-bottom> move current entry to bottom of page
10257 <current-middle> move current entry to middle of page
10258 <current-top> move current entry to top of page
10259 <enter-command> : enter a muttngrc command
10260 <exit> q exit this menu
10261 <first-entry> = move to the first entry
10262 <half-down> ] scroll down 1/2 page
10263 <half-up> [ scroll up 1/2 page
10264 <help> ? this screen
10265 <jump> number jump to an index number
10266 <last-entry> * move to the last entry
10267 <middle-page> M move to the middle of the page
10268 <next-entry> j move to the next entry
10269 <next-line> > scroll down one line
10270 <next-page> z move to the next page
10271 <previous-entry> k move to the previous entry
10272 <previous-line> > scroll up one line
10273 <previous-page> Z move to the previous page
10274 <refresh> C-L clear and redraw the screen
10275 <search> / search for a regular expression
10276 <search-next> n search for next match
10277 <search-opposite> search for next match in opposite direction
10278 <search-reverse> E-/ search backwards for a regular expression
10279 <select-entry> Return select the current entry
10280 <shell-escape> ! run a program in a subshell
10281 <tag-entry> t toggle the tag on the current entry
10282 <tag-prefix> ; apply next command to tagged entries
10283 <tag-prefix-cond> apply next function ONLY to tagged messages
10284 <top-page> H move to the top of the page
10285 <what-key> display the keycode for a key press
10289 Table 7.5. Reference: Default Index Function Bindings
10291 Function Default Key Description
10292 <bounce-message> b remail a message to another user
10293 <change-folder> c open a different folder
10294 <change-folder-readonly> E-c open a different folder in read
10296 <check-traditional-pgp> E-P check for classic pgp
10297 <clear-flag> W clear a status flag from a message
10298 <copy-message> C copy a message to a file/mailbox
10299 <create-alias> a create an alias from a message
10301 <decode-copy> E-C decode a message and copy it to a
10303 <decode-save> E-s decode a message and save it to a
10305 <delete-message> d delete the current entry
10306 <delete-pattern> D delete messages matching a pattern
10307 <delete-subthread> E-d delete all messages in subthread
10308 <delete-thread> C-D delete all messages in thread
10309 <display-address> @ display full address of sender
10310 <display-toggle-weed> h display message and toggle header
10312 <display-message> Return display a message
10313 <edit> e edit the current message
10314 <edit-type> C-E edit the current message's
10316 <exit> x exit without saving changes
10317 <extract-keys> C-K extract PGP public keys
10318 <fetch-mail> G retrieve mail from POP server
10319 <flag-message> F toggle a message's 'important' flag
10320 <forget-passphrase> C-F wipe PGP passphrase from memory
10321 <forward-message> f forward a message with comments
10322 <group-reply> g reply to all recipients
10323 <limit> l show only messages matching a
10325 <list-reply> L reply to specified mailing list
10326 <mail> m compose a new mail message
10327 <mail-key> E-k mail a PGP public key
10328 <next-new> jump to the next new message
10329 <next-new-then-unread> Tab jump to the next new or unread
10331 <next-subthread> E-n jump to the next subthread
10332 <next-thread> C-N jump to the next thread
10333 <next-undeleted> j move to the next undeleted message
10334 <next-unread> jump to the next unread message
10335 <parent-message> P jump to parent message in thread
10336 <pipe-message> | pipe message/attachment to a shell
10338 <previous-new> jump to the previous new message
10339 <previous-new-then-unread> E-Tab jump to the previous new or unread
10341 <previous-page> Z move to the previous page
10342 <previous-subthread> E-p jump to previous subthread
10343 <previous-thread> C-P jump to previous thread
10344 <previous-undeleted> k move to the last undelete message
10345 <previous-unread> jump to the previous unread message
10346 <print-message> p print the current entry
10347 <query> Q query external program for
10349 <quit> q save changes to mailbox and quit
10350 <read-subthread> E-r mark the current subthread as read
10351 <read-thread> C-R mark the current thread as read
10352 <recall-message> R recall a postponed message
10353 <reply> r reply to a message
10354 <resend-message> E-e resend message and preserve MIME
10356 <save-message> s save message/attachment to a file
10357 <set-flag> w set a status flag on a message
10358 <show-version> V show the Mutt-ng version number and
10360 <show-limit> E-l show currently active limit
10362 <sort-mailbox> o sort messages
10363 <sort-reverse> O sort messages in reverse order
10364 <sync-mailbox> $ save changes to mailbox
10365 <tag-pattern> T tag messages matching a pattern
10366 <tag-thread> E-t tag/untag all messages in the
10368 <toggle-new> N toggle a message's 'new' flag
10369 <toggle-write> % toggle whether the mailbox will be
10371 <undelete-message> u undelete the current entry
10372 <undelete-pattern> U undelete messages matching a
10374 <undelete-subthread> E-u undelete all messages in subthread
10375 <undelete-thread> C-U undelete all messages in thread
10376 <untag-pattern> C-T untag messages matching a pattern
10377 <view-attachments> v show MIME attachments
10381 Table 7.6. Reference: Default Pager Function Bindings
10383 Function Default Key Description
10384 <bottom> jump to the bottom of the message
10385 <bounce-message> b remail a message to another user
10386 <change-folder> c open a different folder
10387 <change-folder-readonly> E-c open a different folder in read
10389 <check-traditional-pgp> E-P check for classic pgp
10390 <copy-message> C copy a message to a file/mailbox
10391 <create-alias> a create an alias from a message
10392 <senderdecode-copy> E-C decode a message and copy it to a
10394 <decode-save> E-s decode a message and save it to a
10396 <delete-message> d delete the current entry
10397 <delete-subthread> E-d delete all messages in subthread
10398 <delete-thread> C-D delete all messages in thread
10399 <display-address> @ display full address of sender
10400 <display-toggle-weed> h display message and toggle header
10402 <edit> e edit the current message
10403 <edit-type> C-E edit the current message's
10405 <enter-command> : enter a muttngrc command
10406 <exit> i return to the main-menu
10407 <extract-keys> C-K extract PGP public keys
10408 <flag-message> F toggle a message's 'important' flag
10409 <forget-passphrase> C-F wipe PGP passphrase from memory
10410 <forward-message> f forward a message with comments
10411 <group-reply> g reply to all recipients
10412 <half-up> move up one-half page
10413 <half-down> move down one-half page
10414 <help> ? this screen
10415 <list-reply> L reply to specified mailing list
10416 <mail> m compose a new mail message
10417 <mail-key> E-k mail a PGP public key
10418 <mark-as-new> N toggle a message's 'new' flag
10419 <next-line> Return scroll down one line
10420 <next-entry> J move to the next entry
10421 <next-new> jump to the next new message
10422 <next-new-then-unread> Tab jump to the next new or unread
10424 <next-page> move to the next page
10425 <next-subthread> E-n jump to the next subthread
10426 <next-thread> C-N jump to the next thread
10427 <next-undeleted> j move to the next undeleted message
10428 <next-unread> jump to the next unread message
10429 <parent-message> P jump to parent message in thread
10430 <pipe-message> | pipe message/attachment to a shell
10432 <previous-line> BackSpace scroll up one line
10433 <previous-entry> K move to the previous entry
10434 <previous-new> jump to the previous new message
10435 <previous-new-then-unread> jump to the previous new or unread
10437 <previous-page> - move to the previous page
10438 <previous-subthread> E-p jump to previous subthread
10439 <previous-thread> C-P jump to previous thread
10440 <previous-undeleted> k move to the last undelete message
10441 <previous-unread> jump to the previous unread message
10442 <print-message> p print the current entry
10443 <quit> Q save changes to mailbox and quit
10444 <read-subthread> E-r mark the current subthread as read
10445 <read-thread> C-R mark the current thread as read
10446 <recall-message> R recall a postponed message
10447 <redraw-screen> C-L clear and redraw the screen
10448 <reply> r reply to a message
10449 <save-message> s save message/attachment to a file
10450 <search> / search for a regular expression
10451 <search-next> n search for next match
10452 <search-opposite> search for next match in opposite
10454 <search-reverse> E-/ search backwards for a regular
10456 <search-toggle> \ toggle search pattern coloring
10457 <shell-escape> ! invoke a command in a subshell
10458 <show-version> V show the Mutt-ng version number and
10460 <skip-quoted> S skip beyond quoted text
10461 <sync-mailbox> $ save changes to mailbox
10462 <tag-message> t tag a message
10463 <toggle-quoted> T toggle display of quoted text
10464 <top> ^ jump to the top of the message
10465 <undelete-message> u undelete the current entry
10466 <undelete-subthread> E-u undelete all messages in subthread
10467 <undelete-thread> C-U undelete all messages in thread
10468 <view-attachments> v show MIME attachments
10472 Table 7.7. Reference: Default Alias Menu Function Bindings
10474 Function Default Key Description
10475 <search> / search for a regular expression
10476 <search-next> n search for next match
10477 <search-reverse> E-/ search backwards for a regular expression
10481 Table 7.8. Reference: Default Query Menu Function Bindings
10483 Function Default Key Description
10484 <create-alias> a create an alias from a message sender
10485 <mail> m compose a new mail message
10486 <query> Q query external program for addresses
10487 <query-append> A append new query results to current results
10488 <search> / search for a regular expression
10489 <search-next> n search for next match
10490 <search-opposite> search for next match in opposite direction
10491 <search-reverse> E-/ search backwards for a regular expression
10495 Table 7.9. Reference: Default Attachment Menu Function Bindings
10497 Function Default Key Description
10498 <bounce-message> b remail a message to another user
10499 <collapse-parts> v toggle display of subparts
10500 <delete-entry> d delete the current entry
10501 <display-toggle-weed> h display message and toggle header
10503 <edit-type> C-E edit the current entry's Content-Type
10504 <extract-keys> C-K extract PGP public keys
10505 <forward-message> f forward a message with comments
10506 <group-reply> g reply to all recipients
10507 <list-reply> L reply to specified mailing list
10508 <pipe-entry> | pipe message/attachment to a shell
10510 <print-entry> p print the current entry
10511 <reply> r reply to a message
10512 <resend-message> E-e resend message and preserve MIME
10514 <save-entry> s save message/attachment to a file
10515 <undelete-entry> u undelete the current entry
10516 <view-attach> Return view attachment using mailcap entry if
10518 <view-mailcap> m force viewing of attachment using
10520 <view-text> T view attachment as text
10524 Table 7.10. Reference: Default Compose Menu Function Bindings
10526 Function Default Key Description
10527 <attach-file> a attach a file(s) to this message
10528 <attach-message> A attach message(s) to this message
10529 <attach-key> E-k attach a PGP public key
10530 <copy-file> C save message/attachment to a file
10531 <detach-file> D delete the current entry
10532 <display-toggle-weed> h display message and toggle header
10534 <edit-bcc> b edit the BCC list
10535 <edit-cc> c edit the CC list
10536 <edit-description> d edit attachment description
10537 <edit-encoding> C-E edit attachment transfer-encoding
10538 <edit-fcc> f enter a file to save a copy of this
10540 <edit-from> E-f edit the from: field
10541 <edit-file> C-X e edit the file to be attached
10542 <edit-headers> E edit the message with headers
10543 <edit> e edit the message
10544 <edit-mime> m edit attachment using mailcap entry
10545 <edit-reply-to> r edit the Reply-To field
10546 <edit-subject> s edit the subject of this message
10547 <edit-to> t edit the TO list
10548 <edit-type> C-T edit attachment type
10549 <filter-entry> F filter attachment through a shell
10551 <forget-passphrase> C-F wipe PGP passphrase from memory
10552 <ispell> i run ispell on the message
10553 <new-mime> n compose new attachment using mailcap
10555 <pgp-menu> p show PGP options
10556 <pipe-entry> | pipe message/attachment to a shell
10558 <postpone-message> P save this message to send later
10559 <print-entry> l print the current entry
10560 <rename-file> R rename/move an attached file
10561 <send-message> y send the message
10562 <toggle-unlink> u toggle whether to delete file after
10564 <view-attach> Return view attachment using mailcap entry if
10566 <write-fcc> w write the message to a folder
10570 Table 7.11. Reference: Default Postpone Menu Function Bindings
10572 Function Default Key Description
10573 <delete-entry> d delete the current entry
10574 <undelete-entry> u undelete the current entry
10578 Table 7.12. Reference: Default Browser Menu Function Bindings
10580 Function Default Key Description
10581 <change-dir> c change directories
10582 <check-new> Tab check mailboxes for new mail
10583 <enter-mask> m enter a file mask
10584 <search> / search for a regular expression
10585 <search-next> n search for next match
10586 <search-reverse> E-/ search backwards for a regular expression
10587 <select-new> N select a new file in this directory
10588 <sort> o sort messages
10589 <sort-reverse> O sort messages in reverse order
10590 <toggle-mailboxes> Tab toggle whether to browse mailboxes or all
10592 <view-file> Space view file
10593 <subscribe> s subscribe to current mailbox (IMAP Only)
10594 <unsubscribe> u unsubscribe to current mailbox (IMAP Only)
10595 <toggle-subscribed> T toggle view all/subscribed mailboxes (IMAP
10600 Table 7.13. Reference: Default PGP Menu Function Bindings
10602 Function Default Key Description
10603 <view-name> % view the key's user id
10604 <verify-key> c verify a PGP public key
10608 Table 7.14. Reference: Default Editor Function Bindings
10610 Function Default Key Description
10611 <backspace> BackSpace delete the char in front of the cursor
10612 <backward-char> C-B move the cursor one character to the left
10613 <backward-word> E-b move the cursor to the previous word
10614 <bol> C-A jump to the beginning of the line
10615 <buffy-cycle> Space cycle among incoming mailboxes
10616 <capitalize-word> E-c uppercase the first character in the word
10617 <complete> Tab complete filename or alias
10618 <complete-query> C-T complete address with query
10619 <delete-char> C-D delete the char under the cursor
10620 <downcase-word> E-l lowercase all characters in current word
10621 <eol> C-E jump to the end of the line
10622 <forward-char> C-F move the cursor one character to the right
10623 <forward-word> E-f move the cursor to the next word
10624 <history-down> scroll down through the history list
10625 <history-up> scroll up through the history list
10626 <kill-eol> C-K delete chars from cursor to end of line
10627 <kill-eow> E-d delete chars from cursor to end of word
10628 <kill-line> C-U delete all chars on the line
10629 <kill-word> C-W delete the word in front of the cursor
10630 <quote-char> C-V quote the next typed key
10631 <transpose-chars> transpose character under cursor with
10633 <upcase-word> E-u uppercase all characters in current word
10637 Table 7.15. Referene: Default Sidebar Function Bindings
10639 Key Function Description
10640 <sidebar-scroll-up> Scrolls the mailbox list up 1 page
10641 <sidebar-scroll-down> Scrolls the mailbox list down 1 page
10642 <sidebar-next> Highlights the next mailbox
10643 <sidebar-next-new> Highlights the next mailbox with new mail
10644 <sidebar-previous> Highlights the previous mailbox
10645 <sidebar-open> Opens the currently highlighted mailbox
10647 Appendix A. Acknowledgments
10649 Kari Hurtta <kari.hurtta@fmi.fi> co-developed the original MIME >parsing
10650 code back in the ELM-ME days.
10652 The following people have been very helpful to the development of Mutt
10653 (sorted by surnames):
10655 o Vikas Agnihotri <vikasa@writeme.com>
10656 o Francois Berjon < Francois.Berjon@aar.alcatel-alsthom.fr>
10657 o Aric Blumer <aric@fore.com>
10658 o John Capo <jc@irbs.com>
10659 o David Champion <dgc@uchicago.edu>
10660 o Brendan Cully <brendan@kublai.com>
10661 o Liviu Daia <daia@stoilow.imar.ro>
10662 o Thomas E. Dickey <dickey@herndon4.his.com>
10663 o David DeSimone <fox@convex.hp.com>
10664 o Nickolay N. Dudorov <nnd@wint.itfs.nsk.su>
10665 o Ruslan Ermilov <ru@freebsd.org>
10666 o Edmund Grimley Evans <edmundo@rano.org>
10667 o Michael Finken <finken@conware.de>
10668 o Sven Guckes <guckes@math.fu-berlin.de>
10669 o Lars Hecking <lhecking@nmrc.ie>
10670 o Mark Holloman <holloman@nando.net>
10671 o Andreas Holzmann <holzmann@fmi.uni-passau.de>
10672 o Marco d'Itri <md@linux.it>
10673 o Björn Jacke <bjacke@suse.com>
10674 o Byrial Jensen <byrial@image.dk>
10675 o David Jeske <jeske@igcom.net>
10676 o Christophe Kalt <kalt@hugo.int-evry.fr>
10677 o Tommi Komulainen <Tommi.Komulainen@iki.fi>
10678 o Felix von Leitner (a.k.a ``Fefe'') < leitner@math.fu-berlin.de >
10679 o Brandon Long <blong@fiction.net>
10680 o Jimmy Mäkeä <jmy@flashback.net>
10681 o Lars Marowsky-Bree <lmb@pointer.in-minden.de>
10682 o Thomas ``Mike'' Michlmayr <mike@cosy.sbg.ac.at>
10683 o Andrew W. Nosenko <awn@bcs.zp.ua>
10684 o David O'Brien <obrien@Nuxi.cs.ucdavis.edu>
10685 o Clint Olsen <olsenc@ichips.intel.com>
10686 o Park Myeong Seok <pms@romance.kaist.ac.kr>
10687 o Thomas Parmelan <tom@ankh.fr.eu.org>
10688 o Ollivier Robert <roberto@keltia.freenix.fr>
10689 o Thomas Roessler <roessler@does-not-exist.org>
10690 o Roland Rosenfeld <roland@spinnaker.de>
10691 o TAKIZAWA Takashi <taki@luna.email.ne.jp>
10692 o Allain Thivillon <Allain.Thivillon@alma.fr>
10693 o Gero Treuner <gero@70t.de>
10694 o Vsevolod Volkov <vvv@lucky.net>
10695 o Ken Weinert <kenw@ihs.com>
10697 Mutt-ng is developed by the following people:
10699 o Andreas Krennmair <ak@synflood.at>
10700 o Nico Golde <nico@ngolde.de>
10701 o Rocco Rutte <pdmef@cs.tu-berlin.de>
10703 The following people have been very helpful to the development of Mutt-ng
10704 (sorted by surnames):
10706 o Christian Gall <cg@cgall.de>
10707 o Iain Lea <iain@bricbrac.de>
10708 o Andreas Kneib <akneib@gmx.net>
10709 o Felix Meinhold <felix.meinhold@gmx.net>
10710 o Carsten Schoelzki <cjs@weisshuhn.de>
10711 o Elimar Riesebieter <riesebie@lxtec.de>
10713 Appendix B. Hacking Documentation
10715 This manual is written in XML and transformed via a XSLT stylesheet into
10716 valid DocBook/XML and/or LaTeX to be again transformed via a XSLT
10717 stylesheet into the final formats.
10719 This two pass processing is required to keep the file size low and to
10720 sanitize use, i.e. drastically lower the typing overhead.
10722 To achieve the latter, the sources come with a file called
10723 muttng-manual.xsl introducing the muttng-doc namespace which offers the
10724 following tags to be used (note: this is far from being complete, any help
10725 towards consistency is highly appreciated).
10727 <muttng-doc:man name="" [sect=""]/>
10729 References to manual pages. If the sect parameter is omitted,
10730 it'll be 1 for the commands section. There's no auto-indexing yet.
10732 <muttng-doc:envvar name=""/>
10734 References to environment variables. The name parameter must
10735 contain upper-case letters only without the dollar sign as it'll
10736 be added automatically. Auto-indexing is done.
10738 <muttng-doc:hook name=""/>
10740 References to hooks. The string -hook will be added automatically
10741 to the value given in the name parameter. All entries will be
10744 <muttng-doc:pattern name="" [full="1"]/>
10746 References to patterns. The name parameter must only contain the
10747 letter/symbol for the pattern as the tilde symbol/equal sign will
10748 be added automatically. Auto-indexing is done. If the full
10749 parameter is given the equal sign as well as tilde will be printed
10750 for a fully complete reference.
10752 <muttng-doc:key [mod="C|E"]>key</muttng-doc:key>
10754 Referencing a key.. Because it's somewhat untrivial to always get
10755 the right escaping for LaTeX, there's a tag for it. The optional
10756 modifiers C or E stand for Control and Escape respectively. To
10757 still allow escaping, the actual key sequences must be given
10760 <muttng-doc:funcdef name=""/>
10762 Defining a command.. It's used to define a command with the name
10763 given in the name parameter. The default key binding must be given
10764 via <muttng-doc:key/> (see above). The string will be
10765 automatically enclosed in <>. Auto-indexing is done. Also an
10766 anchor with id func-[name] will be added with [name] being the
10767 value of the name parameter.
10769 <muttng-doc:funcref name=""/>
10771 References to functions.. This is practically the same as the
10772 above except that there's no anchor defined.
10774 <muttng-doc:vardef name=""/>
10776 Defining a variable. This is to be used by makedoc only to define
10777 a command with a given name and XML-normalized link given via id.
10778 Auto-indexing is done. The name parameter's value will be prefixed
10779 with a dollar sign as for environment variables.
10781 <muttng-doc:varref name=""/>
10783 References to variables. This practically is the same as above
10784 except that the text inbetween won't be wrapped within a <sect1>
10785 tag. Auto-indexing is the same as for the above. This one is
10786 intended for manual use.
10788 <muttng-doc:web url""/>
10790 Pretty print a linked URL. As for E-Mail addresses where the text
10791 (mostly) equals the link's target, URLs must be enclosed in <>
10792 (also this reduced redudant URL typing).
10794 <muttng-doc:rfc num=""/>
10796 References to RfC documents. Use this to produce links to RfC
10797 document with number given as the num parameter. A link to
10798 <http://www.faqs.org/> will be made. Auto-indexing is done under
10801 <muttng-doc:cmddef name="" [noanchor="1"]/>
10803 Defining a configuration command. The name of the command is given
10804 as the name parameter. In case a single command has multiple
10805 possible calling sequences, specify noanchor="1" for subsequent
10806 use. Auto-indexing is done. Specify the arguments within the tag.
10808 <muttng-doc:cmdref name=""/>
10810 References to configuration commands. Use this to refer to
10811 commands as it builds the proper internal reference name.
10812 Auto-indexing is done.
10814 <muttng-doc:lstconf/>, <muttng-doc:lstmail/>, <muttng-doc:lstshell/>
10816 Screen layout by context. These are used to specify environments
10817 for different types of screen output. For DocBook output, all of
10818 these simply map to <screen/>. But as a possible future migration
10819 to LaTeX may be ahead, different languages defined for the
10820 listings.sty packages may be used to have proper syntax
10821 highlighting for these so that there must be a context sensitive
10824 <muttng-doc:special [docbook=""] [latex=""]/>
10826 This is intended for specifying special strings for either
10827 DocBook/XML or LaTeX.
10829 Additional notes follow.
10831 o To not fully bloat the XSL stylesheet procuding the LaTeX code, all
10832 tables must have an attribute called texstr which is directly passed
10847 ~b/ =b, Complex Patterns, Patterns
10855 ~d/ =d, Patterns and Dates, Patterns
10863 ~f/ =f, Complex Patterns, Patterns
10871 ~H/ =H, Spam detection, Patterns
10887 ~n/ =n, Message Scoring, Patterns
10903 ~s/ =s, Complex Patterns, Patterns
10911 ~U/ =U, Complex Patterns, Patterns
10921 ~x/ =x, Complex Patterns, Patterns
10925 ~y/ =y, Handling Mailing Lists, Patterns
10931 $abort_noattach , $abort_noattach
10933 $abort_nosubject , $abort_nosubject
10935 $abort_unmodified , $abort_unmodified
10937 account-hook, Managing multiple IMAP/POP/NNTP accounts (OPTIONAL),
10938 Configuration Commands
10940 $agent_string , Configuration variables
10942 $agent_string , $agent_string
10944 alias, Miscellaneous Functions, Defining/Using aliases, Configuration
10947 $alias_file, Miscellaneous Functions, Defining/Using aliases
10949 $alias_file , $alias_file
10951 $alias_format , $alias_format
10953 $allow_8bit , $allow_8bit
10955 $allow_ansi , $allow_ansi
10957 alternates, Alternative addresses, Configuration Commands
10959 alternative_order, MIME Multipart/Alternative, Configuration Commands
10961 append-hook, Compressed folders Support (OPTIONAL), Append a message to a
10962 compressed mailbox, Encrypted folders, Configuration Commands
10964 $arrow_cursor , $arrow_cursor
10966 $ascii_chars , $ascii_chars
10972 $assumed_charset , $assumed_charset
10974 <attach-file>, Composing new messages, compose
10976 <attach-key>, Composing new messages, compose
10978 <attach-message>, Composing new messages, compose
10980 attachments, Attachment Searching and Counting
10982 $attach_format , $attach_format
10984 $attach_remind_regexp , $attach_remind_regexp
10986 $attach_sep , $attach_sep
10988 $attach_split , $attach_split
10990 $attribution, Change settings based upon message recipients, $attribution
10992 $auto_tag, Using Tags
10994 $autoedit , $autoedit
10996 $auto_tag , $auto_tag
10998 auto_view, The Pager, Optional Fields, Search Order, MIME Autoview, MIME
10999 Multipart/Alternative, Configuration Commands
11003 <backspace>, Editing Input Fields, editor
11005 <backward-char>, Editing Input Fields, editor
11007 <backward-word>, Editing Input Fields, editor
11011 $beep_new , $beep_new
11013 bind, Editing Input Fields, Changing the default key bindings, Keyboard
11014 macros, Configuration Commands
11016 <bol>, Editing Input Fields, editor
11020 <bottom-page>, generic
11022 <bounce>, Sending Mail, $bounce
11024 <bounce-message>, index, pager, attach
11026 $bounce_delivered , $bounce_delivered
11028 $braille_friendly , $braille_friendly
11030 <buffy-cycle>, editor
11034 <capitalize-word>, Editing Input Fields, editor
11036 $certificate_file , $certificate_file
11038 <change-dir>, browser
11040 <change-folder>, index, pager
11042 <change-folder-readonly>, index, pager
11044 $charset , $charset
11046 charset-hook, Defining aliases for character sets, Configuration Commands
11048 <check-new>, browser
11050 <check-traditional-pgp>, Miscellaneous Functions, index, pager
11052 $check_new , $check_new
11054 <clear-flag>, index
11056 close-hook, Compressed folders Support (OPTIONAL), Write a compressed
11057 mailbox, Append a message to a compressed mailbox, Configuration Commands
11059 <collapse-all>, Threaded Mode
11061 <collapse-parts>, attach
11063 <collapse-thread>, Threaded Mode
11065 $collapse_unread , $collapse_unread
11067 color, The Pager, Using color and mono video attributes, Configuration
11070 $COLORFGBG, Using color and mono video attributes
11072 <complete>, Editing Input Fields, editor
11074 <complete-query>, Editing Input Fields, editor
11076 <compose>, Sending Mail
11078 $compose_format , $compose_format
11080 $config_charset , $config_charset
11082 $confirmappend , $confirmappend
11084 $confirmcreate , $confirmcreate
11086 $connect_timeout , $connect_timeout
11088 $content_type , $content_type
11092 <copy-file>, compose
11094 <copy-message>, index, pager
11096 $count_attachments, Attachment Searching and Counting
11098 $count_attachments , $count_attachments
11100 <create-alias>, Miscellaneous Functions, Defining/Using aliases, index,
11103 $crypt_autoencrypt , Configuration variables
11105 $crypt_autosign , Configuration variables
11107 crypt-hook, Choosing the cryptographic key of the recipient, Configuration
11110 $crypt_replyencrypt , Configuration variables
11112 $crypt_replysign , Configuration variables
11114 $crypt_replysignencrypted , Configuration variables
11116 $crypt_verify_sig , Configuration variables
11118 $crypt_autoencrypt , $crypt_autoencrypt
11120 $crypt_autopgp , $crypt_autopgp
11122 $crypt_autosign , $crypt_autosign
11124 $crypt_autosmime , $crypt_autosmime
11126 $crypt_replyencrypt , $crypt_replyencrypt
11128 $crypt_replysign , $crypt_replysign
11130 $crypt_replysignencrypted , $crypt_replysignencrypted
11132 $crypt_timestamp , $crypt_timestamp
11134 $crypt_use_gpgme , $crypt_use_gpgme
11136 $crypt_verify_sig , $crypt_verify_sig
11138 <current-bottom>, generic
11140 <current-middle>, generic
11142 <current-top>, generic
11146 $date_format , $date_format
11148 $debug_level , $debug_level
11150 <decode-copy>, index
11152 <decode-save>, index, pager
11154 default-hook, Message Matching in Hooks
11156 $default_hook , $default_hook
11160 <delete-char>, Editing Input Fields, editor
11162 <delete-entry>, attach, postpone
11164 <delete-message>, index, pager
11166 <delete-pattern>, index
11168 $delete_space, Additional Notes
11170 <delete-subthread>, Threaded Mode, index, pager
11172 <delete-thread>, Threaded Mode, index, pager
11174 $delete_space , $delete_space
11176 $delete_untag , $delete_untag
11178 <detach-file>, Composing new messages, compose
11180 $digest_collapse , $digest_collapse
11182 <display-address>, index, pager
11184 <display-message>, index
11186 <display-toggle-weed>, Miscellaneous Functions, index, pager, attach,
11189 $display_filter , $display_filter
11191 $dotlock_program , $dotlock_program
11193 <downcase-word>, Editing Input Fields, editor
11195 $dsn_notify, Delivery Status Notification (DSN) Support
11197 $dsn_return, Delivery Status Notification (DSN) Support
11199 $dsn_notify , $dsn_notify
11201 $dsn_return , $dsn_return
11203 $duplicate_threads , $duplicate_threads
11207 <edit>, Miscellaneous Functions, index, pager, compose
11209 <edit-bcc>, Composing new messages, compose
11211 <edit-cc>, Composing new messages, compose
11213 <edit-description>, Composing new messages, compose
11215 <edit-encoding>, compose
11217 <edit-fcc>, Composing new messages, compose
11219 <edit-file>, compose
11221 <edit-from>, Composing new messages, compose
11223 $edit_headers, Editing the message header, User defined headers,
11224 mailto:-style links, Configuration variables, compose
11226 <edit-mime>, compose
11228 <edit-reply-to>, Composing new messages, compose
11230 <edit-subject>, Composing new messages, compose
11232 <edit-to>, Composing new messages, compose
11234 <edit-type>, Miscellaneous Functions, index, pager, attach, compose
11236 $EDITOR, Manual Conventions, Composing new messages
11240 $editor_headers, Editing the message header, Defining/Using aliases
11242 $editor_headers , $editor_headers
11244 $edit_headers , $edit_headers
11246 $encode_from , $encode_from
11248 <enter-command>, Miscellaneous Functions, generic, pager
11250 <enter-mask>, browser
11252 $entropy_file , $entropy_file
11254 $envelope_from_address , $envelope_from_address
11256 <eol>, Editing Input Fields, editor
11260 exec, Executing functions, Configuration Commands
11262 <exit>, generic, index, pager
11264 <extract-keys>, Miscellaneous Functions, index, pager, attach
11268 $fast_reply , $fast_reply
11270 fcc-hook, Specify default Fcc: mailbox when composing, Specify default
11271 save filename and default Fcc: mailbox at once, Using Hooks, Message
11272 Matching in Hooks, Configuration Commands
11274 fcc-save-hook, Specify default save filename, Specify default Fcc: mailbox
11275 when composing, Specify default save filename and default Fcc: mailbox at
11276 once, Using Hooks, Configuration Commands
11278 $fcc_attach , $fcc_attach
11280 $fcc_clear , $fcc_clear
11282 <fetch-mail>, index
11284 $file_charset , $file_charset
11286 <filter-entry>, compose
11288 <first-entry>, Moving Around in Menus, generic
11290 <flag-message>, index, pager
11292 $folder, Configuration Variables, Defining mailboxes which receive mail,
11293 Mailbox Shortcuts, $folder
11295 folder-hook, Setting variables based upon mailbox, Spam detection, Using
11296 Hooks, Managing multiple IMAP/POP/NNTP accounts (OPTIONAL), Configuration
11299 $folder_format , $folder_format
11301 $followup_to, Mailing lists, Handling Mailing Lists
11303 $followup_to , $followup_to
11305 $force_buffy_check , $force_buffy_check
11307 $force_list_reply , $force_list_reply
11309 $force_name , $force_name
11311 <forget-passphrase>, Miscellaneous Functions, Composing new messages,
11312 index, pager, compose
11314 <forward>, Sending Mail
11316 <forward-char>, Editing Input Fields, editor
11318 $forward_decode , Configuration variables
11320 $forward_decrypt , Configuration variables
11322 $forward_format , Configuration variables
11324 <forward-message>, index, pager, attach
11326 $forward_quote , Configuration variables
11328 <forward-word>, Editing Input Fields, editor
11330 $forward_decode , $forward_decode
11332 $forward_decrypt , $forward_decrypt
11334 $forward_edit , $forward_edit
11336 $forward_format , $forward_format
11338 $forward_quote , $forward_quote
11344 $gecos_mask , $gecos_mask
11346 <group-reply>, Sending Mail, index, pager, attach
11350 <half-down>, generic, pager
11352 <half-up>, generic, pager
11356 hdr_order, Defining the order of headers when viewing messages,
11357 Configuration Commands
11361 $header_cache , $header_cache
11363 $header_cache_compress , $header_cache_compress
11365 <help>, Moving Around in Menus, $help, generic, pager
11367 $hidden_host , $hidden_host
11369 $hide_limited , $hide_limited
11371 $hide_missing , $hide_missing
11373 $hide_thread_subject , $hide_thread_subject
11375 $hide_top_limited , $hide_top_limited
11377 $hide_top_missing , $hide_top_missing
11379 $history , $history
11381 <history-down>, Editing Input Fields, editor
11383 <history-up>, Editing Input Fields, editor
11385 $HOME, MIME Type configuration with mime.types, MIME Viewer configuration
11388 $honor_followup_to, Miscellaneous Functions, Handling Mailing Lists
11390 $honor_followup_to , $honor_followup_to
11392 $HOSTNAME, Environment Variables
11394 $hostname , $hostname
11398 iconv-hook, Defining aliases for character sets
11400 ignore, Miscellaneous Functions, Ignoring (weeding) unwanted message
11401 headers, Configuration Commands
11403 $ignore_list_reply_to , $ignore_list_reply_to
11405 $imap_authenticators, Authentication
11407 $imap_home_namespace, Configuration Variables
11409 $imap_list_subscribed, IMAP Support (OPTIONAL)
11411 $imap_mail_check, Manual Conventions, Conditional parts, IMAP Support
11414 $imap_pass, Authentication
11416 $imap_user, Authentication
11418 $imap_authenticators , $imap_authenticators
11420 $imap_check_subscribed , $imap_check_subscribed
11422 $imap_delim_chars , $imap_delim_chars
11424 $imap_headers , $imap_headers
11426 $imap_home_namespace , $imap_home_namespace
11428 $imap_keepalive , $imap_keepalive
11430 $imap_list_subscribed , $imap_list_subscribed
11432 $imap_login , $imap_login
11434 $imap_mail_check , $imap_mail_check
11436 $imap_pass , $imap_pass
11438 $imap_passive , $imap_passive
11440 $imap_peek , $imap_peek
11442 $imap_reconnect , $imap_reconnect
11444 $imap_servernoise , $imap_servernoise
11446 $imap_user , $imap_user
11448 $implicit_autoview , $implicit_autoview
11450 $include , $include
11452 $include_onlyfirst , $include_onlyfirst
11454 $indent_string , Configuration variables
11456 $indent_string , $indent_string
11458 $index_format, Threaded Mode, Spam detection, Handling Mailing Lists,
11459 Configuration variables
11461 $index_format , $index_format
11463 <ispell>, Composing new messages, $ispell, compose
11471 $keep_flagged , $keep_flagged
11473 <kill-eol>, Editing Input Fields, editor
11475 <kill-eow>, Editing Input Fields, editor
11477 <kill-line>, Editing Input Fields, editor
11479 <kill-word>, Editing Input Fields, editor
11483 <last-entry>, Moving Around in Menus, generic
11487 <list-reply>, Miscellaneous Functions, Sending Mail, index, pager, attach
11489 lists, Miscellaneous Functions, Mailing lists, Handling Mailing Lists,
11490 Configuration Commands
11492 $locale, Change settings based upon message recipients, $locale
11496 macro, Miscellaneous Functions, Keyboard macros, Adding key sequences to
11497 the keyboard buffer, Using Tags, Configuration Commands
11499 <mail>, index, pager, query
11501 <mail-key>, Sending Mail, index, pager
11503 mailboxes, Defining mailboxes which receive mail, Configuration Commands
11505 $mailcap_path, mailcap
11507 $mailcap_sanitize, Secure use of mailcap, mailcap
11509 $mailcap_path , $mailcap_path
11511 $mailcap_sanitize , $mailcap_sanitize
11513 $maildir_header_cache_verify , $maildir_header_cache_verify
11515 $maildir_trash , $maildir_trash
11517 $mail_check , $mail_check
11519 <mark-as-new>, pager
11521 $markers , $markers
11523 $mark_old , $mark_old
11527 $max_display_recips , $max_display_recips
11529 $max_line_length , $max_line_length
11531 $mbox, Mailbox Shortcuts, $mbox
11533 mbox-hook, Using Multiple spool mailboxes, Using Hooks, Configuration
11536 $mbox_type, Mailbox Formats, Append a message to a compressed mailbox
11538 $mbox_type , $mbox_type
11540 $menu_context , $menu_context
11542 $menu_move_off , $menu_move_off
11544 $menu_scroll , $menu_scroll
11546 $message_format , Configuration variables
11548 message-hook, Change settings before formatting a message, Using Hooks,
11549 Message Matching in Hooks, MIME Autoview, Configuration Commands
11551 $message_format , $message_format
11553 $meta_key , $meta_key
11557 $mh_purge , $mh_purge
11559 $mh_seq_flagged , $mh_seq_flagged
11561 $mh_seq_replied , $mh_seq_replied
11563 $mh_seq_unseen , $mh_seq_unseen
11565 <middle-page>, generic
11567 $mime_forward , Configuration variables
11569 $mime_forward , $mime_forward
11571 $mime_forward_decode , $mime_forward_decode
11573 $mime_forward_rest , $mime_forward_rest
11575 mime_lookup, MIME Lookup, Configuration Commands
11577 $mix_entry_format, Sending anonymous messages via mixmaster
11579 $mixmaster , $mixmaster
11581 $mix_entry_format , $mix_entry_format
11583 mono, Using color and mono video attributes, Configuration Commands
11587 $msgid_format, Message-ID: headers
11589 $msgid_format , $msgid_format
11591 $muttng_bindir , $muttng_bindir
11593 $muttng_docdir , $muttng_docdir
11595 $muttng_folder_name , $muttng_folder_name
11597 $muttng_folder_path , $muttng_folder_path
11599 $muttng_hcache_backend , $muttng_hcache_backend
11601 $muttng_pwd , $muttng_pwd
11603 $muttng_revision , $muttng_revision
11605 $muttng_sysconfdir , $muttng_sysconfdir
11607 $muttng_version , $muttng_version
11609 my_hdr, User defined headers, Configuration Commands
11613 $narrow_tree , $narrow_tree
11615 $net_inc , $net_inc
11617 <new-mime>, compose
11619 <next-entry>, Moving Around in Menus, generic, pager
11621 <next-line>, generic, pager
11623 <next-new>, index, pager
11625 <next-new-then-unread>, index, pager
11627 <next-page>, generic, pager
11629 <next-subthread>, Threaded Mode, index, pager
11631 <next-thread>, Threaded Mode, index, pager
11633 <next-undeleted>, index, pager
11635 <next-unread>, index, pager
11637 $nntp_ask_followup_to , Configuration variables
11639 $nntp_ask_x_comment_to , Configuration variables
11641 $nntp_cache_dir , Configuration variables
11643 $nntp_catchup , Configuration variables
11645 $nntp_followup_to_poster , Configuration variables
11647 $nntp_group_index_format , Configuration variables
11649 $nntp_host , Configuration variables
11651 $nntp_inews , Configuration variables
11653 $nntp_mail_check , Configuration variables
11655 $nntp_mime_subject , Configuration variables
11657 $nntp_newsrc, NNTP Support (OPTIONAL), Configuration variables
11659 $nntp_post_moderated , Configuration variables
11661 $nntp_save_unsubscribed , Configuration variables
11663 $nntp_show_new_news , Configuration variables
11665 $nntp_show_only_unread , Configuration variables
11667 $nntp_x_comment_to , Configuration variables
11669 $NNTPSERVER, NNTP Support (OPTIONAL)
11671 $nntp_ask_followup_to , $nntp_ask_followup_to
11673 $nntp_ask_x_comment_to , $nntp_ask_x_comment_to
11675 $nntp_cache_dir , $nntp_cache_dir
11677 $nntp_catchup , $nntp_catchup
11679 $nntp_context , $nntp_context
11681 $nntp_followup_to_poster , $nntp_followup_to_poster
11683 $nntp_group_index_format , $nntp_group_index_format
11685 $nntp_host , $nntp_host
11687 $nntp_inews , $nntp_inews
11689 $nntp_load_description , $nntp_load_description
11691 $nntp_mail_check , $nntp_mail_check
11693 $nntp_mime_subject , $nntp_mime_subject
11695 $nntp_newsrc , $nntp_newsrc
11697 $nntp_pass , $nntp_pass
11699 $nntp_post_moderated , $nntp_post_moderated
11701 $nntp_reconnect , $nntp_reconnect
11703 $nntp_save_unsubscribed , $nntp_save_unsubscribed
11705 $nntp_show_new_news , $nntp_show_new_news
11707 $nntp_show_only_unread , $nntp_show_only_unread
11709 $nntp_user , $nntp_user
11711 $nntp_x_comment_to , $nntp_x_comment_to
11713 nospam, Spam detection, Configuration Commands
11717 open-hook, Compressed folders Support (OPTIONAL), Open a compressed
11718 mailbox for reading, Write a compressed mailbox, Append a message to a
11719 compressed mailbox, Configuration Commands
11721 $operating_system , $operating_system
11725 <page-down>, Moving Around in Menus
11727 <page-up>, Moving Around in Menus
11731 $pager_index_lines, Conditional parts
11733 $pager_context , $pager_context
11735 $pager_format , $pager_format
11737 $pager_index_lines , $pager_index_lines
11739 $pager_stop , $pager_stop
11741 <parent-message>, Threaded Mode, index, pager
11743 pattern-hook, Specify default save filename, Specify default Fcc: mailbox
11744 when composing, Change settings based upon message recipients, Change
11745 settings before formatting a message
11747 $pgp_autoinline , Configuration variables
11749 $pgp_entry_format, Using Mutt-ng with PGP
11751 <pgp-menu>, Composing new messages, compose
11753 $pgp_replyinline , Configuration variables
11755 $pgp_sign_as, Using Mutt-ng with PGP
11757 $pgp_autoinline , $pgp_autoinline
11759 $pgp_auto_decode , $pgp_auto_decode
11761 $pgp_check_exit , $pgp_check_exit
11763 $pgp_clearsign_command , $pgp_clearsign_command
11765 $pgp_decode_command , $pgp_decode_command
11767 $pgp_decrypt_command , $pgp_decrypt_command
11769 $pgp_encrypt_only_command , $pgp_encrypt_only_command
11771 $pgp_encrypt_sign_command , $pgp_encrypt_sign_command
11773 $pgp_entry_format , $pgp_entry_format
11775 $pgp_export_command , $pgp_export_command
11777 $pgp_getkeys_command , $pgp_getkeys_command
11779 $pgp_good_sign , $pgp_good_sign
11781 $pgp_ignore_subkeys , $pgp_ignore_subkeys
11783 $pgp_import_command , $pgp_import_command
11785 $pgp_list_pubring_command , $pgp_list_pubring_command
11787 $pgp_list_secring_command , $pgp_list_secring_command
11789 $pgp_long_ids , $pgp_long_ids
11791 $pgp_mime_auto , $pgp_mime_auto
11793 $pgp_replyinline , $pgp_replyinline
11795 $pgp_retainable_sigs , $pgp_retainable_sigs
11797 $pgp_show_unusable , $pgp_show_unusable
11799 $pgp_sign_as , $pgp_sign_as
11801 $pgp_sign_command , $pgp_sign_command
11803 $pgp_sort_keys , $pgp_sort_keys
11805 $pgp_strict_enc , $pgp_strict_enc
11807 $pgp_timeout , $pgp_timeout
11809 $pgp_use_gpg_agent , $pgp_use_gpg_agent
11811 $pgp_verify_command , $pgp_verify_command
11813 $pgp_verify_key_command , $pgp_verify_key_command
11815 $pipe_decode, Miscellaneous Functions
11817 <pipe-entry>, attach, compose
11819 <pipe-message>, Miscellaneous Functions, index, pager
11821 $pipe_split, Miscellaneous Functions
11823 $pipe_decode , $pipe_decode
11825 $pipe_sep , $pipe_sep
11827 $pipe_split , $pipe_split
11829 $pop_mail_check, POP3 Support (OPTIONAL), Configuration variables
11831 $pop_authenticators , $pop_authenticators
11833 $pop_auth_try_all , $pop_auth_try_all
11835 $pop_delete , $pop_delete
11837 $pop_host , $pop_host
11839 $pop_last , $pop_last
11841 $pop_mail_check , $pop_mail_check
11843 $pop_pass , $pop_pass
11845 $pop_reconnect , $pop_reconnect
11847 $pop_user , $pop_user
11849 $post_indent_string , Configuration variables
11851 $postpone, Postponing Mail, $postpone
11853 <postpone-message>, Composing new messages, compose
11855 $postponed, Postponing Mail, $postponed
11857 $post_indent_string , $post_indent_string
11859 $preconnect , $preconnect
11861 <previous-entry>, Moving Around in Menus, generic, pager
11863 <previous-line>, generic, pager
11865 <previous-new>, index, pager
11867 <previous-new-then-unread>, index, pager
11869 <previous-page>, generic, index, pager
11871 <previous-subthread>, Threaded Mode, index, pager
11873 <previous-thread>, Threaded Mode, index, pager
11875 <previous-undeleted>, index, pager
11877 <previous-unread>, index, pager
11881 $print_command , Configuration variables
11883 <print-entry>, attach, compose
11885 <print-message>, index, pager
11887 $print_command , $print_command
11889 $print_decode , $print_decode
11891 $print_split , $print_split
11893 $prompt_after , $prompt_after
11895 push, Adding key sequences to the keyboard buffer, Using Tags,
11896 Configuration Commands
11900 <query>, index, query
11902 <query-append>, query
11904 $query_command, External Address Queries
11906 $query_command , $query_command
11908 <quit>, Moving Around in Menus, Composing new messages, $quit, index,
11911 <quote-char>, Editing Input Fields, editor
11913 $quote_regexp, Miscellaneous Functions, Using color and mono video
11916 $quote_empty , $quote_empty
11918 $quote_quoted , $quote_quoted
11920 $quote_regexp , $quote_regexp
11924 <read-subthread>, Threaded Mode, index, pager
11926 <read-thread>, Threaded Mode, index, pager
11928 $read_inc , $read_inc
11930 $read_only , $read_only
11932 $realname , $realname
11936 <recall-message>, index, pager
11938 $record, Environment Variables, Specify default Fcc: mailbox when
11939 composing, Mailbox Shortcuts, $record
11941 <redraw-screen>, pager
11945 <rename-file>, compose
11947 <reply>, Sending Mail, index, pager, attach
11949 reply-hook, Change settings based upon message recipients, Configuration
11952 $reply_to, Alternative addresses, Handling Mailing Lists
11954 $reply_regexp , $reply_regexp
11956 $reply_self , $reply_self
11958 $reply_to , $reply_to
11960 <resend-message>, Miscellaneous Functions, The Attachment Menu, index,
11963 reset, Setting variables, Configuration Commands
11965 $resolve , $resolve
11967 $reverse_alias , $reverse_alias
11969 $reverse_name , $reverse_name
11971 $reverse_realname , $reverse_realname
11975 1524, MIME Viewer configuration with mailcap, Command
11978 1894, Delivery Status Notification (DSN) Support
11980 2822, Again: Scoring
11984 822, User defined headers
11986 $rfc2047_parameters , $rfc2047_parameters
11990 $save_empty, Compressed folders Support (OPTIONAL)
11992 <save-entry>, attach
11994 save-hook, Specify default save filename, Specify default save filename
11995 and default Fcc: mailbox at once, Using Hooks, Message Matching in Hooks,
11996 Mailbox Shortcuts, Configuration Commands
11998 <save-message>, index, pager
12000 $save_address , $save_address
12002 $save_empty , $save_empty
12004 $save_name , $save_name
12006 score, Message Scoring, Configuration Commands, $score
12008 $score_threshold_delete, Message Scoring
12010 $score_threshold_flag, Message Scoring
12012 $score_threshold_read, Message Scoring
12014 $score_threshold_delete , $score_threshold_delete
12016 $score_threshold_flag , $score_threshold_flag
12018 $score_threshold_read , $score_threshold_read
12020 <search>, generic, pager, alias, query, browser
12022 <search-next>, generic, pager, alias, query, browser
12024 <search-opposite>, generic, pager, query
12026 <search-reverse>, generic, pager, alias, query, browser
12028 <search-toggle>, pager
12030 <select-entry>, generic
12032 <select-new>, browser
12034 send-hook, Change settings based upon message recipients, Using Hooks,
12035 Message Matching in Hooks, Configuration Commands
12037 <send-message>, Composing new messages, compose
12039 send2-hook, Change settings based upon message recipients
12041 <senderdecode-copy>, pager
12043 $sendmail, Change settings based upon message recipients, $sendmail
12045 $sendmail_wait , $sendmail_wait
12047 $send_charset , $send_charset
12049 set, Setting variables, Configuration Commands
12055 <shell-escape>, Miscellaneous Functions, generic, pager
12057 <show-limit>, index
12059 <show-version>, index, pager
12061 <sidebar-next>, sidebar
12063 <sidebar-next-new>, sidebar
12065 <sidebar-open>, sidebar
12067 <sidebar-previous>, sidebar
12069 <sidebar-scroll-down>, sidebar
12071 <sidebar-scroll-up>, sidebar
12073 $sidebar_shorten_hierarchy , Configuration variables
12075 $sidebar_boundary , $sidebar_boundary
12077 $sidebar_delim , $sidebar_delim
12079 $sidebar_newmail_only , $sidebar_newmail_only
12081 $sidebar_number_format , $sidebar_number_format
12083 $sidebar_shorten_hierarchy , $sidebar_shorten_hierarchy
12085 $sidebar_visible , $sidebar_visible
12087 $sidebar_width , $sidebar_width
12089 $signature, Change settings based upon message recipients, $signature
12091 $signoff_string , $signoff_string
12093 $sig_dashes , $sig_dashes
12095 $sig_on_top , $sig_on_top
12097 $simple_search , $simple_search
12099 <skip-quoted>, Miscellaneous Functions, pager
12101 $sleep_time , $sleep_time
12103 $smart_wrap , $smart_wrap
12105 $smileys , $smileys
12107 $smime_default_key , Configuration variables
12109 <smime-menu>, Composing new messages
12111 $smime_ask_cert_label , $smime_ask_cert_label
12113 $smime_ca_location , $smime_ca_location
12115 $smime_certificates , $smime_certificates
12117 $smime_decrypt_command , $smime_decrypt_command
12119 $smime_decrypt_use_default_key , $smime_decrypt_use_default_key
12121 $smime_default_key , $smime_default_key
12123 $smime_encrypt_command , $smime_encrypt_command
12125 $smime_encrypt_with , $smime_encrypt_with
12127 $smime_get_cert_command , $smime_get_cert_command
12129 $smime_get_cert_email_command , $smime_get_cert_email_command
12131 $smime_get_signer_cert_command , $smime_get_signer_cert_command
12133 $smime_import_cert_command , $smime_import_cert_command
12135 $smime_is_default , $smime_is_default
12137 $smime_keys , $smime_keys
12139 $smime_pk7out_command , $smime_pk7out_command
12141 $smime_sign_command , $smime_sign_command
12143 $smime_sign_opaque_command , $smime_sign_opaque_command
12145 $smime_timeout , $smime_timeout
12147 $smime_verify_command , $smime_verify_command
12149 $smime_verify_opaque_command , $smime_verify_opaque_command
12151 $smtp_envelope, SMTP Support (OPTIONAL)
12153 $smtp_host, SMTP Support (OPTIONAL)
12155 $smtp_pass, SMTP Support (OPTIONAL), Configuration variables
12157 $smtp_use_tls, SMTP Support (OPTIONAL)
12159 $smtp_user, SMTP Support (OPTIONAL), Configuration variables
12161 $smtp_host , $smtp_host
12163 $smtp_pass , $smtp_pass
12165 $smtp_port , $smtp_port
12167 $smtp_user , $smtp_user
12169 $smtp_use_tls , $smtp_use_tls
12171 $sort , $sort, browser
12173 <sort-mailbox>, index
12175 <sort-reverse>, index, browser
12177 $sort_alias , $sort_alias
12179 $sort_aux , $sort_aux
12181 $sort_browser , $sort_browser
12183 $sort_re , $sort_re
12185 source, Miscellaneous Functions, Defining/Using aliases, Reading
12186 initialization commands from another file, Configuration Commands
12188 spam, Spam detection, Configuration Commands
12190 $spam_separator , $spam_separator
12192 $spoolfile, Setting variables based upon mailbox, Defining mailboxes which
12193 receive mail, Mailbox Shortcuts, POP3 Support (OPTIONAL), $spoolfile
12195 $ssl_ca_certificates_file , $ssl_ca_certificates_file
12197 $ssl_client_cert , $ssl_client_cert
12199 $ssl_force_tls , $ssl_force_tls
12201 $ssl_min_dh_prime_bits , $ssl_min_dh_prime_bits
12203 $ssl_starttls , $ssl_starttls
12205 $ssl_usesystemcerts , $ssl_usesystemcerts
12207 $ssl_use_sslv2 , $ssl_use_sslv2
12209 $ssl_use_sslv3 , $ssl_use_sslv3
12211 $ssl_use_tlsv1 , $ssl_use_tlsv1
12213 $status_format, Composing new messages, Introduction
12215 $status_chars , $status_chars
12217 $status_format , $status_format
12219 $status_on_top , $status_on_top
12221 $strict_mailto, mailto:-style links
12223 $strict_threads, Threaded Mode
12225 $strict_mailto , $strict_mailto
12227 $strict_mime , $strict_mime
12229 $strict_threads , $strict_threads
12231 $strip_was , $strip_was
12233 $strip_was_regex , $strip_was_regex
12235 $stuff_quoted , $stuff_quoted
12237 subscribe, Mailing lists, Configuration Commands, browser
12239 $suspend , $suspend
12241 <sync-mailbox>, Manual Conventions, index, pager
12245 <tag-entry>, generic
12247 <tag-message>, pager
12249 <tag-pattern>, index
12251 <tag-prefix>, generic
12253 <tag-prefix-cond>, generic
12255 <tag-thread>, Threaded Mode, index
12257 $text_flowed , $text_flowed
12259 $thorough_search , $thorough_search
12261 $thread_received , $thread_received
12265 $timeout, IMAP Support (OPTIONAL), $timeout
12267 $tmpdir, Temporary Files, $tmpdir
12269 $to_chars, Status Flags
12271 toggle, Setting variables, Configuration Commands
12273 <toggle-mailboxes>, browser
12275 <toggle-new>, index
12277 <toggle-quoted>, Miscellaneous Functions, pager
12279 <toggle-subscribed>, browser
12281 <toggle-unlink>, compose
12283 <toggle-write>, index
12287 <top-page>, generic
12289 $to_chars , $to_chars
12291 <transpose-chars>, editor
12299 $umask, Temporary Files, $umask
12301 unalias, Defining/Using aliases, Configuration Commands
12303 unalternates, Alternative addresses, Configuration Commands
12305 unalternative_order, MIME Multipart/Alternative, Configuration Commands
12307 unattachments, Attachment Searching and Counting
12309 unauto_view, MIME Autoview, Configuration Commands
12311 $uncollapse_jump , $uncollapse_jump
12313 uncolor, Using color and mono video attributes, Configuration Commands
12315 <undelete-entry>, attach, postpone
12317 <undelete-message>, index, pager
12319 <undelete-pattern>, index
12321 <undelete-subthread>, Threaded Mode, index, pager
12323 <undelete-thread>, Threaded Mode, index, pager
12325 unhdr_order, Defining the order of headers when viewing messages,
12326 Configuration Commands
12328 unhook, Removing hooks, Configuration Commands
12330 unignore, Ignoring (weeding) unwanted message headers, Configuration
12333 unlists, Mailing lists, Configuration Commands
12335 unmailboxes, Defining mailboxes which receive mail
12337 unmime_lookup, MIME Lookup, Configuration Commands
12339 unmono, Using color and mono video attributes, Configuration Commands
12341 unmy_hdr, User defined headers, Configuration Commands
12343 unscore, Message Scoring, Configuration Commands
12345 unset, Setting variables, Configuration Commands
12347 unsubscribe, Mailing lists, Configuration Commands, browser
12349 <untag-pattern>, index
12351 <upcase-word>, Editing Input Fields, editor
12353 $use_8bitmime, SMTP Support (OPTIONAL)
12355 $use_8bitmime , $use_8bitmime
12357 $use_domain , $use_domain
12359 $use_envelope_from , $use_envelope_from
12361 $use_from , $use_from
12363 $use_idn , $use_idn
12365 $use_ipv6 , $use_ipv6
12371 <view-attach>, attach, compose
12373 <view-attachments>, index, pager
12375 <view-file>, browser
12377 <view-mailcap>, attach
12381 <view-text>, attach
12383 $VISUAL, Composing new messages
12389 $wait_key, Miscellaneous Functions, Optional Fields
12391 $wait_key , $wait_key
12393 $weed, Miscellaneous Functions, $weed
12395 <what-key>, generic
12397 $wrapmargin , $wrapmargin
12399 $wrap_search , $wrap_search
12401 <write-fcc>, Composing new messages, compose
12403 $write_bcc , $write_bcc
12405 $write_inc , $write_inc
12409 $xterm_icon , $xterm_icon
12411 $xterm_leave , $xterm_leave
12413 $xterm_set_titles , $xterm_set_titles
12415 $xterm_title , $xterm_title