1 The Mutt Next Generation E-Mail Client
3 by Andreas Krennmair and others originally based on mutt by Michael Elkins and
10 Michael Elinks on mutt, circa 1995: ``All mail clients suck. This one just
11 sucks less.'' - Sven Guckes on mutt, ca. 2003: ``But it still sucks!''
13 --------------------------------------------------------------------------
25 4. Software Distribution Sites
37 1.1. Screens and Menus
69 3. Moving Around in Menus
71 4. Editing Input Fields
73 5. Reading Mail - The Index and Pager
75 5.1. The Message Index
81 5.4. Miscellaneous Functions
85 6.1. Composing new messages
89 6.3. Editing the message header
91 6.4. Using Mutt-ng with PGP
93 6.5. Sending anonymous messages via mixmaster
95 7. Forwarding and Bouncing Mail
101 1. Locations of Configuration Files
103 2. Basic Syntax of Initialization Files
105 3. Expansion within variables
107 3.1. Commands' Output
109 3.2. Environment Variables
111 3.3. Configuration Variables
113 3.4. Self-Defined Variables
115 3.5. Pre-Defined Variables
117 3.6. Type Conversions
119 4. Defining/Using aliases
121 5. Changing the default key bindings
123 6. Defining aliases for character sets
125 7. Setting variables based upon mailbox
129 9. Using color and mono video attributes
131 10. Ignoring (weeding) unwanted message headers
133 11. Alternative addresses
139 12.2. Receiving: Display Setup
143 12.4. Additional Notes
147 14. Using Multiple spool mailboxes
149 15. Defining mailboxes which receive mail
151 16. User defined headers
153 17. Defining the order of headers when viewing messages
155 18. Specify default save filename
157 19. Specify default Fcc: mailbox when composing
159 20. Specify default save filename and default Fcc: mailbox at
162 21. Change settings based upon message recipients
164 22. Change settings before formatting a message
166 23. Choosing the cryptographic key of the recipient
168 24. Adding key sequences to the keyboard buffer
170 25. Executing functions
176 28. Setting variables
178 29. Reading initialization commands from another file
188 31.3. Conditional parts
190 32. Obsolete Variables
194 1. Regular Expressions
198 2.1. Complex Patterns
200 2.2. Patterns and Dates
206 3.2. Conditional Expansion
208 3.3. Modifications and Padding
214 5.1. Message Matching in Hooks
218 7. External Address Queries
224 10. Handling Mailing Lists
228 11.1. Linking threads
230 11.2. Breaking threads
232 12. Delivery Status Notification (DSN) Support
234 13. POP3 Support (OPTIONAL)
236 14. IMAP Support (OPTIONAL)
238 14.1. The Folder Browser
242 15. NNTP Support (OPTIONAL)
246 16. SMTP Support (OPTIONAL)
248 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
250 18. Start a WWW Browser on URLs (EXTERNAL)
252 19. Compressed folders Support (OPTIONAL)
254 19.1. Open a compressed mailbox for reading
256 19.2. Write a compressed mailbox
258 19.3. Append a message to a compressed mailbox
260 19.4. Encrypted folders
262 5. Mutt-ng's MIME Support
264 1. Using MIME in Mutt
266 1.1. Viewing MIME messages in the pager
268 1.2. The Attachment Menu
270 1.3. The Compose Menu
272 2. MIME Type configuration with mime.types
274 3. MIME Viewer configuration with mailcap
276 3.1. The Basics of the mailcap file
278 3.2. Secure use of mailcap
280 3.3. Advanced mailcap Usage
282 3.4. Example mailcap files
286 5. MIME Multipart/Alternative
290 6. Security Considerations
298 3.1. Message-ID: headers
300 3.2. mailto:-style links
302 4. External applications
310 1. Command line options
314 3. Configuration Commands
316 4. Configuration variables
346 Chapter 1. Introduction
356 4. Software Distribution Sites
366 Mutt-ng is a small but very powerful text-based MIME mail client. Mutt-ng
367 is highly configurable, and is well suited to the mail power user with
368 advanced features like key bindings, keyboard macros, mail threading,
369 regular expression searches and a powerful pattern matching language for
370 selecting groups of messages.
372 This documentation additionally contains documentation to Mutt-NG, a fork
373 from Mutt with the goal to fix all the little annoyances of Mutt, to
374 integrate all the Mutt patches that are floating around in the web, and to
375 add other new features. Features specific to Mutt-ng will be discussed in
376 an extra section. Don't be confused when most of the documentation talk
377 about Mutt and not Mutt-ng, Mutt-ng contains all Mutt features, plus many
382 http://www.muttng.org
386 o mutt-ng-users@lists.berlios.de -- This is where the mutt-ng user
389 o mutt-ng-devel@lists.berlios.de -- The development mailing list for
392 4. Software Distribution Sites
394 So far, there are no official releases of Mutt-ng, but you can download
395 daily snapshots from http://mutt-ng.berlios.de/snapshots/
399 Visit channel #muttng on irc.freenode.net (www.freenode.net) to chat with
400 other people interested in Mutt-ng.
404 If you want to read fresh news about the latest development in Mutt-ng,
405 and get informed about stuff like interesting, Mutt-ng-related articles
406 and packages for your favorite distribution, you can read and/or subscribe
407 to our Mutt-ng development weblog.
411 Mutt is Copyright (C) 1996-2000 Michael R. Elkins <me@cs.hmc.edu> and
414 This program is free software; you can redistribute it and/or modify it
415 under the terms of the GNU General Public License as published by the Free
416 Software Foundation; either version 2 of the License, or (at your option)
419 This program is distributed in the hope that it will be useful, but
420 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
421 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
424 You should have received a copy of the GNU General Public License along
425 with this program; if not, write to the Free Software Foundation, Inc., 59
426 Temple Place - Suite 330, Boston, MA 02111, USA.
428 Chapter 2. Getting Started
434 1.1. Screens and Menus
466 3. Moving Around in Menus
468 4. Editing Input Fields
470 5. Reading Mail - The Index and Pager
472 5.1. The Message Index
478 5.4. Miscellaneous Functions
482 6.1. Composing new messages
486 6.3. Editing the message header
488 6.4. Using Mutt-ng with PGP
490 6.5. Sending anonymous messages via mixmaster
492 7. Forwarding and Bouncing Mail
498 1.1. Screens and Menus
500 mutt-ng offers different screens of which every has its special purpose:
502 o The index displays the contents of the currently opened mailbox.
504 o The pager is responsible for displaying messages, that is, the header,
505 the body and all attached parts.
507 o The file browser offers operations on and displays information of all
508 folders mutt-ng should watch for mail.
510 o The sidebar offers a permanent view of which mailboxes contain how
511 many total, new and/or flagged mails.
513 o The help screen lists for all currently available commands how to
514 invoke them as well as a short description.
516 o The compose menu is a comfortable interface take last actions before
517 sending mail: change subjects, attach files, remove attachements, etc.
519 o The attachement menu gives a summary and the tree structure of the
520 attachements of the current message.
522 o The alias menu lists all or a fraction of the aliases a user has
525 o The key menu used in connection with encryption lets users choose the
526 right key to encrypt with.
528 When mutt-ng is started without any further options, it'll open the users
529 default mailbox and display the index.
533 Mutt-ng does not feature an internal configuration interface or menu due
534 to the simple fact that this would be too complex to handle (currently
535 there are several hundred variables which fine-tune the behaviour.)
537 Mutt-ng is configured using configuration files which allow users to add
538 comments or manage them via version control systems to ease maintenance.
540 Also, mutt-ng comes with a shell script named grml-muttng kindly
541 contributed by users which really helps and eases the creation of a user's
542 configuration file. When downloading the source code via a snapshot or via
543 subversion, it can be found in the contrib directory.
547 Mutt-ng offers great flexibility due to the use of functions: internally,
548 every action a user can make mutt-ng perform is named ``function.'' Those
549 functions are assigned to keys (or even key sequences) and may be
550 completely adjusted to user's needs. The basic idea is that the impatient
551 users get a very intuitive interface to start off with and advanced users
552 virtually get no limits to adjustments.
556 Mutt-ng has two basic concepts of user interaction:
558 1. There is one dedicated line on the screen used to query the user for
559 input, issue any command, query variables and display error and
560 informational messages. As for every type of user input, this requires
561 manual action leading to the need of input.
563 2. The automatized interface for interaction are the so called hooks.
564 Hooks specify actions the user wants to be performed at well-defined
565 situations: what to do when entering which folder, what to do when
566 displaying or replying to what kind of message, etc. These are
567 optional, i.e. a user doesn't need to specify them but can do so.
571 Although mutt-ng has many functionality built-in, many features can be
572 delegated to external tools to increase flexibility: users can define
573 programs to filter a message through before displaying, users can use any
574 program they want for displaying a message, message types (such as PDF or
575 PostScript) for which mutt-ng doesn't have a built-in filter can be
576 rendered by arbitrary tools and so forth. Although mutt-ng has an alias
577 mechanism built-in, it features using external tools to query for nearly
578 every type of addresses from sources like LDAP, databases or just the list
579 of locally known users.
583 Mutt-ng has a built-in pattern matching ``language'' which is as widely
584 used as possible to present a consistent interface to users. The same
585 ``pattern terms'' can be used for searching, scoring, message selection
592 The index is the screen that you usually see first when you start mutt-ng.
593 It gives an overview over your emails in the currently opened mailbox. By
594 default, this is your system mailbox. The information you see in the index
595 is a list of emails, each with its number on the left, its flags (new
596 email, important email, email that has been forwarded or replied to,
597 tagged email, ...), the date when email was sent, its sender, the email
598 size, and the subject. Additionally, the index also shows thread
599 hierarchies: when you reply to an email, and the other person replies
600 back, you can see the other's person email in a "sub-tree" below. This is
601 especially useful for personal email between a group of people or when
602 you've subscribed to mailing lists.
606 The pager is responsible for showing the email content. On the top of the
607 pager you have an overview over the most important email headers like the
608 sender, the recipient, the subject, and much more information. How much
609 information you actually see depends on your configuration, which we'll
612 Below the headers, you see the email body which usually contains the
613 message. If the email contains any attachments, you will see more
614 information about them below the email body, or, if the attachments are
615 text files, you can view them directly in the pager.
617 To give the user a good overview, it is possible to configure mutt-ng to
618 show different things in the pager with different colors. Virtually
619 everything that can be described with a regular expression can be colored,
620 e.g. URLs, email addresses or smileys.
624 The file browser is the interface to the local or remote file system. When
625 selecting a mailbox to open, the browser allows custom sorting of items,
626 limiting the items shown by a regular expression and a freely adjustable
627 format of what to display in which way. It also allows for easy navigation
628 through the file system when selecting file(s) to attach to a message,
629 select multiple files to attach and many more.
633 The sidebar comes in handy to manage mails which are spread over different
634 folders. All folders users setup mutt-ng to watch for new mail will be
635 listed. The listing includes not only the name but also the number of
636 total messages, the number of new and flagged messages. Items with new
637 mail may be colored different from those with flagged mail, items may be
638 shortened or compress if they're they to long to be printed in full form
639 so that by abbreviated names, user still now what the name stands for.
643 The help screen is meant to offer a quick help to the user. It lists the
644 current configuration of key bindings and their associated commands
645 including a short description, and currently unbound functions that still
646 need to be associated with a key binding (or alternatively, they can be
647 called via the mutt-ng command prompt).
651 The compose menu features a split screen containing the information which
652 really matter before actually sending a message by mail or posting an
653 article to a newsgroup: who gets the message as what (recipient,
654 newsgroup, who gets what kind of copy). Additionally, users may set
655 security options like deciding whether to sign, encrypt or sign and
656 encrypt a message with/for what keys.
658 Also, it's used to attach messages, news articles or files to a message,
659 to re-edit any attachment including the message itself.
663 The alias menu is used to help users finding the recipients of messages.
664 For users who need to contact many people, there's no need to remember
665 addresses or names completely because it allows for searching, too. The
666 alias mechanism and thus the alias menu also features grouping several
667 addresses by a shorter nickname, the actual alias, so that users don't
668 have to select each single recipient manually.
672 As will be later discussed in detail, mutt-ng features a good and stable
673 MIME implementation, that is, is greatly supports sending and receiving
674 messages of arbitrary type. The attachment menu displays a message's
675 structure in detail: what content parts are attached to which parent part
676 (which gives a true tree structure), which type is of what type and what
677 size. Single parts may saved, deleted or modified to offer great and easy
678 access to message's internals.
684 3. Moving Around in Menus
686 Information is presented in menus, very similar to ELM. Here is a table
687 showing the common keys used to navigate menus in Mutt-ng.
689 j or Down next-entry move to the next entry
690 k or Up previous-entry move to the previous entry
691 z or PageDn page-down go to the next page
692 Z or PageUp page-up go to the previous page
693 = or Home first-entry jump to the first entry
694 * or End last-entry jump to the last entry
695 q quit exit the current menu
696 ? help list all key bindings for the current menu
698 4. Editing Input Fields
700 Mutt-ng has a builtin line editor which is used as the primary way to
701 input textual data such as email addresses or filenames. The keys used to
702 move around while editing are very similar to those of Emacs.
704 ^A or <Home> bol move to the start of the line
705 ^B or <Left> backward-char move back one char
706 Esc B backward-word move back one word
707 ^D or <Delete> delete-char delete the char under the cursor
708 ^E or <End> eol move to the end of the line
709 ^F or <Right> forward-char move forward one char
710 Esc F forward-word move forward one word
711 <Tab> complete complete filename or alias
712 ^T complete-query complete address with query
713 ^K kill-eol delete to the end of the line
714 ESC d kill-eow delete to the end of the word
715 ^W kill-word kill the word in front of the cursor
716 ^U kill-line delete entire line
717 ^V quote-char quote the next typed key
718 <Up> history-up recall previous string from history
719 <Down> history-down recall next string from history
720 <BackSpace> backspace kill the char in front of the cursor
721 Esc u upcase-word convert word to upper case
722 Esc l downcase-word convert word to lower case
723 Esc c capitalize-word capitalize the word
725 <Return> n/a finish editing
727 You can remap the editor functions using the bind command. For example, to
728 make the Delete key delete the character in front of the cursor rather
729 than under, you could use
731 bind editor <delete> backspace
733 5. Reading Mail - The Index and Pager
735 Similar to many other mail clients, there are two modes in which mail is
736 read in Mutt-ng. The first is the index of messages in the mailbox, which
737 is called the ``index'' in Mutt-ng. The second mode is the display of the
738 message contents. This is called the ``pager.''
740 The next few sections describe the functions provided in each of these
743 5.1. The Message Index
745 c change to a different mailbox
746 ESC c change to a folder in read-only mode
747 C copy the current message to another mailbox
748 ESC C decode a message and copy it to a folder
749 ESC s decode a message and save it to a folder
750 D delete messages matching a pattern
751 d delete the current message
753 l show messages matching a pattern
754 N mark message as new
755 o change the current sort method
756 O reverse sort the mailbox
757 q save changes and exit
759 T tag messages matching a pattern
760 t toggle the tag on a message
761 ESC t toggle tag on entire message thread
762 U undelete messages matching a pattern
765 x abort changes and exit
766 <Return> display-message
767 <Tab> jump to the next new message
768 @ show the author's full e-mail address
769 $ save changes to mailbox
772 ^L clear and redraw the screen
773 ^T untag messages matching a pattern
777 In addition to who sent the message and the subject, a short summary of
778 the disposition of each message is printed beside the message number. Zero
779 or more of the following ``flags'' may appear, which mean:
783 message is deleted (is marked for deletion)
787 message have attachments marked for deletion
791 contains a PGP public key
803 message is PGP encrypted
807 message has been replied to
811 message is signed, and the signature is succesfully verified
825 Some of the status flags can be turned on or off using
827 o set-flag (default: w)
829 o clear-flag (default: W)
831 Furthermore, the following flags reflect who the message is addressed to.
832 They can be customized with the $to_chars variable.
836 message is to you and you only
840 message is to you, but also to or cc'ed to others
844 message is cc'ed to you
852 message is sent to a subscribed mailing list
856 By default, Mutt-ng uses its builtin pager to display the body of
857 messages. The pager is very similar to the Unix program less though not
858 nearly as featureful.
860 <Return> go down one line
861 <Space> display the next page (or next message if at the end of a message)
862 - go back to the previous page
863 n search for next match
864 S skip beyond quoted text
865 T toggle display of quoted text
867 / search for a regular expression (pattern)
868 ESC / search backwards for a regular expression
869 \ toggle search pattern coloring
870 ^ jump to the top of the message
872 In addition, many of the functions from the index are available in the
873 pager, such as delete-message or copy-message (this is one advantage over
874 using an external pager to view messages).
876 Also, the internal pager supports a couple other advanced features. For
877 one, it will accept and translate the ``standard'' nroff sequences for
878 bold and underline. These sequences are a series of either the letter,
879 backspace (^H), the letter again for bold or the letter, backspace, ``_''
880 for denoting underline. Mutt-ng will attempt to display these in bold and
881 underline respectively if your terminal supports them. If not, you can use
882 the bold and underline color objects to specify a color or mono attribute
885 Additionally, the internal pager supports the ANSI escape sequences for
886 character attributes. Mutt-ng translates them into the correct color and
887 character settings. The sequences Mutt-ng supports are:
889 ESC [ Ps;Ps;Ps;...;Ps m
896 3x Foreground color is x
897 4x Background color is x
909 Mutt-ng uses these attributes for handling text/enriched messages, and
910 they can also be used by an external autoview script for highlighting
911 purposes. Note: If you change the colors for your display, for example by
912 changing the color associated with color2 for your xterm, then that color
913 will be used instead of green.
917 When the mailbox is sorted by threads, there are a few additional
918 functions available in the index and pager modes.
920 ^D delete-thread delete all messages in the current thread
921 ^U undelete-thread undelete all messages in the current thread
922 ^N next-thread jump to the start of the next thread
923 ^P previous-thread jump to the start of the previous thread
924 ^R read-thread mark the current thread as read
925 ESC d delete-subthread delete all messages in the current subthread
926 ESC u undelete-subthread undelete all messages in the current subthread
927 ESC n next-subthread jump to the start of the next subthread
928 ESC p previous-subthread jump to the start of the previous subthread
929 ESC r read-subthread mark the current subthread as read
930 ESC t tag-thread toggle the tag on the current thread
931 ESC v collapse-thread toggle collapse for the current thread
932 ESC V collapse-all toggle collapse for all threads
933 P parent-message jump to parent message in thread
935 Note: Collapsing a thread displays only the first message in the thread
936 and hides the others. This is useful when threads contain so many messages
937 that you can only see a handful of threads on the screen. See %M in
938 index-format. For example, you could use "%?M?(#%03M)&(%4l)?" in
939 index-format to optionally display the number of hidden messages if the
942 See also: strict-threads.
944 5.4. Miscellaneous Functions
946 create-alias (default: a)
948 Creates a new alias based upon the current message (or prompts for a new
949 one). Once editing is complete, an alias command is added to the file
950 specified by the alias-file variable for future use. Note: Specifying an
951 alias-file does not add the aliases specified there-in, you must also
954 check-traditional-pgp (default: ESC P)
956 This function will search the current message for content signed or
957 encrypted with PGP the "traditional" way, that is, without proper MIME
958 tagging. Technically, this function will temporarily change the MIME
959 content types of the body parts containing PGP data; this is similar to
960 the edit-type function's effect.
962 display-toggle-weed (default: h)
964 Toggles the weeding of message header fields specified by ignore commands.
968 This command (available in the ``index'' and ``pager'') allows you to edit
969 the raw current message as it's present in the mail folder. After you have
970 finished editing, the changed message will be appended to the current
971 folder, and the original message will be marked for deletion.
973 edit-type (default: ^E on the attachment menu, and in the pager and index
974 menus; ^T on the compose menu)
976 This command is used to temporarily edit an attachment's content type to
977 fix, for instance, bogus character set parameters. When invoked from the
978 index or from the pager, you'll have the opportunity to edit the top-level
979 attachment's content type. On the attach-menu, you can change any
980 attachment's content type. These changes are not persistent, and get lost
981 upon changing folders.
983 Note that this command is also available on the compose-menu. There, it's
984 used to fine-tune the properties of attachments you are going to send.
986 enter-command (default: ``:'')
988 This command is used to execute any command you would normally put in a
989 configuration file. A common use is to check the settings of variables, or
990 in conjunction with macro to change settings on the fly.
992 extract-keys (default: ^K)
994 This command extracts PGP public keys from the current or tagged
995 message(s) and adds them to your PGP public key ring.
997 forget-passphrase (default: ^F)
999 This command wipes the passphrase(s) from memory. It is useful, if you
1000 misspelled the passphrase.
1002 list-reply (default: L)
1004 Reply to the current or tagged message(s) by extracting any addresses
1005 which match the regular expressions given by the lists commands, but also
1006 honor any Mail-Followup-To header(s) if the honor-followup-to
1007 configuration variable is set. Using this when replying to messages posted
1008 to mailing lists helps avoid duplicate copies being sent to the author of
1009 the message you are replying to.
1011 pipe-message (default: |)
1013 Asks for an external Unix command and pipes the current or tagged
1014 message(s) to it. The variables pipe-decode, pipe-split, pipe-sep and
1015 wait-key control the exact behavior of this function.
1017 resend-message (default: ESC e)
1019 With resend-message, mutt takes the current message as a template for a
1020 new message. This function is best described as "recall from arbitrary
1021 folders". It can conveniently be used to forward MIME messages while
1022 preserving the original mail structure. Note that the amount of headers
1023 included here depends on the value of the weed variable.
1025 This function is also available from the attachment menu. You can use this
1026 to easily resend a message which was included with a bounce message as a
1027 message/rfc822 body part.
1029 shell-escape (default: !)
1031 Asks for an external Unix command and executes it. The wait-key can be
1032 used to control whether Mutt-ng will wait for a key to be pressed when the
1033 command returns (presumably to let the user read the output of the
1034 command), based on the return status of the named command.
1036 toggle-quoted (default: T)
1038 The pager uses the quote-regexp variable to detect quoted text when
1039 displaying the body of the message. This function toggles the display of
1040 the quoted material in the message. It is particularly useful when are
1041 interested in just the response and there is a large amount of quoted text
1044 skip-quoted (default: S)
1046 This function will go to the next line of non-quoted text which come after
1047 a line of quoted text in the internal pager.
1051 The following bindings are available in the index for sending messages.
1053 m compose compose a new message
1054 r reply reply to sender
1055 g group-reply reply to all recipients
1056 L list-reply reply to mailing list address
1057 f forward forward message
1058 b bounce bounce (remail) message
1059 ESC k mail-key mail a PGP public key to someone
1061 Bouncing a message sends the message as is to the recipient you specify.
1062 Forwarding a message allows you to add comments or modify the message you
1063 are forwarding. These items are discussed in greater detail in the next
1064 chapter forwarding-mail.
1066 6.1. Composing new messages
1068 When you want to send an email using mutt-ng, simply press m on your
1069 keyboard. Then, mutt-ng asks for the recipient via a prompt in the last
1074 After you've finished entering the recipient(s), press return. If you want
1075 to send an email to more than one recipient, separate the email addresses
1076 using the comma ",". Mutt-ng then asks you for the email subject. Again,
1077 press return after you've entered it. After that, mutt-ng got the most
1078 important information from you, and starts up an editor where you can then
1081 The editor that is called is selected in the following way: you can e.g.
1082 set it in the mutt-ng configuration:
1084 set editor = "vim +/^$/ -c ':set tw=72'"
1086 set editor = "emacs"
1088 If you don't set your preferred editor in your configuration, mutt-ng
1089 first looks whether the environment variable $VISUAL is set, and if so, it
1090 takes its value as editor command. Otherwise, it has a look at $EDITOR and
1091 takes its value if it is set. If no editor command can be found, mutt-ng
1092 simply assumes vi to be the default editor, since it's the most widespread
1093 editor in the Unix world and it's pretty safe to assume that it is
1094 installed and available.
1096 When you've finished entering your message, save it and quit your editor.
1097 Mutt-ng will then present you with a summary screen, the compose menu. On
1098 the top, you see a summary of the most important available key commands.
1099 Below that, you see the sender, the recipient(s), Cc and/or Bcc
1100 recipient(s), the subject, the reply-to address, and optionally
1101 information where the sent email will be stored and whether it should be
1102 digitally signed and/or encrypted.
1104 Below that, you see a list of "attachments". The mail you've just entered
1105 before is also an attachment, but due to its special type (it's plain
1106 text), it will be displayed as the normal message on the receiver's side.
1108 At this point, you can add more attachments, pressing a, you can edit the
1109 recipient addresses, pressing t for the "To:" field, c for the "Cc:"
1110 field, and b for the "Bcc: field. You can also edit the subject the
1111 subject by simply pressing s or the email message that you've entered
1112 before by pressing e. You will then again return to the editor. You can
1113 even edit the sender, by pressing <esc>f, but this shall only be used with
1116 Alternatively, you can configure mutt-ng in a way that most of the above
1117 settings can be edited using the editor. Therefore, you only need to add
1118 the following to your configuration:
1122 Once you have finished editing the body of your mail message, you are
1123 returned to the compose menu. The following options are available:
1125 a attach-file attach a file
1126 A attach-message attach message(s) to the message
1127 ESC k attach-key attach a PGP public key
1128 d edit-description edit description on attachment
1129 D detach-file detach a file
1130 t edit-to edit the To field
1131 ESC f edit-from edit the From field
1132 r edit-reply-to edit the Reply-To field
1133 c edit-cc edit the Cc field
1134 b edit-bcc edit the Bcc field
1135 y send-message send the message
1136 s edit-subject edit the Subject
1137 S smime-menu select S/MIME options
1138 f edit-fcc specify an ``Fcc'' mailbox
1139 p pgp-menu select PGP options
1140 P postpone-message postpone this message until later
1141 q quit quit (abort) sending the message
1142 w write-fcc write the message to a folder
1143 i ispell check spelling (if available on your system)
1144 ^F forget-passphrase wipe passphrase(s) from memory
1146 Note: The attach-message function will prompt you for a folder to attach
1147 messages from. You can now tag messages in that folder and they will be
1148 attached to the message you are sending. Note that certain operations like
1149 composing a new mail, replying, forwarding, etc. are not permitted when
1150 you are in that folder. The %r in status-format will change to a 'A' to
1151 indicate that you are in attach-message mode.
1155 6.2.1. Simple Replies
1157 When you want to reply to an email message, select it in the index menu
1158 and then press r. Mutt-ng's behaviour is then similar to the behaviour
1159 when you compose a message: first, you will be asked for the recipient,
1160 then for the subject, and then, mutt-ng will start the editor with the
1161 quote attribution and the quoted message. This can e.g. look like the
1164 On Mon, Mar 07, 2005 at 05:02:12PM +0100, Michael Svensson wrote:
1165 > Bill, can you please send last month's progress report to Mr.
1166 > Morgan? We also urgently need the cost estimation for the new
1167 > production server that we want to set up before our customer's
1168 > project will go live.
1171 You can start editing the email message. It is strongly recommended to put
1172 your answer below the quoted text and to only quote what is really
1173 necessary and that you refer to. Putting your answer on top of the quoted
1174 message, is, although very widespread, very often not considered to be a
1175 polite way to answer emails.
1177 The quote attribution is configurable, by default it is set to
1179 set attribution = "On %d, %n wrote:"
1182 It can also be set to something more compact, e.g.
1184 set attribution = "attribution="* %n <%a> [%(%y-%m-%d %H:%M)]:"
1187 The example above results in the following attribution:
1189 * Michael Svensson <svensson@foobar.com> [05-03-06 17:02]:
1190 > Bill, can you please send last month's progress report to Mr.
1191 > Morgan? We also urgently need the cost estimation for the new
1192 > production server that we want to set up before our customer's
1193 > project will go live.
1196 Generally, try to keep your attribution short yet information-rich. It is
1197 not the right place for witty quotes, long "attribution" novels or
1198 anything like that: the right place for such things is - if at all - the
1199 email signature at the very bottom of the message.
1201 When you're done with writing your message, save and quit the editor. As
1202 before, you will return to the compose menu, which is used in the same way
1205 6.2.2. Group Replies
1207 In the situation where a group of people uses email as a discussion, most
1208 of the emails will have one or more recipients, and probably several "Cc:"
1209 recipients. The group reply functionality ensures that when you press g
1210 instead of r to do a reply, each and every recipient that is contained in
1211 the original message will receive a copy of the message, either as normal
1212 recipient or as "Cc:" recipient.
1216 When you use mailing lists, it's generally better to send your reply to a
1217 message only to the list instead of the list and the original author. To
1218 make this easy to use, mutt-ng features list replies.
1220 To do a list reply, simply press L. If the email contains a
1221 Mail-Followup-To: header, its value will be used as reply address.
1222 Otherwise, mutt-ng searches through all mail addresses in the original
1223 message and tries to match them a list of regular expressions which can be
1224 specified using the lists command. If any of the regular expression
1225 matches, a mailing list address has been found, and it will be used as
1228 lists linuxevent@luga\.at vuln-dev@ mutt-ng-users@
1231 Nowadays, most mailing list software like GNU Mailman adds a
1232 Mail-Followup-To: header to their emails anyway, so setting lists is
1233 hardly ever necessary in practice.
1235 6.3. Editing the message header
1237 When editing the header of your outgoing message, there are a couple of
1238 special features available.
1240 If you specify Fcc: filename Mutt-ng will pick up filename just as if you
1241 had used the edit-fcc function in the compose menu.
1243 You can also attach files to your message by specifying Attach: filename [
1244 description ] where filename is the file to attach and description is an
1245 optional string to use as the description of the attached file.
1247 When replying to messages, if you remove the In-Reply-To: field from the
1248 header field, Mutt-ng will not generate a References: field, which allows
1249 you to create a new message thread.
1251 Also see edit-headers.
1253 6.4. Using Mutt-ng with PGP
1255 If you want to use PGP, you can specify
1257 Pgp: [ E | S | S<id> ]
1259 ``E'' encrypts, ``S'' signs and ``S<id>'' signs with the given key,
1260 setting pgp-sign-as permanently.
1262 If you have told mutt to PGP encrypt a message, it will guide you through
1263 a key selection process when you try to send the message. Mutt-ng will not
1264 ask you any questions about keys which have a certified user ID matching
1265 one of the message recipients' mail addresses. However, there may be
1266 situations in which there are several keys, weakly certified user ID
1267 fields, or where no matching keys can be found.
1269 In these cases, you are dropped into a menu with a list of keys from which
1270 you can select one. When you quit this menu, or mutt can't find any
1271 matching keys, you are prompted for a user ID. You can, as usually, abort
1272 this prompt using ^G. When you do so, mutt will return to the compose
1275 Once you have successfully finished the key selection, the message will be
1276 encrypted using the selected public keys, and sent out.
1278 Most fields of the entries in the key selection menu (see also
1279 pgp-entry-format) have obvious meanings. But some explanations on the
1280 capabilities, flags, and validity fields are in order.
1282 The flags sequence (%f) will expand to one of the following flags:
1284 R The key has been revoked and can't be used.
1285 X The key is expired and can't be used.
1286 d You have marked the key as disabled.
1287 c There are unknown critical self-signature
1290 The capabilities field (%c) expands to a two-character sequence
1291 representing a key's capabilities. The first character gives the key's
1292 encryption capabilities: A minus sign (-) means that the key cannot be
1293 used for encryption. A dot (.) means that it's marked as a signature key
1294 in one of the user IDs, but may also be used for encryption. The letter e
1295 indicates that this key can be used for encryption.
1297 The second character indicates the key's signing capabilities. Once again,
1298 a ``-'' implies ``not for signing'', ``.'' implies that the key is marked
1299 as an encryption key in one of the user-ids, and ``s'' denotes a key which
1300 can be used for signing.
1302 Finally, the validity field (%t) indicates how well-certified a user-id
1303 is. A question mark (?) indicates undefined validity, a minus character
1304 (-) marks an untrusted association, a space character means a partially
1305 trusted association, and a plus character (+) indicates complete validity.
1307 6.5. Sending anonymous messages via mixmaster
1309 You may also have configured mutt to co-operate with Mixmaster, an
1310 anonymous remailer. Mixmaster permits you to send your messages
1311 anonymously using a chain of remailers. Mixmaster support in mutt is for
1312 mixmaster version 2.04 (beta 45 appears to be the latest) and 2.03. It
1313 does not support earlier versions or the later so-called version 3 betas,
1314 of which the latest appears to be called 2.9b23.
1316 To use it, you'll have to obey certain restrictions. Most important, you
1317 cannot use the Cc and Bcc headers. To tell Mutt-ng to use mixmaster, you
1318 have to select a remailer chain, using the mix function on the compose
1321 The chain selection screen is divided into two parts. In the (larger)
1322 upper part, you get a list of remailers you may use. In the lower part,
1323 you see the currently selected chain of remailers.
1325 You can navigate in the chain using the chain-prev and chain-next
1326 functions, which are by default bound to the left and right arrows and to
1327 the h and l keys (think vi keyboard bindings). To insert a remailer at the
1328 current chain position, use the insert function. To append a remailer
1329 behind the current chain position, use select-entry or append. You can
1330 also delete entries from the chain, using the corresponding function.
1331 Finally, to abandon your changes, leave the menu, or accept them pressing
1332 (by default) the Return key.
1334 Note that different remailers do have different capabilities, indicated in
1335 the %c entry of the remailer menu lines (see mix-entry-format). Most
1336 important is the ``middleman'' capability, indicated by a capital ``M'':
1337 This means that the remailer in question cannot be used as the final
1338 element of a chain, but will only forward messages to other mixmaster
1339 remailers. For details on the other capabilities, please have a look at
1340 the mixmaster documentation.
1342 7. Forwarding and Bouncing Mail
1344 Often, it is necessary to forward mails to other people. Therefore,
1345 mutt-ng supports forwarding messages in two different ways.
1347 The first one is regular forwarding, as you probably know it from other
1348 mail clients. You simply press f, enter the recipient email address, the
1349 subject of the forwarded email, and then you can edit the message to be
1350 forwarded in the editor. The forwarded message is separated from the rest
1351 of the message via the two following markers:
1353 ----- Forwarded message from Lucas User <luser@example.com> -----
1355 From: Lucas User <luser@example.com>
1356 Date: Thu, 02 Dec 2004 03:08:34 +0100
1357 To: Michael Random <mrandom@example.com>
1358 Subject: Re: blackmail
1360 Pay me EUR 50,000.- cash or your favorite stuffed animal will die
1364 ----- End forwarded message -----
1366 When you're done with editing the mail, save and quit the editor, and you
1367 will return to the compose menu, the same menu you also encounter when
1368 composing or replying to mails.
1370 The second mode of forwarding emails with mutt-ng is the so-called
1371 bouncing: when you bounce an email to another address, it will be sent in
1372 practically the same format you send it (except for headers that are
1373 created during transporting the message). To bounce a message, press b and
1374 enter the recipient email address. By default, you are then asked whether
1375 you really want to bounce the message to the specified recipient. If you
1376 answer with yes, the message will then be bounced.
1378 To the recipient, the bounced email will look as if he got it like a
1379 regular email where he was Bcc: recipient. The only possibility to find
1380 out whether it was a bounced email is to carefully study the email headers
1381 and to find out which host really sent the email.
1385 At times it is desirable to delay sending a message that you have already
1386 begun to compose. When the postpone-message function is used in the
1387 compose menu, the body of your message and attachments are stored in the
1388 mailbox specified by the postponed variable. This means that you can
1389 recall the message even if you exit Mutt-ng and then restart it at a later
1392 Once a message is postponed, there are several ways to resume it. From the
1393 command line you can use the ``-p'' option, or if you compose a new
1394 message from the index or pager you will be prompted if postponed messages
1395 exist. If multiple messages are currently postponed, the postponed menu
1396 will pop up and you can select which message you would like to resume.
1398 Note: If you postpone a reply to a message, the reply setting of the
1399 message is only updated when you actually finish the message and send it.
1400 Also, you must be in the same folder with the message you replied to for
1401 the status of the message to be updated.
1403 See also the postpone quad-option.
1405 Chapter 3. Configuration
1409 1. Locations of Configuration Files
1411 2. Basic Syntax of Initialization Files
1413 3. Expansion within variables
1415 3.1. Commands' Output
1417 3.2. Environment Variables
1419 3.3. Configuration Variables
1421 3.4. Self-Defined Variables
1423 3.5. Pre-Defined Variables
1425 3.6. Type Conversions
1427 4. Defining/Using aliases
1429 5. Changing the default key bindings
1431 6. Defining aliases for character sets
1433 7. Setting variables based upon mailbox
1437 9. Using color and mono video attributes
1439 10. Ignoring (weeding) unwanted message headers
1441 11. Alternative addresses
1447 12.2. Receiving: Display Setup
1451 12.4. Additional Notes
1455 14. Using Multiple spool mailboxes
1457 15. Defining mailboxes which receive mail
1459 16. User defined headers
1461 17. Defining the order of headers when viewing messages
1463 18. Specify default save filename
1465 19. Specify default Fcc: mailbox when composing
1467 20. Specify default save filename and default Fcc: mailbox at once
1469 21. Change settings based upon message recipients
1471 22. Change settings before formatting a message
1473 23. Choosing the cryptographic key of the recipient
1475 24. Adding key sequences to the keyboard buffer
1477 25. Executing functions
1483 28. Setting variables
1485 29. Reading initialization commands from another file
1491 31.1. Character Sets
1493 31.2. Modularization
1495 31.3. Conditional parts
1497 32. Obsolete Variables
1499 1. Locations of Configuration Files
1501 While the default configuration (or ``preferences'') make Mutt-ng usable
1502 right out of the box, it is often desirable to tailor Mutt-ng to suit your
1503 own tastes. When Mutt-ng is first invoked, it will attempt to read the
1504 ``system'' configuration file (defaults set by your local system
1505 administrator), unless the ``-n'' commandline option is specified. This
1506 file is typically /usr/local/share/muttng/Muttngrc or /etc/Muttngrc,
1507 Mutt-ng users will find this file in /usr/local/share/muttng/Muttrc or
1508 /etc/Muttngrc. Mutt will next look for a file named .muttrc in your home
1509 directory, Mutt-ng will look for .muttngrc. If this file does not exist
1510 and your home directory has a subdirectory named .mutt, mutt try to load a
1511 file named .muttng/muttngrc.
1513 .muttrc (or .muttngrc for Mutt-ng) is the file where you will usually
1514 place your commands to configure Mutt-ng.
1516 2. Basic Syntax of Initialization Files
1518 An initialization file consists of a series of commands. Each line of the
1519 file may contain one or more commands. When multiple commands are used,
1520 they must be separated by a semicolon (;).
1522 set realname='Mutt-ng user' ; ignore x-
1524 The hash mark, or pound sign (``#''), is used as a ``comment'' character.
1525 You can use it to annotate your initialization file. All text after the
1526 comment character to the end of the line is ignored. For example,
1528 my_hdr X-Disclaimer: Why are you listening to me? # This is a comment
1530 Single quotes (') and double quotes (") can be used to quote strings which
1531 contain spaces or other special characters. The difference between the two
1532 types of quotes is similar to that of many popular shell programs, namely
1533 that a single quote is used to specify a literal string (one that is not
1534 interpreted for shell variables or quoting with a backslash [see next
1535 paragraph]), while double quotes indicate a string for which should be
1536 evaluated. For example, backtics are evaluated inside of double quotes,
1537 but not for single quotes.
1539 \ quotes the next character, just as in shells such as bash and zsh. For
1540 example, if want to put quotes ``"'' inside of a string, you can use ``\''
1541 to force the next character to be a literal instead of interpreted
1544 set realname="Michael \"MuttDude\" Elkins"
1546 ``\\'' means to insert a literal ``\'' into the line. ``\n'' and ``\r''
1547 have their usual C meanings of linefeed and carriage-return, respectively.
1549 A \ at the end of a line can be used to split commands over multiple
1550 lines, provided that the split points don't appear in the middle of
1553 Please note that, unlike the various shells, mutt-ng interprets a ``\'' at
1554 the end of a line also in comments. This allows you to disable a command
1555 split over multiple lines with only one ``#''.
1558 set realname="Michael \"MuttDude\" Elkins"
1560 When testing your config files, beware the following caveat. The backslash
1561 at the end of the commented line extends the current line with the next
1562 line - then referred to as a ``continuation line''. As the first line is
1563 commented with a hash (#) all following continuation lines are also part
1564 of a comment and therefore are ignored, too. So take care of comments when
1565 continuation lines are involved within your setup files!
1575 line1 ``continues'' until line4. however, the part after the # is a
1576 comment which includes line3 and line4. line5 is a new line of its own and
1577 thus is interpreted again.
1579 The commands understood by mutt are explained in the next paragraphs. For
1580 a complete list, see the commands.
1582 3. Expansion within variables
1584 Besides just assign static content to variables, there's plenty of ways of
1585 adding external and more or less dynamic content.
1587 3.1. Commands' Output
1589 It is possible to substitute the output of a Unix command in an
1590 initialization file. This is accomplished by enclosing the command in
1591 backquotes (``) as in, for example:
1593 my_hdr X-Operating-System: `uname -a`
1595 The output of the Unix command ``uname -a'' will be substituted before the
1596 line is parsed. Note that since initialization files are line oriented,
1597 only the first line of output from the Unix command will be substituted.
1599 3.2. Environment Variables
1601 UNIX environments can be accessed like the way it is done in shells like
1602 sh and bash: Prepend the name of the environment by a ``$'' sign. For
1605 set record=+sent_on_$HOSTNAME
1607 sets the record variable to the string +sent_on_ and appends the value of
1608 the evironment variable $HOSTNAME.
1610 Note: There will be no warning if an environment variable is not defined.
1611 The result will of the expansion will then be empty.
1613 3.3. Configuration Variables
1615 As for environment variables, the values of all configuration variables as
1616 string can be used in the same way, too. For example,
1618 set imap_home_namespace = $folder
1620 would set the value of imap-home-namespace to the value to which folder is
1623 Note: There're no logical links established in such cases so that the the
1624 value for imap-home-namespace won't change even if folder gets changed.
1626 Note: There will be no warning if a configuration variable is not defined
1627 or is empty. The result will of the expansion will then be empty.
1629 3.4. Self-Defined Variables
1631 Mutt-ng flexibly allows users to define their own variables. To avoid
1632 conflicts with the standard set and to prevent misleading error messages,
1633 there's a reserved namespace for them: all user-defined variables must be
1634 prefixed with user_ and can be used just like any ordinary configuration
1635 or environment variable.
1637 For example, to view the manual, users can either define two macros like
1640 macro generic <F1> "!less -r /path/to/manual" "Show manual"
1641 macro pager <F1> "!less -r /path/to/manual" "Show manual"
1643 for generic, pager and index. The alternative is to define a custom
1646 set user_manualcmd = "!less -r /path/to_manual"
1647 macro generic <F1> "$user_manualcmd<enter>" "Show manual"
1648 macro pager <F1> "$user_manualcmd<enter>" "Show manual"
1649 macro index <F1> "$user_manualcmd<enter>" "Show manual"
1651 to re-use the command sequence as in:
1653 macro index <F2> "$user_manualcmd | grep '\^[ ]\\+~. '" "Show Patterns"
1655 Using this feature, arbitrary sequences can be defined once and recalled
1656 and reused where necessary. More advanced scenarios could include to save
1657 a variable's value at the beginning of macro sequence and restore it at
1660 When the variable is first defined, the first value it gets assigned is
1661 also the initial value to which it can be reset using the reset command.
1663 The complete removal is done via the unset keyword.
1665 After the following sequence:
1670 the variable $user_foo has a current value of 666 and an initial of 42.
1675 will show 666. After doing the reset via
1679 a following query will give 42 as the result. After unsetting it via
1683 any query or operation (except the noted expansion within other
1684 statements) will lead to an error message.
1686 3.5. Pre-Defined Variables
1688 In order to allow users to share one setup over a number of different
1689 machines without having to change its contents, there's a number of
1690 pre-defined variables. These are prefixed with muttng_ and are read-only,
1691 i.e. they cannot be set, unset or reset. The reference chapter lists all
1692 available variables.
1694 Please consult the local copy of your manual for their values as they may
1695 differ from different manual sources. Where the manual is installed in can
1696 be queried (already using such a variable) by running:
1698 muttng -Q muttng_docdir
1700 To extend the example for viewing the manual via self-defined variables,
1701 it can be made more readable and more portable by changing the real path
1704 set user_manualcmd = '!less -r /path/to_manual'
1708 set user_manualcmd = "!less -r $muttng_docdir/manual.txt"
1710 which works everywhere if a manual is installed.
1712 Please note that by the type of quoting, muttng determines when to expand
1713 these values: when it finds double quotes, the value will be expanded
1714 during reading the setup files but when it finds single quotes, it'll
1715 expand it at runtime as needed.
1717 For example, the statement
1719 folder-hook . "set user_current_folder = $muttng_folder_name"
1721 will be already be translated to the following when reading the startup
1724 folder-hook . "set user_current_folder = some_folder"
1726 with some_folder being the name of the first folder muttng opens. On the
1729 folder-hook . 'set user_current_folder = $muttng_folder_name'
1731 will be executed at runtime because of the single quotes so that
1732 user_current_folder will always have the value of the currently opened
1735 A more practical example is:
1737 folder-hook . 'source ~/.mutt/score-$muttng_folder_name'
1739 which can be used to source files containing score commands depending on
1740 the folder the user enters.
1742 3.6. Type Conversions
1744 A note about variable's types during conversion: internally values are
1745 stored in internal types but for any dump/query or set operation they're
1746 converted to and from string. That means that there's no need to worry
1747 about types when referencing any variable. As an example, the following
1748 can be used without harm (besides makeing muttng very likely behave
1752 set folder = $read_inc
1753 set read_inc = $folder
1754 set user_magic_number = 42
1755 set folder = $user_magic_number
1757 4. Defining/Using aliases
1759 Usage: alias key address [ , address, ... ]
1761 It's usually very cumbersome to remember or type out the address of
1762 someone you are communicating with. Mutt-ng allows you to create
1763 ``aliases'' which map a short string to a full address.
1765 Note: if you want to create an alias for a group (by specifying more than
1766 one address), you must separate the addresses with a comma (``,'').
1768 To remove an alias or aliases (``*'' means all aliases):
1770 unalias [ * | key ... ]
1772 alias muttdude me@cs.hmc.edu (Michael Elkins)
1773 alias theguys manny, moe, jack
1775 Unlike other mailers, Mutt-ng doesn't require aliases to be defined in a
1776 special file. The alias command can appear anywhere in a configuration
1777 file, as long as this file is source. Consequently, you can have multiple
1778 alias files, or you can have all aliases defined in your muttrc.
1780 On the other hand, the create-alias function can use only one file, the
1781 one pointed to by the alias-file variable (which is ˜/.muttrc by
1782 default). This file is not special either, in the sense that Mutt-ng will
1783 happily append aliases to any file, but in order for the new aliases to
1784 take effect you need to explicitly source this file too.
1788 source /usr/local/share/Mutt-ng.aliases
1789 source ~/.mail_aliases
1790 set alias_file=~/.mail_aliases
1792 To use aliases, you merely use the alias at any place in mutt where mutt
1793 prompts for addresses, such as the To: or Cc: prompt. You can also enter
1794 aliases in your editor at the appropriate headers if you have the
1795 edit-headers variable set.
1797 In addition, at the various address prompts, you can use the tab character
1798 to expand a partial alias to the full alias. If there are multiple
1799 matches, mutt will bring up a menu with the matching aliases. In order to
1800 be presented with the full list of aliases, you must hit tab with out a
1801 partial alias, such as at the beginning of the prompt or after a comma
1802 denoting multiple addresses.
1804 In the alias menu, you can select as many aliases as you want with the
1805 select-entry key (default: RET), and use the exit key (default: q) to
1806 return to the address prompt.
1808 5. Changing the default key bindings
1810 Usage: bind map key function
1812 This command allows you to change the default key bindings (operation
1813 invoked when pressing a key).
1815 map specifies in which menu the binding belongs. Multiple maps may be
1816 specified by separating them with commas (no additional whitespace is
1817 allowed). The currently defined maps are:
1821 This is not a real menu, but is used as a fallback for all of the
1822 other menus except for the pager and editor modes. If a key is not
1823 defined in another menu, Mutt-ng will look for a binding to use in
1824 this menu. This allows you to bind a key to a certain function in
1825 multiple menus instead of having multiple bind statements to
1826 accomplish the same task.
1830 The alias menu is the list of your personal aliases as defined in
1831 your muttrc. It is the mapping from a short alias name to the full
1832 email address(es) of the recipient(s).
1836 The attachment menu is used to access the attachments on received
1841 The browser is used for both browsing the local directory
1842 structure, and for listing all of your incoming mailboxes.
1846 The editor is the line-based editor the user enters text data.
1850 The index is the list of messages contained in a mailbox.
1854 The compose menu is the screen used when sending a new message.
1858 The pager is the mode used to display message/attachment data, and
1863 The pgp menu is used to select the OpenPGP keys used for
1864 encrypting outgoing messages.
1868 The postpone menu is similar to the index menu, except is used
1869 when recalling a message the user was composing, but saved until
1872 key is the key (or key sequence) you wish to bind. To specify a control
1873 character, use the sequence \Cx, where x is the letter of the control
1874 character (for example, to specify control-A use ``\Ca''). Note that the
1875 case of x as well as \C is ignored, so that \CA, \Ca, \cA and \ca are all
1876 equivalent. An alternative form is to specify the key as a three digit
1877 octal number prefixed with a ``\'' (for example \177 is equivalent to
1880 In addition, key may consist of:
1884 <backtab> backtab / shift-tab
1894 <pagedown> Page Down
1895 <backspace> Backspace
1904 <f10> function key 10
1906 key does not need to be enclosed in quotes unless it contains a space (``
1909 function specifies which action to take when key is pressed. For a
1910 complete list of functions, see the functions. The special function noop
1911 unbinds the specified key sequence.
1913 6. Defining aliases for character sets
1915 Usage: charset-hook alias charset Usage: iconv-hook charset local-charset
1917 The charset-hook command defines an alias for a character set. This is
1918 useful to properly display messages which are tagged with a character set
1919 name not known to mutt.
1921 The iconv-hook command defines a system-specific name for a character set.
1922 This is helpful when your systems character conversion library insists on
1923 using strange, system-specific names for character sets.
1925 7. Setting variables based upon mailbox
1927 Usage: folder-hook [!]regexp command
1929 It is often desirable to change settings based on which mailbox you are
1930 reading. The folder-hook command provides a method by which you can
1931 execute any configuration command. regexp is a regular expression
1932 specifying in which mailboxes to execute command before loading. If a
1933 mailbox matches multiple folder-hook's, they are executed in the order
1934 given in the muttrc.
1936 Note: if you use the ``!'' shortcut for spoolfile at the beginning of the
1937 pattern, you must place it inside of double or single quotes in order to
1938 distinguish it from the logical not operator for the expression.
1940 Note that the settings are not restored when you leave the mailbox. For
1941 example, a command action to perform is to change the sorting method based
1942 upon the mailbox being read:
1944 folder-hook mutt set sort=threads
1946 However, the sorting method is not restored to its previous value when
1947 reading a different mailbox. To specify a default command, use the pattern
1950 folder-hook . set sort=date-sent
1954 Usage: macro menu key sequence [ description ]
1956 Macros are useful when you would like a single key to perform a series of
1957 actions. When you press key in menu menu, Mutt-ng will behave as if you
1958 had typed sequence. So if you have a common sequence of commands you type,
1959 you can create a macro to execute those commands with a single key.
1961 menu is the maps which the macro will be bound. Multiple maps may be
1962 specified by separating multiple menu arguments by commas. Whitespace may
1963 not be used in between the menu arguments and the commas separating them.
1965 key and sequence are expanded by the same rules as the bind. There are
1966 some additions however. The first is that control characters in sequence
1967 can also be specified as ^x. In order to get a caret (`^'') you need to
1968 use ^^. Secondly, to specify a certain key such as up or to invoke a
1969 function directly, you can use the format <key name> and <function name>.
1970 For a listing of key names see the section on bind. Functions are listed
1973 The advantage with using function names directly is that the macros will
1974 work regardless of the current key bindings, so they are not dependent on
1975 the user having particular key definitions. This makes them more robust
1976 and portable, and also facilitates defining of macros in files used by
1977 more than one user (eg. the system Muttngrc).
1979 Optionally you can specify a descriptive text after sequence, which is
1980 shown in the help screens.
1982 Note: Macro definitions (if any) listed in the help screen(s), are
1983 silently truncated at the screen width, and are not wrapped.
1985 9. Using color and mono video attributes
1987 Usage: color object foreground background [ regexp ] Usage: color index
1988 foreground background pattern Usage: uncolor index pattern [ pattern ... ]
1990 If your terminal supports color, you can spice up Mutt-ng by creating your
1991 own color scheme. To define the color of an object (type of information),
1992 you must specify both a foreground color and a background color (it is not
1993 possible to only specify one or the other).
1995 object can be one of:
1999 o body (match regexp in the body of messages)
2001 o bold (highlighting bold patterns in the body of messages)
2003 o error (error messages printed by Mutt-ng)
2005 o header (match regexp in the message header)
2007 o hdrdefault (default color of the message header in the pager)
2009 o index (match pattern in the message index)
2011 o indicator (arrow or bar used to indicate the current item in a menu)
2013 o markers (the ``+'' markers at the beginning of wrapped lines in the
2016 o message (informational messages)
2020 o quoted (text matching quote-regexp in the body of a message)
2022 o quoted1, quoted2, ..., quotedN (higher levels of quoting)
2024 o search (highlighting of words in the pager)
2028 o status (mode lines used to display info about the mailbox or message)
2030 o tilde (the ``˜'' used to pad blank lines in the pager)
2032 o tree (thread tree drawn in the message index and attachment menu)
2034 o underline (highlighting underlined patterns in the body of messages)
2036 foreground and background can be one of the following:
2058 foreground can optionally be prefixed with the keyword bright to make the
2059 foreground color boldfaced (e.g., brightred).
2061 If your terminal supports it, the special keyword default can be used as a
2062 transparent color. The value brightdefault is also valid. If Mutt-ng is
2063 linked against the S-Lang library, you also need to set the COLORFGBG
2064 environment variable to the default colors of your terminal for this to
2065 work; for example (for Bourne-like shells):
2067 set COLORFGBG="green;black"
2070 Note: The S-Lang library requires you to use the lightgray and brown
2071 keywords instead of white and yellow when setting this variable.
2073 Note: The uncolor command can be applied to the index object only. It
2074 removes entries from the list. You must specify the same pattern specified
2075 in the color command for it to be removed. The pattern ``*'' is a special
2076 token which means to clear the color index list of all entries.
2078 Mutt-ng also recognizes the keywords color0, color1, …, colorN-1 (N
2079 being the number of colors supported by your terminal). This is useful
2080 when you remap the colors for your display (for example by changing the
2081 color associated with color2 for your xterm), since color names may then
2082 lose their normal meaning.
2084 If your terminal does not support color, it is still possible change the
2085 video attributes through the use of the ``mono'' command:
2087 Usage: mono <object> <attribute> [ regexp ] Usage: mono index attribute
2088 pattern Usage: unmono index pattern [ pattern ... ]
2090 where attribute is one of the following:
2102 10. Ignoring (weeding) unwanted message headers
2104 Usage: [un]ignore pattern [ pattern ... ]
2106 Messages often have many header fields added by automatic processing
2107 systems, or which may not seem useful to display on the screen. This
2108 command allows you to specify header fields which you don't normally want
2111 You do not need to specify the full header field name. For example,
2112 ``ignore content-'' will ignore all header fields that begin with the
2113 pattern ``content-''. ``ignore *'' will ignore all headers.
2115 To remove a previously added token from the list, use the ``unignore''
2116 command. The ``unignore'' command will make Mutt-ng display headers with
2117 the given pattern. For example, if you do ``ignore x-'' it is possible to
2118 ``unignore x-mailer''.
2120 ``unignore *'' will remove all tokens from the ignore list.
2124 # Sven's draconian header weeding
2126 unignore from date subject to cc
2127 unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
2130 11. Alternative addresses
2132 Usage: [un]alternates regexp [ regexp ... ]
2134 With various functions, mutt will treat messages differently, depending on
2135 whether you sent them or whether you received them from someone else. For
2136 instance, when replying to a message that you sent to a different party,
2137 mutt will automatically suggest to send the response to the original
2138 message's recipients -- responding to yourself won't make much sense in
2139 many cases. (See reply-to.)
2141 Many users receive e-mail under a number of different addresses. To fully
2142 use mutt's features here, the program must be able to recognize what
2143 e-mail addresses you receive mail under. That's the purpose of the
2144 alternates command: It takes a list of regular expressions, each of which
2145 can identify an address under which you receive e-mail.
2147 The unalternates command can be used to write exceptions to alternates
2148 patterns. If an address matches something in an alternates command, but
2149 you nonetheless do not think it is from you, you can list a more precise
2150 pattern under an unalternates command.
2152 To remove a regular expression from the alternates list, use the
2153 unalternates command with exactly the same regexp. Likewise, if the regexp
2154 for a alternates command matches an entry on the unalternates list, that
2155 unalternates entry will be removed. If the regexp for unalternates is
2156 ``*'', all entries on alternates will be removed.
2162 Mutt-ng contains support for so-called format=flowed messages. In the
2163 beginning of email, each message had a fixed line width, and it was enough
2164 for displaying them on fixed-size terminals. But times changed, and
2165 nowadays hardly anybody still uses fixed-size terminals: more people
2166 nowaydays use graphical user interfaces, with dynamically resizable
2167 windows. This led to the demand of a new email format that makes it
2168 possible for the email client to make the email look nice in a resizable
2169 window without breaking quoting levels and creating an incompatible email
2170 format that can also be displayed nicely on old fixed-size terminals.
2172 For introductory information on format=flowed messages, see
2173 <http://www.joeclark.org/ffaq.html>.
2175 12.2. Receiving: Display Setup
2177 When you receive emails that are marked as format=flowed messages, and is
2178 formatted correctly, mutt-ng will try to reformat the message to optimally
2179 fit on your terminal. If you want a fixed margin on the right side of your
2180 terminal, you can set the following:
2185 The code above makes the line break 10 columns before the right side of
2188 If your terminal is so wide that the lines are embarrassingly long, you
2189 can also set a maximum line length:
2191 set max_line_length = 120
2194 The example above will give you lines not longer than 120 characters.
2196 When you view at format=flowed messages, you will often see the quoting
2197 hierarchy like in the following example:
2199 >Bill, can you please send last month's progress report to Mr.
2200 >Morgan? We also urgently need the cost estimation for the new
2201 >production server that we want to set up before our customer's
2202 >project will go live.
2205 This obviously doesn't look very nice, and it makes it very hard to
2206 differentiate between text and quoting character. The solution is to
2207 configure mutt-ng to "stuff" the quoting:
2212 This will lead to a nicer result that is easier to read:
2214 > Bill, can you please send last month's progress report to Mr.
2215 > Morgan? We also urgently need the cost estimation for the new
2216 > production server that we want to set up before our customer's
2217 > project will go live.
2222 If you want mutt-ng to send emails with format=flowed set, you need to
2228 Additionally, you have to use an editor which supports writing
2229 format=flowed-conforming emails. For vim, this is done by adding w to the
2230 formatoptions (see :h formatoptions and :h fo-table) when writing emails.
2232 Also note that format=flowed knows about ``space-stuffing'', that is, when
2233 sending messages, some kinds of lines have to be indented with a single
2234 space on the sending side. On the receiving side, the first space (if any)
2235 is removed. As a consequence and in addition to the above simple setting,
2236 please keep this in mind when making manual formattings within the editor.
2237 Also note that mutt-ng currently violates the standard (RfC 3676) as it
2238 does not space-stuff lines starting with:
2240 o > This is not the quote character but a right angle used for other
2243 o From with a trailing space.
2245 o just a space for formatting reasons
2247 Please make sure that you manually prepend a space to each of them.
2249 12.4. Additional Notes
2251 For completeness, the delete-space variable provides the mechanism to
2252 generate a DelSp=yes parameter on outgoing messages. According to the
2253 standard, clients receiving a format=flowed messages should delete the
2254 last space of a flowed line but still interpret the line as flowed.
2255 Because flowed lines usually contain only one space at the end, this
2256 parameter would make the receiving client concatenate the last word of the
2257 previous with the first of the current line without a space. This makes
2258 ordinary text unreadable and is intended for languages rarely using
2259 spaces. So please use this setting only if you're sure what you're doing.
2263 Usage: [un]lists regexp [ regexp ... ] Usage: [un]subscribe regexp [
2266 Mutt-ng has a few nice features for using-lists. In order to take
2267 advantage of them, you must specify which addresses belong to mailing
2268 lists, and which mailing lists you are subscribed to. Once you have done
2269 this, the list-reply function will work for all known lists. Additionally,
2270 when you send a message to a subscribed list, mutt will add a
2271 Mail-Followup-To header to tell other users' mail user agents not to send
2272 copies of replies to your personal address. Note that the Mail-Followup-To
2273 header is a non-standard extension which is not supported by all mail user
2274 agents. Adding it is not bullet-proof against receiving personal CCs of
2275 list messages. Also note that the generation of the Mail-Followup-To
2276 header is controlled by the followup-to configuration variable.
2278 More precisely, Mutt-ng maintains lists of patterns for the addresses of
2279 known and subscribed mailing lists. Every subscribed mailing list is
2280 known. To mark a mailing list as known, use the ``lists'' command. To mark
2281 it as subscribed, use ``subscribe''.
2283 You can use regular expressions with both commands. To mark all messages
2284 sent to a specific bug report's address on mutt's bug tracking system as
2285 list mail, for instance, you could say ``subscribe [0-9]*@bugs.guug.de''.
2286 Often, it's sufficient to just give a portion of the list's e-mail
2289 Specify as much of the address as you need to to remove ambiguity. For
2290 example, if you've subscribed to the Mutt-ng mailing list, you will
2291 receive mail addressed to mutt-users@mutt.org. So, to tell Mutt-ng that
2292 this is a mailing list, you could add ``lists mutt-users'' to your
2293 initialization file. To tell mutt that you are subscribed to it, add
2294 ``subscribe mutt-users'' to your initialization file instead. If you also
2295 happen to get mail from someone whose address is mutt-users@example.com,
2296 you could use ``lists mutt-users@mutt\\.org'' or ``subscribe
2297 mutt-users@mutt\\.org'' to match only mail from the actual list.
2299 The ``unlists'' command is used to remove a token from the list of known
2300 and subscribed mailing-lists. Use ``unlists *'' to remove all tokens.
2302 To remove a mailing list from the list of subscribed mailing lists, but
2303 keep it on the list of known mailing lists, use ``unsubscribe''.
2305 14. Using Multiple spool mailboxes
2307 Usage: mbox-hook [!]pattern mailbox
2309 This command is used to move read messages from a specified mailbox to a
2310 different mailbox automatically when you quit or change folders. pattern
2311 is a regular expression specifying the mailbox to treat as a ``spool''
2312 mailbox and mailbox specifies where mail should be saved when read.
2314 Unlike some of the other hook commands, only the first matching pattern is
2315 used (it is not possible to save read mail in more than a single mailbox).
2317 15. Defining mailboxes which receive mail
2319 Usage: [un]mailboxes [!]filename [ filename ... ]
2321 This command specifies folders which can receive mail and which will be
2322 checked for new messages. By default, the main menu status bar displays
2323 how many of these folders have new messages.
2325 When changing folders, pressing space will cycle through folders with new
2328 Pressing TAB in the directory browser will bring up a menu showing the
2329 files specified by the mailboxes command, and indicate which contain new
2330 messages. Mutt-ng will automatically enter this mode when invoked from the
2331 command line with the -y option.
2333 The ``unmailboxes'' command is used to remove a token from the list of
2334 folders which receive mail. Use ``unmailboxes *'' to remove all tokens.
2336 Note: new mail is detected by comparing the last modification time to the
2337 last access time. Utilities like biff or frm or any other program which
2338 accesses the mailbox might cause Mutt-ng to never detect new mail for that
2339 mailbox if they do not properly reset the access time. Backup tools are
2340 another common reason for updated access times.
2342 Note: the filenames in the mailboxes command are resolved when the command
2343 is executed, so if these names contain shortcuts (such as ``='' and
2344 ``!''), any variable definition that affect these characters (like folder
2345 and spoolfile) should be executed before the mailboxes command.
2347 16. User defined headers
2349 Usage: my_hdr string unmy_hdr field [ field ... ]
2351 The ``my_hdr'' command allows you to create your own header fields which
2352 will be added to every message you send.
2354 For example, if you would like to add an ``Organization:'' header field to
2355 all of your outgoing messages, you can put the command
2357 my_hdr Organization: A Really Big Company, Anytown, USA
2361 Note: space characters are not allowed between the keyword and the colon
2362 (``:''). The standard for electronic mail (RFC822) says that space is
2363 illegal there, so Mutt-ng enforces the rule.
2365 If you would like to add a header field to a single message, you should
2366 either set the edit-headers variable, or use the edit-headers function
2367 (default: ``E'') in the send-menu so that you can edit the header of your
2368 message along with the body.
2370 To remove user defined header fields, use the ``unmy_hdr'' command. You
2371 may specify an asterisk (``*'') to remove all header fields, or the fields
2372 to remove. For example, to remove all ``To'' and ``Cc'' header fields, you
2377 17. Defining the order of headers when viewing messages
2379 Usage: hdr_order header1 header2 header3
2381 With this command, you can specify an order in which mutt will attempt to
2382 present headers to you when viewing messages.
2384 ``unhdr_order *'' will clear all previous headers from the order list,
2385 thus removing the header order effects set by the system-wide startup
2388 hdr_order From Date: From: To: Cc: Subject:
2390 18. Specify default save filename
2392 Usage: save-hook [!]pattern filename
2394 This command is used to override the default filename used when saving
2395 messages. filename will be used as the default filename if the message is
2396 From: an address matching regexp or if you are the author and the message
2397 is addressed to: something matching regexp.
2399 See pattern-hook for information on the exact format of pattern.
2403 save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
2404 save-hook aol\\.com$ +spam
2406 Also see the fcc-save-hook command.
2408 19. Specify default Fcc: mailbox when composing
2410 Usage: fcc-hook [!]pattern mailbox
2412 This command is used to save outgoing mail in a mailbox other than record.
2413 Mutt-ng searches the initial list of message recipients for the first
2414 matching regexp and uses mailbox as the default Fcc: mailbox. If no match
2415 is found the message will be saved to record mailbox.
2417 See pattern-hook for information on the exact format of pattern.
2419 Example: fcc-hook [@.]aol\\.com$ +spammers
2421 The above will save a copy of all messages going to the aol.com domain to
2422 the `+spammers' mailbox by default. Also see the fcc-save-hook command.
2424 20. Specify default save filename and default Fcc: mailbox at once
2426 Usage: fcc-save-hook [!]pattern mailbox
2428 This command is a shortcut, equivalent to doing both a fcc-hook and a
2429 save-hook with its arguments.
2431 21. Change settings based upon message recipients
2433 Usage: reply-hook [!]pattern command Usage: send-hook [!]pattern command
2434 Usage: send2-hook [!]pattern command
2436 These commands can be used to execute arbitrary configuration commands
2437 based upon recipients of the message. pattern is a regular expression
2438 matching the desired address. command is executed when regexp matches
2439 recipients of the message.
2441 reply-hook is matched against the message you are replying to, instead of
2442 the message you are sending. send-hook is matched against all messages,
2443 both new and replies. Note: reply-hooks are matched before the send-hook,
2444 regardless of the order specified in the users's configuration file.
2446 send2-hook is matched every time a message is changed, either by editing
2447 it, or by using the compose menu to change its recipients or subject.
2448 send2-hook is executed after send-hook, and can, e.g., be used to set
2449 parameters such as the sendmail variable depending on the message's sender
2452 For each type of send-hook or reply-hook, when multiple matches occur,
2453 commands are executed in the order they are specified in the muttrc (for
2456 See pattern-hook for information on the exact format of pattern.
2458 Example: send-hook mutt "set mime_forward signature=''"
2460 Another typical use for this command is to change the values of the
2461 attribution, signature and locale variables in order to change the
2462 language of the attributions and signatures based upon the recipients.
2464 Note: the send-hook's are only executed ONCE after getting the initial
2465 list of recipients. Adding a recipient after replying or editing the
2466 message will NOT cause any send-hook to be executed. Also note that my_hdr
2467 commands which modify recipient headers, or the message's subject, don't
2468 have any effect on the current message when executed from a send-hook.
2470 22. Change settings before formatting a message
2472 Usage: message-hook [!]pattern command
2474 This command can be used to execute arbitrary configuration commands
2475 before viewing or formatting a message based upon information about the
2476 message. command is executed if the pattern matches the message to be
2477 displayed. When multiple matches occur, commands are executed in the order
2478 they are specified in the muttrc.
2480 See pattern-hook for information on the exact format of pattern.
2484 message-hook ~A 'set pager=builtin'
2485 message-hook '~f freshmeat-news' 'set pager="less \"+/^ subject: .*\""'
2487 23. Choosing the cryptographic key of the recipient
2489 Usage: crypt-hook pattern keyid
2491 When encrypting messages with PGP or OpenSSL, you may want to associate a
2492 certain key with a given e-mail address automatically, either because the
2493 recipient's public key can't be deduced from the destination address, or
2494 because, for some reasons, you need to override the key Mutt-ng would
2495 normally use. The crypt-hook command provides a method by which you can
2496 specify the ID of the public key to be used when encrypting messages to a
2499 The meaning of "key id" is to be taken broadly in this context: You can
2500 either put a numerical key ID here, an e-mail address, or even just a real
2503 24. Adding key sequences to the keyboard buffer
2507 This command adds the named string to the keyboard buffer. The string may
2508 contain control characters, key names and function names like the sequence
2509 string in the macro command. You may use it to automatically run a
2510 sequence of commands at startup, or when entering certain folders.
2512 25. Executing functions
2514 Usage: exec function [ function ... ]
2516 This command can be used to execute any function. Functions are listed in
2517 the functions. ``exec function'' is equivalent to ``push <function>''.
2521 Usage: score pattern value Usage: unscore pattern [ pattern ... ]
2523 In situations where you have to cope with a lot of emails, e.g. when you
2524 read many different mailing lists, and take part in discussions, it is
2525 always useful to have the important messages marked and the annoying
2526 messages or the ones that you aren't interested in deleted. For this
2527 purpose, mutt-ng features a mechanism called ``scoring''.
2529 When you use scoring, every message has a base score of 0. You can then
2530 use the score command to define patterns and a positive or negative value
2531 associated with it. When a pattern matches a message, the message's score
2532 will be raised or lowered by the amount of the value associated with the
2535 score "~f nion@muttng\.org" 50
2536 score "~f @sco\.com" -100
2538 If the pattern matches, it is also possible to set the score value of the
2539 current message to a certain value and then stop evaluation:
2541 score "~f santaclaus@northpole\.int" =666
2543 What is important to note is that negative score values will be rounded up
2546 To make scoring actually useful, the score must be applied in some way.
2547 That's what the score thresholds are for. Currently, there are three score
2550 o flag threshold: when a message has a score value equal or higher than
2551 the flag threshold, it will be flagged.
2553 o read threshold: when a message has a score value equal or lower than
2554 the read threshold, it will be marked as read.
2556 o delete threshold: when a message has a score value equal or lower than
2557 the delete threshold, it will be marked as deleted.
2559 These three thresholds can be set via the variables score-threshold-flag,
2560 score-threshold-read, score-threshold-delete and. By default,
2561 score-threshold-read and score-threshold-delete are set to -1, which means
2562 that in the default threshold configuration no message will ever get
2563 marked as read or deleted.
2565 Scoring gets especially interesting when combined with the color command
2568 color index black yellow "~n 10-"
2569 color index red yellow "~n 100-"
2571 The rules above mark all messages with a score between 10 and 99 with
2572 black and yellow, and messages with a score greater or equal 100 with red
2573 and yellow. This might be unusual to you if you're used to e.g. slrn's
2574 scoring mechanism, but it is more flexible, as it visually marks different
2579 Usage: spam pattern format Usage: nospam pattern
2581 Mutt-ng has generalized support for external spam-scoring filters. By
2582 defining your spam patterns with the spam and nospam commands, you can
2583 limit, search, and sort your mail based on its spam attributes, as
2584 determined by the external filter. You also can display the spam
2585 attributes in your index display using the %H selector in the index-format
2586 variable. (Tip: try %?H?[%H] ? to display spam tags only when they are
2587 defined for a given message.)
2589 Your first step is to define your external filter's spam patterns using
2590 the spam command. pattern should be a regular expression that matches a
2591 header in a mail message. If any message in the mailbox matches this
2592 regular expression, it will receive a ``spam tag'' or ``spam attribute''
2593 (unless it also matches a nospam pattern -- see below.) The appearance of
2594 this attribute is entirely up to you, and is governed by the format
2595 parameter. format can be any static text, but it also can include
2596 back-references from the pattern expression. (A regular expression
2597 ``back-reference'' refers to a sub-expression contained within
2598 parentheses.) %1 is replaced with the first back-reference in the regex,
2599 %2 with the second, etc.
2601 If you're using multiple spam filters, a message can have more than one
2602 spam-related header. You can define spam patterns for each filter you use.
2603 If a message matches two or more of these patterns, and the
2604 $spam_separator variable is set to a string, then the message's spam tag
2605 will consist of all the format strings joined together, with the value of
2606 $spam_separator separating them.
2608 For example, suppose I use DCC, SpamAssassin, and PureMessage. I might
2609 define these spam settings:
2611 spam "X-DCC-.*-Metrics:.*(....)=many" "90+/DCC-%1"
2612 spam "X-Spam-Status: Yes" "90+/SA"
2613 spam "X-PerlMX-Spam: .*Probability=([0-9]+)%" "%1/PM"
2614 set spam_separator=", "
2616 If I then received a message that DCC registered with ``many'' hits under
2617 the ``Fuz2'' checksum, and that PureMessage registered with a 97%
2618 probability of being spam, that message's spam tag would read
2619 90+/DCC-Fuz2, 97/PM. (The four characters before ``=many'' in a DCC report
2620 indicate the checksum used -- in this case, ``Fuz2''.)
2622 If the $spam_separator variable is unset, then each spam pattern match
2623 supersedes the previous one. Instead of getting joined format strings,
2624 you'll get only the last one to match.
2626 The spam tag is what will be displayed in the index when you use %H in the
2627 $index_format variable. It's also the string that the ˜H pattern-matching
2628 expression matches against for search and limit functions. And it's what
2629 sorting by spam attribute will use as a sort key.
2631 That's a pretty complicated example, and most people's actual environments
2632 will have only one spam filter. The simpler your configuration, the more
2633 effective mutt can be, especially when it comes to sorting.
2635 Generally, when you sort by spam tag, mutt will sort lexically -- that is,
2636 by ordering strings alphnumerically. However, if a spam tag begins with a
2637 number, mutt will sort numerically first, and lexically only when two
2638 numbers are equal in value. (This is like UNIX's sort -n.) A message with
2639 no spam attributes at all -- that is, one that didn't match any of your
2640 spam patterns -- is sorted at lowest priority. Numbers are sorted next,
2641 beginning with 0 and ranging upward. Finally, non-numeric strings are
2642 sorted, with ``a'' taking lower priority than ``z''. Clearly, in general,
2643 sorting by spam tags is most effective when you can coerce your filter to
2644 give you a raw number. But in case you can't, mutt can still do something
2647 The nospam command can be used to write exceptions to spam patterns. If a
2648 header pattern matches something in a spam command, but you nonetheless do
2649 not want it to receive a spam tag, you can list a more precise pattern
2650 under a nospam command.
2652 If the pattern given to nospam is exactly the same as the pattern on an
2653 existing spam list entry, the effect will be to remove the entry from the
2654 spam list, instead of adding an exception. Likewise, if the pattern for a
2655 spam command matches an entry on the nospam list, that nospam entry will
2656 be removed. If the pattern for nospam is ``*'', all entries on both lists
2657 will be removed. This might be the default action if you use spam and
2658 nospam in conjunction with a folder-hook.
2660 You can have as many spam or nospam commands as you like. You can even do
2661 your own primitive spam detection within mutt -- for example, if you
2662 consider all mail from MAILER-DAEMON to be spam, you can use a spam
2665 spam "^From: .*MAILER-DAEMON" "999"
2667 28. Setting variables
2669 Usage: set [no|inv]variable[=value] [ variable ... ] Usage: toggle
2670 variable [variable ... ] Usage: unset variable [variable ... ] Usage:
2671 reset variable [variable ... ]
2673 This command is used to set (and unset) variables. There are four basic
2674 types of variables: boolean, number, string and quadoption. boolean
2675 variables can be set (true) or unset (false). number variables can be
2676 assigned a positive integer value.
2678 string variables consist of any number of printable characters. strings
2679 must be enclosed in quotes if they contain spaces or tabs. You may also
2680 use the ``C'' escape sequences \n and \t for newline and tab,
2683 quadoption variables are used to control whether or not to be prompted for
2684 certain actions, or to specify a default action. A value of yes will cause
2685 the action to be carried out automatically as if you had answered yes to
2686 the question. Similarly, a value of no will cause the the action to be
2687 carried out as if you had answered ``no.'' A value of ask-yes will cause a
2688 prompt with a default answer of ``yes'' and ask-no will provide a default
2691 Prefixing a variable with ``no'' will unset it. Example: set noaskbcc.
2693 For boolean variables, you may optionally prefix the variable name with
2694 inv to toggle the value (on or off). This is useful when writing macros.
2695 Example: set invsmart_wrap.
2697 The toggle command automatically prepends the inv prefix to all specified
2700 The unset command automatically prepends the no prefix to all specified
2703 Using the enter-command function in the index menu, you can query the
2704 value of a variable by prefixing the name of the variable with a question
2709 The question mark is actually only required for boolean and quadoption
2712 The reset command resets all given variables to the compile time defaults
2713 (hopefully mentioned in this manual). If you use the command set and
2714 prefix the variable with ``&'' this has the same behavior as the reset
2717 With the reset command there exists the special variable ``all'', which
2718 allows you to reset all variables to their system defaults.
2720 29. Reading initialization commands from another file
2722 Usage: source filename [ filename ... ]
2724 This command allows the inclusion of initialization commands from other
2725 files. For example, I place all of my aliases in ˜/.mail_aliases so that
2726 I can make my ˜/.muttrc readable and keep my aliases private.
2728 If the filename begins with a tilde (``˜''), it will be expanded to the
2729 path of your home directory.
2731 If the filename ends with a vertical bar (|), then filename is considered
2732 to be an executable program from which to read input (eg. source
2737 Usage: unhook [ * | hook-type ]
2739 This command permits you to flush hooks you have previously defined. You
2740 can either remove all hooks by giving the ``*'' character as an argument,
2741 or you can remove all hooks of a specific type by saying something like
2746 31.1. Character Sets
2748 As users may run mutt-ng on different systems, the configuration must be
2749 maintained because it's likely that people want to use the setup
2750 everywhere they use mutt-ng. And mutt-ng tries to help where it can.
2752 To not produce conflicts with different character sets, mutt-ng allows
2753 users to specify in which character set their configuration files are
2754 encoded. Please note that while reading the configuration files, this is
2755 only respected after the corresponding declaration appears. It's advised
2756 to put the following at the very beginning of a users muttngrc:
2758 set config_charset = "..."
2760 and replacing the dots with the actual character set. To avoid problems
2761 while maintaining the setup, vim user's may want to use modelines as show
2764 # vim:fileencoding=...:
2766 while, again, replacing the dots with the appropriate name. This tells vim
2767 as which character set to read and save the file.
2769 31.2. Modularization
2771 ``Modularization'' means to divide the setup into several files while
2772 sorting the options or commands by topic. Especially for longer setups
2773 (e.g. with many hooks), this helps maintaining it and solving trouble.
2775 When using separation, setups may be, as a whole or in fractions, shared
2776 over different systems.
2778 31.3. Conditional parts
2780 When using a configuration on different systems, the user may not always
2781 have influence on how mutt-ng is installed and which features it includes.
2783 To solve this, mutt-ng contain a feature based on the ``ifdef'' patch
2784 written for mutt. Its basic syntax is:
2786 ifdef <item> <command>
2787 ifndef <item> <command>
2789 ...whereby <item> can be one of:
2799 All available functions, variables and menus are documented elsewhere in
2800 this manual but ``features'' is specific to these two commands. To test
2801 for one, prefix one of the following keywords with feature_:
2803 ncurses, slang, iconv, idn, dotlock, standalone, pop, nntp, imap, ssl,
2804 gnutls, sasl, sasl2, libesmtp, compressed, color, classic_pgp,
2805 classic_smime, gpgme, header_cache
2807 As an example, one can use the following in ˜/.muttngrc:
2809 ifdef feature_imap 'source ~/.mutt-ng/setup-imap'
2810 ifdef feature_pop 'source ~/.mutt-ng/setup-pop'
2811 ifdef feature_nntp 'source ~/.mutt-ng/setup-nntp'
2813 ...to only source ˜/.mutt-ng/setup-imap if IMAP support is built in, only
2814 source ˜/.mutt-ng/setup-pop if POP support is built in and only source
2815 ˜/.mutt-ng/setup-nntp if NNTP support is built in.
2817 An example for testing for variable names can be used if users use
2818 different revisions of mutt-ng whereby the older one may not have a
2819 certain variable. To test for the availability of imap-mail-check, use:
2821 ifdef imap_mail_check 'set imap_mail_check = 300'
2823 Provided for completeness is the test for menu names. To set
2824 pager-index-lines only if the pager menu is available, use:
2826 ifdef pager 'set pager_index_lines = 10'
2828 For completeness, too, the opposite of ifdef is provided: ifndef which
2829 only executes the command if the test fails. For example, the following
2830 two examples are equivalent:
2832 ifdef feature_ncurses 'source ~/.mutt-ng/setup-ncurses'
2833 ifndef feature_ncurses 'source ~/.mutt-ng/setup-slang'
2837 ifdef feature_slang 'source ~/.mutt-ng/setup-slang'
2838 ifndef feature_slang 'source ~/.mutt-ng/setup-ncurses'
2840 32. Obsolete Variables
2842 In the process of ensuring and creating more consistency, many variables
2843 have been renamed and some of the old names were already removed. Please
2844 see sect-obsolete for a complete list.
2846 Chapter 4. Advanced Usage
2850 1. Regular Expressions
2854 2.1. Complex Patterns
2856 2.2. Patterns and Dates
2862 3.2. Conditional Expansion
2864 3.3. Modifications and Padding
2870 5.1. Message Matching in Hooks
2872 6. Using the sidebar
2874 7. External Address Queries
2878 9. Mailbox Shortcuts
2880 10. Handling Mailing Lists
2884 11.1. Linking threads
2886 11.2. Breaking threads
2888 12. Delivery Status Notification (DSN) Support
2890 13. POP3 Support (OPTIONAL)
2892 14. IMAP Support (OPTIONAL)
2894 14.1. The Folder Browser
2896 14.2. Authentication
2898 15. NNTP Support (OPTIONAL)
2900 15.1. Again: Scoring
2902 16. SMTP Support (OPTIONAL)
2904 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
2906 18. Start a WWW Browser on URLs (EXTERNAL)
2908 19. Compressed folders Support (OPTIONAL)
2910 19.1. Open a compressed mailbox for reading
2912 19.2. Write a compressed mailbox
2914 19.3. Append a message to a compressed mailbox
2916 19.4. Encrypted folders
2918 1. Regular Expressions
2920 All string patterns in Mutt-ng including those in more complex patterns
2921 must be specified using regular expressions (regexp) in the ``POSIX
2922 extended'' syntax (which is more or less the syntax used by egrep and GNU
2923 awk). For your convenience, we have included below a brief description of
2926 The search is case sensitive if the pattern contains at least one upper
2927 case letter, and case insensitive otherwise. Note that ``\'' must be
2928 quoted if used for a regular expression in an initialization command:
2931 A regular expression is a pattern that describes a set of strings. Regular
2932 expressions are constructed analogously to arithmetic expressions, by
2933 using various operators to combine smaller expressions.
2935 Note that the regular expression can be enclosed/delimited by either " or
2936 ' which is useful if the regular expression includes a white-space
2937 character. See muttrc-syntax for more information on " and ' delimiter
2938 processing. To match a literal " or ' you must preface it with \
2941 The fundamental building blocks are the regular expressions that match a
2942 single character. Most characters, including all letters and digits, are
2943 regular expressions that match themselves. Any metacharacter with special
2944 meaning may be quoted by preceding it with a backslash.
2946 The period ``.'' matches any single character. The caret ``^'' and the
2947 dollar sign ``$'' are metacharacters that respectively match the empty
2948 string at the beginning and end of a line.
2950 A list of characters enclosed by ``['' and ``]'' matches any single
2951 character in that list; if the first character of the list is a caret
2952 ``^'' then it matches any character not in the list. For example, the
2953 regular expression [0123456789] matches any single digit. A range of ASCII
2954 characters may be specified by giving the first and last characters,
2955 separated by a hyphen ``-''. Most metacharacters lose their special
2956 meaning inside lists. To include a literal ``]'' place it first in the
2957 list. Similarly, to include a literal ``^'' place it anywhere but first.
2958 Finally, to include a literal hyphen ``-'' place it last.
2960 Certain named classes of characters are predefined. Character classes
2961 consist of ``[:'', a keyword denoting the class, and ``:]''. The following
2962 classes are defined by the POSIX standard:
2966 Alphanumeric characters.
2970 Alphabetic characters.
2974 Space or tab characters.
2986 Characters that are both printable and visible. (A space is
2987 printable, but not visible, while an ``a'' is both.)
2991 Lower-case alphabetic characters.
2995 Printable characters (characters that are not control characters.)
2999 Punctuation characters (characters that are not letter, digits,
3000 control characters, or space characters).
3004 Space characters (such as space, tab and formfeed, to name a few).
3008 Upper-case alphabetic characters.
3012 Characters that are hexadecimal digits.
3014 A character class is only valid in a regular expression inside the
3015 brackets of a character list. Note that the brackets in these class names
3016 are part of the symbolic names, and must be included in addition to the
3017 brackets delimiting the bracket list. For example, [[:digit:]] is
3018 equivalent to [0-9].
3020 Two additional special sequences can appear in character lists. These
3021 apply to non-ASCII character sets, which can have single symbols (called
3022 collating elements) that are represented with more than one character, as
3023 well as several characters that are equivalent for collating or sorting
3028 A collating symbol is a multi-character collating element enclosed
3029 in ``[.'' and ``.]''. For example, if ``ch'' is a collating
3030 element, then [[.ch.]] is a regexp that matches this collating
3031 element, while [ch] is a regexp that matches either ``c'' or
3036 An equivalence class is a locale-specific name for a list of
3037 characters that are equivalent. The name is enclosed in ``[='' and
3038 ``=]''. For example, the name ``e'' might be used to represent all
3039 of ``è'' ``é'' and ``e''. In this case, [[=e=]] is a regexp that
3040 matches any of ``è'', ``é'' and ``e''.
3042 A regular expression matching a single character may be followed by one of
3043 several repetition operators:
3047 The preceding item is optional and matched at most once.
3051 The preceding item will be matched zero or more times.
3055 The preceding item will be matched one or more times.
3059 The preceding item is matched exactly n times.
3063 The preceding item is matched n or more times.
3067 The preceding item is matched at most m times.
3071 The preceding item is matched at least n times, but no more than m
3074 Two regular expressions may be concatenated; the resulting regular
3075 expression matches any string formed by concatenating two substrings that
3076 respectively match the concatenated subexpressions.
3078 Two regular expressions may be joined by the infix operator ``|''; the
3079 resulting regular expression matches any string matching either
3082 Repetition takes precedence over concatenation, which in turn takes
3083 precedence over alternation. A whole subexpression may be enclosed in
3084 parentheses to override these precedence rules.
3086 Note: If you compile Mutt-ng with the GNU rx package, the following
3087 operators may also be used in regular expressions:
3091 Matches the empty string at either the beginning or the end of a
3096 Matches the empty string within a word.
3100 Matches the empty string at the beginning of a word.
3104 Matches the empty string at the end of a word.
3108 Matches any word-constituent character (letter, digit, or
3113 Matches any character that is not word-constituent.
3117 Matches the empty string at the beginning of a buffer (string).
3121 Matches the empty string at the end of a buffer.
3123 Please note however that these operators are not defined by POSIX, so they
3124 may or may not be available in stock libraries on various systems.
3128 Mutt-ng's pattern language provides a simple yet effective way to set up
3129 rules to match messages, e.g. for operations like tagging and scoring. A
3130 pattern consists of one or more sub-pattern, which can be logically
3131 grouped, ORed, and negated. For a complete listing of these patterns,
3132 please refer to table patterns in the Reference chapter.
3134 It must be noted that in this table, EXPR, USER, ID and SUBJECT are
3135 regular expressions. For ranges, the forms <[MAX], >>[MIN], [MIN]- and
3136 -[MAX] are also possible.
3138 2.1. Complex Patterns
3140 It is possible to combine several sub-patterns to a more complex pattern.
3141 The most simple possibility is to logically AND several patterns by
3142 stringing them together:
3146 The pattern above matches all messages that contain ``SPAM'' in the
3147 subject and are unread.
3149 To logical OR patterns, simply use the | operator. This one especially
3150 useful when using local groups:
3152 ~f ("nion@muttng\.org"|"ak@muttng\.org"|"pdmef@muttng\.org")
3153 (~b mutt-ng|~s Mutt-ng)
3156 The first pattern matches all messages that were sent by one of the
3157 mutt-ng maintainers, while the seconds pattern matches all messages that
3158 contain ``mutt-ng'' in the message body or ``Mutt-ng'' in the subject. The
3159 third pattern matches all messages that do not contain ``@synflood\.at''
3160 in the References: header, i.e. messages that are not an (indirect) reply
3161 to one of my messages. A pattern can be logicall negated using the !
3164 2.2. Patterns and Dates
3166 When using dates in patterns, the dates must be specified in a special
3167 format, i.e. DD/MM/YYYY. If you don't specify month or year, they default
3168 to the current month or year. When using date ranges, and you specify only
3169 the minimum or the maximum, the specified date will be excluded, e.g.
3170 01/06/2005- matches against all messages after Juni 1st, 2005.
3172 It is also possible to use so-called ``error margins'' when specifying
3173 date ranges. You simply specify a date, and then the error margin. This
3174 margin needs to contain the information whether it goes ``forth'' or
3175 ``back'' in time, by using + and -. Then follows a number and a unit, i.e.
3176 y for years, m for months, w for weeks and d for days. If you use the
3177 special * sign, it means that the error margin goes to both ``directions''
3184 The first pattern matches all dates between January 1st, 2005 and January
3185 1st 2006. The second pattern matches all dates between October 18th, 2004
3186 and October 4th 2004 (2 weeks before 18/10/2004), while the third pattern
3187 matches all dates 1 day around December 28th, 2004 (i.e. Dec 27th, 28th
3190 Relative dates are also very important, as they make it possible to
3191 specify date ranges between a fixed number of units and the current date.
3192 How this works can be seen in the following example:
3194 ~d >2w # messages older than two weeks
3195 ~d <3d # messages newer than 3 days
3196 ~d =1m # messages that are exactly one month old
3202 The so called Format Strings offer great flexibility when configuring
3203 mutt-ng. In short, they describe what items to print out how in menus and
3206 Basically, they work as this: for different menus and bars, there's a
3207 variable specifying the layout. For every item available, there is a so
3210 For example, when running mutt-ng on different machines or different
3211 versions for testing purposes, it may be interesting to have the following
3212 information always printed on screen when one is in the index:
3214 o the current hostname
3216 o the current mutt-ng version number
3218 The setting for the status bar of the index is controlled via the
3219 status-format variable. For the hostname and version string, there's an
3220 expando for $status_format: %h expands to the hostname and %v to the
3221 version string. When just configuring:
3223 set status_format = "%v on %h: ..."
3225 mutt-ng will replace the sequence %v with the version string and %h with
3226 the host's name. When you are, for example, running mutt-ng version 1.5.9i
3227 on host mailhost, you'll see the following when you're in the index:
3229 Mutt-ng 1.5.9i on mailhost: ...
3231 In the index, there're more useful information one could want to see:
3233 o which mailbox is open
3235 o how man new, flagged or postponed messages
3239 To include the mailbox' name is as easy as:
3241 set status_format = "%v on %h: %B: ...
3243 When the currently opened mailbox is Inbox, this will be expanded to:
3245 Mutt-ng 1.5.9i on mailhost: Inbox: ...
3247 For the number of certain types of messages, one more feature of the
3248 format strings is extremely useful. If there aren't messages of a certain
3249 type, it may not be desired to print just that there aren't any but
3250 instead only print something if there are any.
3252 3.2. Conditional Expansion
3254 To only print the number of messages if there are new messages in the
3255 current mailbox, further extend $status_format to:
3257 set status_format = "%v on %h: %B %?n?%n new? ...
3259 This feature is called nonzero-printing and works as this: some expandos
3260 may be optionally printed nonzero, i.e. a portion of the format string is
3261 only evaluated if the value of the expando is different from zero. The
3264 %?<item>?<string if nonzero>?
3266 which tells mutt-ng to only look at <string if nonzero> if the value of
3267 the %<item%gt; expando is different from zero. In our example, we used n
3268 as the expando to check for and %n new as the optional nonzero string.
3270 But this is not all: this feature only offers one alternative: ``print
3271 something if not zero.'' Mutt-ng does, as you might guess, also provide a
3272 logically complete version: ``if zero, print something and else print
3273 something else.'' This is achieved by the following syntax for those
3274 expandos which may be printed nonzero:
3276 %?<item>?<string if nonzero>&<string if zero>?
3278 Using this we can make mutt-ng to do the following:
3280 o make it print ``n new messages'' whereby n is the count but only if
3283 o and make it print ``no new messages'' if there aren't any
3285 The corresponding configuration is:
3287 set status_format = "%v on %h: %B: %?n?%n new messages&no new messages? ...
3289 This doubles the use of the ``new messages'' string because it'll get
3290 always printed. Thus, it can be shortened to:
3292 set status_format = "%v on %h: %B: %?n?%n&no? new messages ...
3294 As you might see from this rather simple example, one can create very
3295 complex but fancy status messages. Please see the reference chapter for
3296 expandos and those which may be printed nonzero.
3298 3.3. Modifications and Padding
3300 Besides the information given so far, there're even more features of
3303 o When specifying %_<item> instead of just %<item>, mutt-ng will convert
3304 all characters in the expansion of <item> to lowercase.
3306 o When specifying %:<item> instead of just %<item>, mutt-ng will convert
3307 all dots in the expansion of <item> to underscores (_).
3309 Also, there's a feature called Padding supplied by the following two
3310 expandos: %|X and %>X.
3314 When this occurs, mutt-ng will fill the rest of the line with the
3315 character X. In our example, filling the rest of the line with
3316 dashes is done by setting:
3318 set status_format = "%v on %h: %B: %?n?%n&no? new messages %|-"
3322 Since the previous expando stops at the end of line, there must be
3323 a way to fill the gap between two items via the %>X expando: it
3324 puts as many characters X in between two items so that the rest of
3325 the line will be right-justified. For example, to not put the
3326 version string and hostname of our example on the left but on the
3327 right and fill the gap with spaces, one might use (note the space
3330 set status_format = "%B: %?n?%n&no? new messages %> (%v on %h)"
3334 Sometimes it is desirable to perform an operation on a group of messages
3335 all at once rather than one at a time. An example might be to save
3336 messages to a mailing list to a separate folder, or to delete all messages
3337 with a given subject. To tag all messages matching a pattern, use the
3338 tag-pattern function, which is bound to ``shift-T'' by default. Or you can
3339 select individual messages by hand using the ``tag-message'' function,
3340 which is bound to ``t'' by default. See patterns for Mutt-ng's pattern
3343 Once you have tagged the desired messages, you can use the ``tag-prefix''
3344 operator, which is the ``;'' (semicolon) key by default. When the
3345 ``tag-prefix'' operator is used, the next operation will be applied to all
3346 tagged messages if that operation can be used in that manner. If the
3347 auto-tag variable is set, the next operation applies to the tagged
3348 messages automatically, without requiring the ``tag-prefix''.
3350 In macro or push commands, you can use the ``tag-prefix-cond'' operator.
3351 If there are no tagged messages, mutt will "eat" the rest of the macro to
3352 abort it's execution. Mutt-ng will stop "eating" the macro when it
3353 encounters the ``end-cond'' operator; after this operator the rest of the
3354 macro will be executed as normal.
3358 A hook is a concept borrowed from the EMACS editor which allows you to
3359 execute arbitrary commands before performing some operation. For example,
3360 you may wish to tailor your configuration based upon which mailbox you are
3361 reading, or to whom you are sending mail. In the Mutt-ng world, a hook
3362 consists of a regexp or patterns along with a configuration
3379 for specific details on each type of hook available.
3381 Note: if a hook changes configuration settings, these changes remain
3382 effective until the end of the current mutt session. As this is generally
3383 not desired, a default hook needs to be added before all other hooks to
3384 restore configuration defaults. Here is an example with send-hook and the
3387 send-hook . 'unmy_hdr From:'
3388 send-hook ~C'^b@b\.b$' my_hdr from: c@c.c
3390 5.1. Message Matching in Hooks
3392 Hooks that act upon messages (send-hook, save-hook, fcc-hook,
3393 message-hook) are evaluated in a slightly different manner. For the other
3394 types of hooks, a regexp is sufficient. But in dealing with messages a
3395 finer grain of control is needed for matching since for different purposes
3396 you want to match different criteria.
3398 Mutt-ng allows the use of the patterns language for matching messages in
3399 hook commands. This works in exactly the same way as it would when
3400 limiting or searching the mailbox, except that you are restricted to those
3401 operators which match information mutt extracts from the header of the
3402 message (i.e. from, to, cc, date, subject, etc.).
3404 For example, if you wanted to set your return address based upon sending
3405 mail to a specific address, you could do something like:
3407 send-hook '~t ^me@cs\.hmc\.edu$' 'my_hdr From: Mutt-ng User <user@host>'
3409 which would execute the given command when sending mail to me@cs.hmc.edu.
3411 However, it is not required that you write the pattern to match using the
3412 full searching language. You can still specify a simple regular expression
3413 like the other hooks, in which case Mutt-ng will translate your pattern
3414 into the full language, using the translation specified by the
3415 default-hook variable. The pattern is translated at the time the hook is
3416 declared, so the value of default-hook that is in effect at that time will
3419 6. Using the sidebar
3421 The sidebar, a feature specific to Mutt-ng, allows you to use a mailbox
3422 listing which looks very similar to the ones you probably know from GUI
3423 mail clients. The sidebar lists all specified mailboxes, shows the number
3424 in each and highlights the ones with new email Use the following
3425 configuration commands:
3427 set sidebar_visible="yes"
3428 set sidebar_width=25
3430 If you want to specify the mailboxes you can do so with:
3438 You can also specify the colors for mailboxes with new mails by using:
3440 color sidebar_new red black
3441 color sidebar white black
3443 The available functions are:
3445 sidebar-scroll-up Scrolls the mailbox list up 1 page
3446 sidebar-scroll-down Scrolls the mailbox list down 1 page
3447 sidebar-next Highlights the next mailbox
3448 sidebar-next-new Highlights the next mailbox with new mail
3449 sidebar-previous Highlights the previous mailbox
3450 sidebar-open Opens the currently highlighted mailbox
3452 Reasonable key bindings look e.g. like this:
3454 bind index \Cp sidebar-prev
3455 bind index \Cn sidebar-next
3456 bind index \Cb sidebar-open
3457 bind pager \Cp sidebar-prev
3458 bind pager \Cn sidebar-next
3459 bind pager \Cb sidebar-open
3461 macro index B ':toggle sidebar_visible^M'
3462 macro pager B ':toggle sidebar_visible^M'
3464 You can then go up and down by pressing Ctrl-P and Ctrl-N, and switch on
3465 and off the sidebar simply by pressing 'B'.
3467 7. External Address Queries
3469 Mutt-ng supports connecting to external directory databases such as LDAP,
3470 ph/qi, bbdb, or NIS through a wrapper script which connects to mutt using
3471 a simple interface. Using the query-command variable, you specify the
3472 wrapper command to use. For example:
3474 set query_command = "mutt_ldap_query.pl '%s'"
3476 The wrapper script should accept the query on the command-line. It should
3477 return a one line message, then each matching response on a single line,
3478 each line containing a tab separated address then name then some other
3479 optional information. On error, or if there are no matching addresses,
3480 return a non-zero exit code and a one line error message.
3482 An example multiple response output:
3484 Searching database ... 20 entries ... 3 matching:
3485 me@cs.hmc.edu Michael Elkins mutt dude
3486 blong@fiction.net Brandon Long mutt and more
3487 roessler@guug.de Thomas Roessler mutt pgp
3489 There are two mechanisms for accessing the query function of mutt. One is
3490 to do a query from the index menu using the query function (default: Q).
3491 This will prompt for a query, then bring up the query menu which will list
3492 the matching responses. From the query menu, you can select addresses to
3493 create aliases, or to mail. You can tag multiple addresses to mail, start
3494 a new query, or have a new query appended to the current responses.
3496 The other mechanism for accessing the query function is for address
3497 completion, similar to the alias completion. In any prompt for address
3498 entry, you can use the complete-query function (default: ^T) to run a
3499 query based on the current address you have typed. Like aliases, mutt will
3500 look for what you have typed back to the last space or comma. If there is
3501 a single response for that query, mutt will expand the address in place.
3502 If there are multiple responses, mutt will activate the query menu. At the
3503 query menu, you can select one or more addresses to be added to the
3508 Mutt-ng supports reading and writing of four different mailbox formats:
3509 mbox, MMDF, MH and Maildir. The mailbox type is autodetected, so there is
3510 no need to use a flag for different mailbox types. When creating new
3511 mailboxes, Mutt-ng uses the default specified with the mbox-type variable.
3513 mbox. This is the most widely used mailbox format for UNIX. All messages
3514 are stored in a single file. Each message has a line of the form:
3516 From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST
3518 to denote the start of a new message (this is often referred to as the
3521 MMDF. This is a variant of the mbox format. Each message is surrounded by
3522 lines containing ``^A^A^A^A'' (four control-A's).
3524 MH. A radical departure from mbox and MMDF, a mailbox consists of a
3525 directory and each message is stored in a separate file. The filename
3526 indicates the message number (however, this is may not correspond to the
3527 message number Mutt-ng displays). Deleted messages are renamed with a
3528 comma (,) prepended to the filename. Note: Mutt detects this type of
3529 mailbox by looking for either .mh_sequences or .xmhcache (needed to
3530 distinguish normal directories from MH mailboxes).
3532 Maildir. The newest of the mailbox formats, used by the Qmail MTA (a
3533 replacement for sendmail). Similar to MH, except that it adds three
3534 subdirectories of the mailbox: tmp, new and cur. Filenames for the
3535 messages are chosen in such a way they are unique, even when two programs
3536 are writing the mailbox over NFS, which means that no file locking is
3539 9. Mailbox Shortcuts
3541 There are a number of built in shortcuts which refer to specific
3542 mailboxes. These shortcuts can be used anywhere you are prompted for a
3543 file or mailbox path.
3545 o ! -- refers to your spoolfile (incoming) mailbox
3547 o > -- refers to your mbox file
3549 o < -- refers to your record file
3551 o ^ -- refers to the current mailbox
3553 o - or !! -- refers to the file you've last visited
3555 o ˜ -- refers to your home directory
3557 o = or + -- refers to your folder directory
3559 o @alias -- refers to the save-hook as determined by the address of the
3562 10. Handling Mailing Lists
3564 Mutt-ng has a few configuration options that make dealing with large
3565 amounts of mail easier. The first thing you must do is to let Mutt know
3566 what addresses you consider to be mailing lists (technically this does not
3567 have to be a mailing list, but that is what it is most often used for),
3568 and what lists you are subscribed to. This is accomplished through the use
3569 of the lists commands in your muttrc.
3571 Now that Mutt-ng knows what your mailing lists are, it can do several
3572 things, the first of which is the ability to show the name of a list
3573 through which you received a message (i.e., of a subscribed list) in the
3574 index menu display. This is useful to distinguish between personal and
3575 list mail in the same mailbox. In the index-format variable, the escape
3576 ``%L'' will return the string ``To <list>'' when ``list'' appears in the
3577 ``To'' field, and ``Cc <list>'' when it appears in the ``Cc'' field
3578 (otherwise it returns the name of the author).
3580 Often times the ``To'' and ``Cc'' fields in mailing list messages tend to
3581 get quite large. Most people do not bother to remove the author of the
3582 message they are reply to from the list, resulting in two or more copies
3583 being sent to that person. The ``list-reply'' function, which by default
3584 is bound to ``L'' in the index menu and pager, helps reduce the clutter by
3585 only replying to the known mailing list addresses instead of all
3586 recipients (except as specified by Mail-Followup-To, see below).
3588 Mutt-ng also supports the Mail-Followup-To header. When you send a message
3589 to a list of recipients which includes one or several subscribed mailing
3590 lists, and if the followup-to option is set, mutt will generate a
3591 Mail-Followup-To header which contains all the recipients to whom you send
3592 this message, but not your address. This indicates that group-replies or
3593 list-replies (also known as ``followups'') to this message should only be
3594 sent to the original recipients of the message, and not separately to you
3595 - you'll receive your copy through one of the mailing lists you are
3598 Conversely, when group-replying or list-replying to a message which has a
3599 Mail-Followup-To header, mutt will respect this header if the
3600 honor-followup-to configuration variable is set. Using list-reply will in
3601 this case also make sure that the reply goes to the mailing list, even if
3602 it's not specified in the list of recipients in the Mail-Followup-To.
3604 Note that, when header editing is enabled, you can create a
3605 Mail-Followup-To header manually. Mutt-ng will only auto-generate this
3606 header if it doesn't exist when you send the message.
3608 The other method some mailing list admins use is to generate a
3609 ``Reply-To'' field which points back to the mailing list address rather
3610 than the author of the message. This can create problems when trying to
3611 reply directly to the author in private, since most mail clients will
3612 automatically reply to the address given in the ``Reply-To'' field.
3613 Mutt-ng uses the reply-to variable to help decide which address to use. If
3614 set to ask-yes or ask-no, you will be prompted as to whether or not you
3615 would like to use the address given in the ``Reply-To'' field, or reply
3616 directly to the address given in the ``From'' field. When set to yes, the
3617 ``Reply-To'' field will be used when present.
3619 The ``X-Label:'' header field can be used to further identify mailing
3620 lists or list subject matter (or just to annotate messages individually).
3621 The index-format variable's ``%y'' and ``%Y'' escapes can be used to
3622 expand ``X-Label:'' fields in the index, and Mutt-ng's pattern-matcher can
3623 match regular expressions to ``X-Label:'' fields with the ``˜y''
3624 selector. ``X-Label:'' is not a standard message header field, but it can
3625 easily be inserted by procmail and other mail filtering agents.
3627 Lastly, Mutt-ng has the ability to sort the mailbox into threads. A thread
3628 is a group of messages which all relate to the same subject. This is
3629 usually organized into a tree-like structure where a message and all of
3630 its replies are represented graphically. If you've ever used a threaded
3631 news client, this is the same concept. It makes dealing with large volume
3632 mailing lists easier because you can easily delete uninteresting threads
3633 and quickly find topics of value.
3637 Mutt-ng has the ability to dynamically restructure threads that are broken
3638 either by misconfigured software or bad behavior from some correspondents.
3639 This allows to clean your mailboxes formats) from these annoyances which
3640 make it hard to follow a discussion.
3642 11.1. Linking threads
3644 Some mailers tend to "forget" to correctly set the "In-Reply-To:" and
3645 "References:" headers when replying to a message. This results in broken
3646 discussions because Mutt-ng has not enough information to guess the
3647 correct threading. You can fix this by tagging the reply, then moving to
3648 the parent message and using the ``link-threads'' function (bound to & by
3649 default). The reply will then be connected to this "parent" message.
3651 You can also connect multiple children at once, tagging them and using the
3652 tag-prefix command (';') or the auto_tag option.
3654 11.2. Breaking threads
3656 On mailing lists, some people are in the bad habit of starting a new
3657 discussion by hitting "reply" to any message from the list and changing
3658 the subject to a totally unrelated one. You can fix such threads by using
3659 the ``break-thread'' function (bound by default to #), which will turn the
3660 subthread starting from the current message into a whole different thread.
3662 12. Delivery Status Notification (DSN) Support
3664 RFC1894 defines a set of MIME content types for relaying information about
3665 the status of electronic mail messages. These can be thought of as
3666 ``return receipts.''
3668 Users can make use of it in one of the following two ways:
3670 o Berkeley sendmail 8.8.x currently has some command line options in
3671 which the mail client can make requests as to what type of status
3672 messages should be returned.
3674 o The SMTP support via libESMTP supports it, too.
3676 To support this, there are two variables:
3678 o dsn-notify is used to request receipts for different results (such as
3679 failed message, message delivered, etc.).
3681 o dsn-return requests how much of your message should be returned with
3682 the receipt (headers or full message).
3684 Please see the reference chapter for possible values.
3686 13. POP3 Support (OPTIONAL)
3688 If Mutt-ng was compiled with POP3 support (by running the configure script
3689 with the --enable-pop flag), it has the ability to work with mailboxes
3690 located on a remote POP3 server and fetch mail for local browsing.
3692 You can access the remote POP3 mailbox by selecting the folder
3695 You can select an alternative port by specifying it with the server, i.e.:
3696 pop://popserver:port/.
3698 You can also specify different username for each folder, i.e.:
3699 pop://username@popserver[:port]/.
3701 Polling for new mail is more expensive over POP3 than locally. For this
3702 reason the frequency at which Mutt-ng will check for mail remotely can be
3703 controlled by the pop-mail-check variable, which defaults to every 60
3706 If Mutt-ng was compiled with SSL support (by running the configure script
3707 with the --with-ssl flag), connections to POP3 servers can be encrypted.
3708 This naturally requires that the server supports SSL encrypted
3709 connections. To access a folder with POP3/SSL, you should use pops:
3710 prefix, ie: pops://[username@]popserver[:port]/.
3712 Another way to access your POP3 mail is the fetch-mail function (default:
3713 G). It allows to connect to pop-host, fetch all your new mail and place it
3714 in the local spoolfile. After this point, Mutt-ng runs exactly as if the
3715 mail had always been local.
3717 Note: If you only need to fetch all messages to local mailbox you should
3718 consider using a specialized program, such as fetchmail
3720 14. IMAP Support (OPTIONAL)
3722 If Mutt-ng was compiled with IMAP support (by running the configure script
3723 with the --enable-imap flag), it has the ability to work with folders
3724 located on a remote IMAP server.
3726 You can access the remote inbox by selecting the folder
3727 imap://imapserver/INBOX, where imapserver is the name of the IMAP server
3728 and INBOX is the special name for your spool mailbox on the IMAP server.
3729 If you want to access another mail folder at the IMAP server, you should
3730 use imap://imapserver/path/to/folder where path/to/folder is the path of
3731 the folder you want to access.
3733 You can select an alternative port by specifying it with the server, i.e.:
3734 imap://imapserver:port/INBOX.
3736 You can also specify different username for each folder, i.e.:
3737 imap://username@imapserver[:port]/INBOX.
3739 If Mutt-ng was compiled with SSL support (by running the configure script
3740 with the --with-ssl flag), connections to IMAP servers can be encrypted.
3741 This naturally requires that the server supports SSL encrypted
3742 connections. To access a folder with IMAP/SSL, you should use
3743 imaps://[username@]imapserver[:port]/path/to/folder as your folder path.
3745 Pine-compatible notation is also supported, i.e.
3746 {[username@]imapserver[:port][/ssl]}path/to/folder
3748 Note that not all servers use / as the hierarchy separator. Mutt-ng should
3749 correctly notice which separator is being used by the server and convert
3752 When browsing folders on an IMAP server, you can toggle whether to look at
3753 only the folders you are subscribed to, or all folders with the
3754 toggle-subscribed command. See also the imap-list-subscribed variable.
3756 Polling for new mail on an IMAP server can cause noticeable delays. So,
3757 you'll want to carefully tune the imap-mail-check and timeout variables.
3759 Note that if you are using mbox as the mail store on UW servers prior to
3760 v12.250, the server has been reported to disconnect a client if another
3761 client selects the same folder.
3763 14.1. The Folder Browser
3765 As of version 1.2, mutt supports browsing mailboxes on an IMAP server.
3766 This is mostly the same as the local file browser, with the following
3769 o Instead of file permissions, mutt displays the string "IMAP", possibly
3770 followed by the symbol "+", indicating that the entry contains both
3771 messages and subfolders. On Cyrus-like servers folders will often
3772 contain both messages and subfolders.
3774 o For the case where an entry can contain both messages and subfolders,
3775 the selection key (bound to enter by default) will choose to descend
3776 into the subfolder view. If you wish to view the messages in that
3777 folder, you must use view-file instead (bound to space by default).
3779 o You can create, delete and rename mailboxes with the create-mailbox,
3780 delete-mailbox, and rename-mailbox commands (default bindings: C, d
3781 and r, respectively). You may also subscribe and unsubscribe to
3782 mailboxes (normally these are bound to s and u, respectively).
3784 14.2. Authentication
3786 Mutt-ng supports four authentication methods with IMAP servers: SASL,
3787 GSSAPI, CRAM-MD5, and LOGIN (there is a patch by Grant Edwards to add NTLM
3788 authentication for you poor exchange users out there, but it has yet to be
3789 integrated into the main tree). There is also support for the
3790 pseudo-protocol ANONYMOUS, which allows you to log in to a public IMAP
3791 server without having an account. To use ANONYMOUS, simply make your
3792 username blank or "anonymous".
3794 SASL is a special super-authenticator, which selects among several
3795 protocols (including GSSAPI, CRAM-MD5, ANONYMOUS, and DIGEST-MD5) the most
3796 secure method available on your host and the server. Using some of these
3797 methods (including DIGEST-MD5 and possibly GSSAPI), your entire session
3798 will be encrypted and invisible to those teeming network snoops. It is the
3799 best option if you have it. To use it, you must have the Cyrus SASL
3800 library installed on your system and compile mutt with the --with-sasl
3803 Mutt-ng will try whichever methods are compiled in and available on the
3804 server, in the following order: SASL, ANONYMOUS, GSSAPI, CRAM-MD5, LOGIN.
3806 There are a few variables which control authentication:
3808 o imap-user - controls the username under which you request
3809 authentication on the IMAP server, for all authenticators. This is
3810 overridden by an explicit username in the mailbox path (i.e. by using
3811 a mailbox name of the form {user@host}).
3813 o imap-pass - a password which you may preset, used by all
3814 authentication methods where a password is needed.
3816 o imap-authenticators - a colon-delimited list of IMAP authentication
3817 methods to try, in the order you wish to try them. If specified, this
3818 overrides mutt's default (attempt everything, in the order listed
3821 15. NNTP Support (OPTIONAL)
3823 If compiled with ``--enable-nntp'' option, Mutt-ng can read news from a
3824 newsserver via NNTP. You can open a newsgroup with the
3825 ``change-newsgroup'' function from the index/pager which is by default
3828 The Default newsserver can be obtained from the $NNTPSERVER environment
3829 variable. Like other news readers, info about subscribed newsgroups is
3830 saved in a file as specified by the nntp-newsrc variable. Article headers
3831 are cached and can be loaded from a file when a newsgroup is entered
3832 instead loading from newsserver; currently, this caching mechanism still
3833 is different from the header caching for maildir/IMAP.
3835 15.1. Again: Scoring
3837 Especially for Usenet, people often ask for advanced filtering and scoring
3838 functionality. Of course, mutt-ng has scoring and allows a killfile, too.
3839 How to use a killfile has been discussed in score-command.
3841 What has not been discusses in detail is mutt-ng's built-in realname
3842 filter. For may newsreaders including those for ``advanced users'' like
3843 slrn or tin, there are frequent request for such functionality. The
3844 solutions offered often are complicated regular expressions.
3846 In mutt-ng this is as easy as
3851 This tells mutt-ng to apply a score of 42 to all messages whose sender
3852 specified a valid realname and a valid email address. Using
3857 on the contrary applies a score of 42 to all messages not matching those
3858 criteria which are very strict:
3860 o Email addresses must be valid according to RFC 2822, see
3861 <ftp://ftp.rfc-editor.org/in-notes/rfc2822.txt>
3863 o the name must consist of at least 2 fields whereby a field must not
3864 end in a dot. This means that ``Joe User'' and ``Joe A. User'' are
3865 valid while ``J. User'' and ``J. A. User'' aren't.
3867 o it's assumed that users are interested in reading their own mail and
3868 mail from people who they have defined an alias for so that those 2
3869 groups of messages are excluded from the strict rules.
3871 16. SMTP Support (OPTIONAL)
3873 Mutt-ng can be built using a library called ``libESMTP'' which provides
3874 SMTP functionality. When configure was called with --with-libesmtp or the
3875 output muttng -v contains +USE_LIBESMTP, this will be or is the case
3876 already. The SMTP support includes support for Delivery Status
3877 Notification (see dsn section) as well as handling the 8BITMIME flag
3878 controlled via use-8bitmime.
3880 To enable sending mail directly via SMTP without an MTA such as Postfix or
3881 SSMTP and the like, simply set the smtp-host variable pointing to your
3884 Authentication mechanisms are available via the smtp-user and smtp-pass
3887 Transport Encryption via the StartTLS command is also available. For this
3888 to work, first of all Mutt-ng must be built with SSL or GNUTLS. Secondly,
3889 the smtp-use-tls variable must be either set to ``enabled'' or
3890 ``required.'' In both cases, StartTLS will be used if the server supports
3891 it: for the second case, the connection will fail if it doesn't while
3892 switching back to unencrypted communication for the first one.
3894 Some mail providers require user's to set a particular envelope sender,
3895 i.e. they allow for only one value which may not be what the user wants to
3896 send as the From: header. In this case, the variable smtp-envelope may be
3897 used to set the envelope different from the From: header.
3899 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
3901 If you happen to have accounts on multiple IMAP and/or POP servers, you
3902 may find managing all the authentication settings inconvenient and
3903 error-prone. The account-hook command may help. This hook works like
3904 folder-hook but is invoked whenever you access a remote mailbox (including
3905 inside the folder browser), not just when you open the mailbox.
3909 account-hook . 'unset imap_user; unset imap_pass; unset tunnel'
3910 account-hook imap://host1/ 'set imap_user=me1 imap_pass=foo'
3911 account-hook imap://host2/ 'set tunnel="ssh host2 /usr/libexec/imapd"'
3913 18. Start a WWW Browser on URLs (EXTERNAL)
3915 If a message contains URLs (unified resource locator = address in the WWW
3916 space like http://www.mutt.org/), it is efficient to get a menu with all
3917 the URLs and start a WWW browser on one of them. This functionality is
3918 provided by the external urlview program which can be retrieved at
3919 ftp://ftp.mutt.org/mutt/contrib/ and the configuration commands:
3921 macro index \cb |urlview\n
3922 macro pager \cb |urlview\n
3924 19. Compressed folders Support (OPTIONAL)
3926 If Mutt-ng was compiled with compressed folders support (by running the
3927 configure script with the --enable-compressed flag), Mutt can open folders
3928 stored in an arbitrary format, provided that the user has a script to
3929 convert from/to this format to one of the accepted.
3931 The most common use is to open compressed archived folders e.g. with gzip.
3933 In addition, the user can provide a script that gets a folder in an
3934 accepted format and appends its context to the folder in the user-defined
3935 format, which may be faster than converting the entire folder to the
3936 accepted format, appending to it and converting back to the user-defined
3939 There are three hooks defined (open-hook, close-hook and append-hook)
3940 which define commands to uncompress and compress a folder and to append
3941 messages to an existing compressed folder respectively.
3945 open-hook \\.gz$ "gzip -cd %f > %t"
3946 close-hook \\.gz$ "gzip -c %t > %f"
3947 append-hook \\.gz$ "gzip -c %t >> %f"
3949 You do not have to specify all of the commands. If you omit append-hook,
3950 the folder will be open and closed again each time you will add to it. If
3951 you omit close-hook (or give empty command) , the folder will be open in
3952 the mode. If you specify append-hook though you'll be able to append to
3955 Note that Mutt-ng will only try to use hooks if the file is not in one of
3956 the accepted formats. In particular, if the file is empty, mutt supposes
3957 it is not compressed. This is important because it allows the use of
3958 programs that do not have well defined extensions. Just use "." as a
3959 regexp. But this may be surprising if your compressing script produces
3960 empty files. In this situation, unset save-empty, so that the compressed
3961 file will be removed if you delete all of the messages.
3963 19.1. Open a compressed mailbox for reading
3965 Usage: open-hook regexp "command"
3967 The command is the command that can be used for opening the folders whose
3970 The command string is the printf-like format string, and it should accept
3971 two parameters: %f, which is replaced with the (compressed) folder name,
3972 and %t which is replaced with the name of the temporary folder to which to
3975 %f and %t can be repeated any number of times in the command string, and
3976 all of the entries are replaced with the appropriate folder name. In
3977 addition, %% is replaced by %, as in printf, and any other %anything is
3980 The command should not remove the original compressed file. The command
3981 should return non-zero exit status if it fails, so mutt knows something's
3986 open-hook \\.gz$ "gzip -cd %f > %t"
3988 If the command is empty, this operation is disabled for this file type.
3990 19.2. Write a compressed mailbox
3992 Usage: close-hook regexp "command"
3994 This is used to close the folder that was open with the open-hook command
3995 after some changes were made to it.
3997 The command string is the command that can be used for closing the folders
3998 whose names match regexp. It has the same format as in the open-hook
3999 command. Temporary folder in this case is the folder previously produced
4000 by the <open-hook command.
4002 The command should not remove the decompressed file. The command should
4003 return non-zero exit status if it fails, so mutt knows something's wrong.
4007 close-hook \\.gz$ "gzip -c %t > %f"
4009 If the command is empty, this operation is disabled for this file type,
4010 and the file can only be open in the readonly mode.
4012 close-hook is not called when you exit from the folder if the folder was
4015 19.3. Append a message to a compressed mailbox
4017 Usage: append-hook regexp "command"
4019 This command is used for saving to an existing compressed folder. The
4020 command is the command that can be used for appending to the folders whose
4021 names match regexp. It has the same format as in the open-hook command.
4022 The temporary folder in this case contains the messages that are being
4025 The command should not remove the decompressed file. The command should
4026 return non-zero exit status if it fails, so mutt knows something's wrong.
4030 append-hook \\.gz$ "gzip -c %t >> %f"
4032 When append-hook is used, the folder is not opened, which saves time, but
4033 this means that we can not find out what the folder type is. Thus the
4034 default (mbox-type) type is always supposed (i.e. this is the format used
4035 for the temporary folder).
4037 If the file does not exist when you save to it, close-hook is called, and
4038 not append-hook. append-hook is only for appending to existing folders.
4040 If the command is empty, this operation is disabled for this file type. In
4041 this case, the folder will be open and closed again (using open-hook and
4042 close-hookrespectively) each time you will add to it.
4044 19.4. Encrypted folders
4046 The compressed folders support can also be used to handle encrypted
4047 folders. If you want to encrypt a folder with PGP, you may want to use the
4050 open-hook \\.pgp$ "pgp -f < %f > %t"
4051 close-hook \\.pgp$ "pgp -fe YourPgpUserIdOrKeyId < %t > %f"
4053 Please note, that PGP does not support appending to an encrypted folder,
4054 so there is no append-hook defined.
4056 Note: the folder is temporary stored decrypted in the /tmp directory,
4057 where it can be read by your system administrator. So think about the
4058 security aspects of this.
4060 Chapter 5. Mutt-ng's MIME Support
4064 1. Using MIME in Mutt
4066 1.1. Viewing MIME messages in the pager
4068 1.2. The Attachment Menu
4070 1.3. The Compose Menu
4072 2. MIME Type configuration with mime.types
4074 3. MIME Viewer configuration with mailcap
4076 3.1. The Basics of the mailcap file
4078 3.2. Secure use of mailcap
4080 3.3. Advanced mailcap Usage
4082 3.4. Example mailcap files
4086 5. MIME Multipart/Alternative
4090 Quite a bit of effort has been made to make Mutt-ng the premier text-mode
4091 MIME MUA. Every effort has been made to provide the functionality that the
4092 discerning MIME user requires, and the conformance to the standards
4093 wherever possible. When configuring Mutt-ng for MIME, there are two extra
4094 types of configuration files which Mutt-ng uses. One is the mime.types
4095 file, which contains the mapping of file extensions to IANA MIME types.
4096 The other is the mailcap file, which specifies the external commands to
4097 use for handling specific MIME types.
4099 1. Using MIME in Mutt
4101 There are three areas/menus in Mutt-ng which deal with MIME, they are the
4102 pager (while viewing a message), the attachment menu and the compose menu.
4104 1.1. Viewing MIME messages in the pager
4106 When you select a message from the index and view it in the pager, Mutt
4107 decodes the message to a text representation. Mutt-ng internally supports
4108 a number of MIME types, including text/plain, text/enriched,
4109 message/rfc822, and message/news. In addition, the export controlled
4110 version of Mutt-ng recognizes a variety of PGP MIME types, including
4111 PGP/MIME and application/pgp.
4113 Mutt-ng will denote attachments with a couple lines describing them. These
4114 lines are of the form:
4116 [-- Attachment #1: Description --]
4117 [-- Type: text/plain, Encoding: 7bit, Size: 10000 --]
4119 Where the Description is the description or filename given for the
4120 attachment, and the Encoding is one of
4121 7bit/8bit/quoted-printable/base64/binary.
4123 If Mutt-ng cannot deal with a MIME type, it will display a message like:
4125 [-- image/gif is unsupported (use 'v' to view this part) --]
4127 1.2. The Attachment Menu
4129 The default binding for view-attachments is `v', which displays the
4130 attachment menu for a message. The attachment menu displays a list of the
4131 attachments in a message. From the attachment menu, you can save, print,
4132 pipe, delete, and view attachments. You can apply these operations to a
4133 group of attachments at once, by tagging the attachments and by using the
4134 ``tag-prefix'' operator. You can also reply to the current message from
4135 this menu, and only the current attachment (or the attachments tagged)
4136 will be quoted in your reply. You can view attachments as text, or view
4137 them using the mailcap viewer definition.
4139 Finally, you can apply the usual message-related functions (like
4140 resend-message, and the reply and forward functions) to attachments of
4141 type message/rfc822.
4143 See the help on the attachment menu for more information.
4145 1.3. The Compose Menu
4147 The compose menu is the menu you see before you send a message. It allows
4148 you to edit the recipient list, the subject, and other aspects of your
4149 message. It also contains a list of the attachments of your message,
4150 including the main body. From this menu, you can print, copy, filter,
4151 pipe, edit, compose, review, and rename an attachment or a list of tagged
4152 attachments. You can also modifying the attachment information, notably
4153 the type, encoding and description.
4155 Attachments appear as follows:
4157 - 1 [text/plain, 7bit, 1K] /tmp/mutt-euler-8082-0 <no description>
4158 2 [applica/x-gunzip, base64, 422K] ~/src/mutt-0.85.tar.gz <no description>
4160 The '-' denotes that Mutt-ng will delete the file after sending (or
4161 postponing, or canceling) the message. It can be toggled with the
4162 toggle-unlink command (default: u). The next field is the MIME
4163 content-type, and can be changed with the edit-type command (default: ^T).
4164 The next field is the encoding for the attachment, which allows a binary
4165 message to be encoded for transmission on 7bit links. It can be changed
4166 with the edit-encoding command (default: ^E). The next field is the size
4167 of the attachment, rounded to kilobytes or megabytes. The next field is
4168 the filename, which can be changed with the rename-file command (default:
4169 R). The final field is the description of the attachment, and can be
4170 changed with the edit-description command (default: d).
4172 2. MIME Type configuration with mime.types
4174 When you add an attachment to your mail message, Mutt-ng searches your
4175 personal mime.types file at ${HOME}/.mime.types, and then the system
4176 mime.types file at /usr/local/share/mutt/mime.types or /etc/mime.types
4178 The mime.types file consist of lines containing a MIME type and a space
4179 separated list of extensions. For example:
4181 application/postscript ps eps
4183 audio/x-aiff aif aifc aiff
4185 A sample mime.types file comes with the Mutt-ng distribution, and should
4186 contain most of the MIME types you are likely to use.
4188 If Mutt-ng can not determine the mime type by the extension of the file
4189 you attach, it will look at the file. If the file is free of binary
4190 information, Mutt-ng will assume that the file is plain text, and mark it
4191 as text/plain. If the file contains binary information, then Mutt-ng will
4192 mark it as application/octet-stream. You can change the MIME type that
4193 Mutt-ng assigns to an attachment by using the edit-type command from the
4194 compose menu (default: ^T). The MIME type is actually a major mime type
4195 followed by the sub-type, separated by a '/'. 6 major types: application,
4196 text, image, video, audio, and model have been approved after various
4197 internet discussions. Mutt-ng recognises all of these if the appropriate
4198 entry is found in the mime.types file. It also recognises other major mime
4199 types, such as the chemical type that is widely used in the molecular
4200 modelling community to pass molecular data in various forms to various
4201 molecular viewers. Non-recognised mime types should only be used if the
4202 recipient of the message is likely to be expecting such attachments.
4204 3. MIME Viewer configuration with mailcap
4206 Mutt-ng supports RFC 1524 MIME Configuration, in particular the Unix
4207 specific format specified in Appendix A of RFC 1524. This file format is
4208 commonly referred to as the mailcap format. Many MIME compliant programs
4209 utilize the mailcap format, allowing you to specify handling for all MIME
4210 types in one place for all programs. Programs known to use this format
4211 include Netscape, XMosaic, lynx and metamail.
4213 In order to handle various MIME types that Mutt-ng can not handle
4214 internally, Mutt-ng parses a series of external configuration files to
4215 find an external handler. The default search string for these files is a
4216 colon delimited list set to
4218 ${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap
4220 where $HOME is your home directory.
4222 In particular, the metamail distribution will install a mailcap file,
4223 usually as /usr/local/etc/mailcap, which contains some baseline entries.
4225 3.1. The Basics of the mailcap file
4227 A mailcap file consists of a series of lines which are comments, blank, or
4230 A comment line consists of a # character followed by anything you want.
4232 A blank line is blank.
4234 A definition line consists of a content type, a view command, and any
4235 number of optional fields. Each field of a definition line is divided by a
4236 semicolon ';' character.
4238 The content type is specified in the MIME standard type/subtype method.
4239 For example, text/plain, text/html, image/gif, etc. In addition, the
4240 mailcap format includes two formats for wildcards, one using the special
4241 '*' subtype, the other is the implicit wild, where you only include the
4242 major type. For example, image/*, or video, will match all image types and
4243 video types, respectively.
4245 The view command is a Unix command for viewing the type specified. There
4246 are two different types of commands supported. The default is to send the
4247 body of the MIME message to the command on stdin. You can change this
4248 behavior by using %s as a parameter to your view command. This will cause
4249 Mutt-ng to save the body of the MIME message to a temporary file, and then
4250 call the view command with the %s replaced by the name of the temporary
4251 file. In both cases, Mutt-ng will turn over the terminal to the view
4252 program until the program quits, at which time Mutt will remove the
4253 temporary file if it exists.
4255 So, in the simplest form, you can send a text/plain message to the
4256 external pager more on stdin:
4260 Or, you could send the message as a file:
4264 Perhaps you would like to use lynx to interactively view a text/html
4269 In this case, lynx does not support viewing a file from stdin, so you must
4270 use the %s syntax. Note: Some older versions of lynx contain a bug where
4271 they will check the mailcap file for a viewer for text/html. They will
4272 find the line which calls lynx, and run it. This causes lynx to
4273 continuously spawn itself to view the object.
4275 On the other hand, maybe you don't want to use lynx interactively, you
4276 just want to have it convert the text/html to text/plain, then you can
4279 text/html; lynx -dump %s | more
4281 Perhaps you wish to use lynx to view text/html files, and a pager on all
4282 other text formats, then you would use the following:
4287 This is the simplest form of a mailcap file.
4289 3.2. Secure use of mailcap
4291 The interpretation of shell meta-characters embedded in MIME parameters
4292 can lead to security problems in general. Mutt-ng tries to quote
4293 parameters in expansion of %s syntaxes properly, and avoids risky
4294 characters by substituting them, see the mailcap-sanitize variable.
4296 Although mutt's procedures to invoke programs with mailcap seem to be
4297 safe, there are other applications parsing mailcap, maybe taking less care
4298 of it. Therefore you should pay attention to the following rules:
4300 Keep the %-expandos away from shell quoting. Don't quote them with single
4301 or double quotes. Mutt-ng does this for you, the right way, as should any
4302 other program which interprets mailcap. Don't put them into backtick
4303 expansions. Be highly careful with eval statements, and avoid them if
4304 possible at all. Trying to fix broken behaviour with quotes introduces new
4305 leaks - there is no alternative to correct quoting in the first place.
4307 If you have to use the %-expandos' values in context where you need
4308 quoting or backtick expansions, put that value into a shell variable and
4309 reference the shell variable where necessary, as in the following example
4310 (using $charset inside the backtick expansion is safe, since it is not
4311 itself subject to any further expansion):
4313 text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
4314 && test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1
4316 3.3. Advanced mailcap Usage
4318 3.3.1. Optional Fields
4320 In addition to the required content-type and view command fields, you can
4321 add semi-colon ';' separated fields to set flags and other options.
4322 Mutt-ng recognizes the following optional fields:
4326 This flag tells Mutt-ng that the command passes possibly large
4327 amounts of text on stdout. This causes Mutt-ng to invoke a pager
4328 (either the internal pager or the external pager defined by the
4329 pager variable) on the output of the view command. Without this
4330 flag, Mutt-ng assumes that the command is interactive. One could
4331 use this to replace the pipe to more in the lynx -dump example in
4334 text/html; lynx -dump %s ; copiousoutput
4336 This will cause lynx to format the text/html output as text/plain
4337 and Mutt-ng will use your standard pager to display the results.
4341 Mutt-ng uses this flag when viewing attachments with auto-view, in
4342 order to decide whether it should honor the setting of the
4343 wait-key variable or not. When an attachment is viewed using an
4344 interactive program, and the corresponding mailcap entry has a
4345 needsterminal flag, Mutt-ng will use wait-key and the exit status
4346 of the program to decide if it will ask you to press a key after
4347 the external program has exited. In all other situations it will
4348 not prompt you for a key.
4352 This flag specifies the command to use to create a new attachment
4353 of a specific MIME type. Mutt-ng supports this from the compose
4356 composetyped=<command>
4358 This flag specifies the command to use to create a new attachment
4359 of a specific MIME type. This command differs from the compose
4360 command in that mutt will expect standard MIME headers on the
4361 data. This can be used to specify parameters, filename,
4362 description, etc. for a new attachment. Mutt-ng supports this from
4367 This flag specifies the command to use to print a specific MIME
4368 type. Mutt-ng supports this from the attachment and compose menus.
4372 This flag specifies the command to use to edit a specific MIME
4373 type. Mutt-ng supports this from the compose menu, and also uses
4374 it to compose new attachments. Mutt-ng will default to the defined
4375 editor for text attachments.
4377 nametemplate=<template>
4379 This field specifies the format for the file denoted by %s in the
4380 command fields. Certain programs will require a certain file
4381 extension, for instance, to correctly view a file. For instance,
4382 lynx will only interpret a file as text/html if the file ends in
4383 .html. So, you would specify lynx as a text/html viewer with a
4384 line in the mailcap file like:
4386 text/html; lynx %s; nametemplate=%s.html
4390 This field specifies a command to run to test whether this mailcap
4391 entry should be used. The command is defined with the command
4392 expansion rules defined in the next section. If the command
4393 returns 0, then the test passed, and Mutt-ng uses this entry. If
4394 the command returns non-zero, then the test failed, and Mutt-ng
4395 continues searching for the right entry. Note: the content-type
4396 must match before Mutt-ng performs the test. For example:
4398 text/html; netscape -remote 'openURL(%s)' ; test=RunningX
4401 In this example, Mutt-ng will run the program RunningX which will
4402 return 0 if the X Window manager is running, and non-zero if it
4403 isn't. If RunningX returns 0, then Mutt-ng will call netscape to
4404 display the text/html object. If RunningX doesn't return 0, then
4405 Mutt-ng will go on to the next entry and use lynx to display the
4410 When searching for an entry in the mailcap file, Mutt-ng will search for
4411 the most useful entry for its purpose. For instance, if you are attempting
4412 to print an image/gif, and you have the following entries in your mailcap
4413 file, Mutt-ng will search for an entry with the print command:
4416 image/gif; ; print= anytopnm %s | pnmtops | lpr; \
4419 Mutt-ng will skip the image/* entry and use the image/gif entry with the
4422 In addition, you can use this with auto-view to denote two commands for
4423 viewing an attachment, one to be viewed automatically, the other to be
4424 viewed interactively from the attachment menu. In addition, you can then
4425 use the test feature to determine which viewer to use interactively
4426 depending on your environment.
4428 text/html; netscape -remote 'openURL(%s)' ; test=RunningX
4429 text/html; lynx %s; nametemplate=%s.html
4430 text/html; lynx -dump %s; nametemplate=%s.html; copiousoutput
4432 For auto-view, Mutt-ng will choose the third entry because of the
4433 copiousoutput tag. For interactive viewing, Mutt will run the program
4434 RunningX to determine if it should use the first entry. If the program
4435 returns non-zero, Mutt-ng will use the second entry for interactive
4438 3.3.3. Command Expansion
4440 The various commands defined in the mailcap files are passed to the
4441 /bin/sh shell using the system() function. Before the command is passed to
4442 /bin/sh -c, it is parsed to expand various special parameters with
4443 information from Mutt-ng. The keywords Mutt-ng expands are:
4447 As seen in the basic mailcap section, this variable is expanded to
4448 a filename specified by the calling program. This file contains
4449 the body of the message to view/print/edit or where the composing
4450 program should place the results of composition. In addition, the
4451 use of this keyword causes Mutt-ng to not pass the body of the
4452 message to the view/print/edit program on stdin.
4456 Mutt-ng will expand %t to the text representation of the content
4457 type of the message in the same form as the first parameter of the
4458 mailcap definition line, ie text/html or image/gif.
4462 Mutt-ng will expand this to the value of the specified parameter
4463 from the Content-Type: line of the mail message. For instance, if
4464 Your mail message contains:
4466 Content-Type: text/plain; charset=iso-8859-1
4468 then Mutt-ng will expand %{charset} to iso-8859-1. The default
4469 metamail mailcap file uses this feature to test the charset to
4470 spawn an xterm using the right charset to view the message.
4474 This will be replaced by a %
4476 Mutt-ng does not currently support the %F and %n keywords specified in RFC
4477 1524. The main purpose of these parameters is for multipart messages,
4478 which is handled internally by Mutt-ng.
4480 3.4. Example mailcap files
4482 This mailcap file is fairly simple and standard:
4485 # I'm always running X :)
4486 video/*; xanim %s > /dev/null
4487 image/*; xv %s > /dev/null
4489 # I'm always running netscape (if my computer had more memory, maybe)
4490 text/html; netscape -remote 'openURL(%s)'
4492 This mailcap file shows quite a number of examples:
4494 # Use xanim to view all videos Xanim produces a header on startup,
4495 # send that to /dev/null so I don't see it
4496 video/*; xanim %s > /dev/null
4498 # Send html to a running netscape by remote
4499 text/html; netscape -remote 'openURL(%s)'; test=RunningNetscape
4501 # If I'm not running netscape but I am running X, start netscape on the
4503 text/html; netscape %s; test=RunningX
4505 # Else use lynx to view it as text
4508 # This version would convert the text/html to text/plain
4509 text/html; lynx -dump %s; copiousoutput
4511 # I use enscript to print text in two columns to a page
4512 text/*; more %s; print=enscript -2Gr %s
4514 # Netscape adds a flag to tell itself to view jpegs internally
4515 image/jpeg;xv %s; x-mozilla-flags=internal
4517 # Use xv to view images if I'm running X
4518 # In addition, this uses the \ to extend the line and set my editor
4520 image/*;xv %s; test=RunningX; \
4523 # Convert images to text using the netpbm tools
4524 image/*; (anytopnm %s | pnmscale -xysize 80 46 | ppmtopgm | pgmtopbm |
4525 pbmtoascii -1x2 ) 2>&1 ; copiousoutput
4527 # Send excel spreadsheets to my NT box
4528 application/ms-excel; open.pl %s
4532 In addition to explicitly telling Mutt-ng to view an attachment with the
4533 MIME viewer defined in the mailcap file, Mutt-ng has support for
4534 automatically viewing MIME attachments while in the pager.
4536 To work, you must define a viewer in the mailcap file which uses the
4537 copiousoutput option to denote that it is non-interactive. Usually, you
4538 also use the entry to convert the attachment to a text representation
4539 which you can view in the pager.
4541 You then use the auto_view muttrc command to list the content-types that
4542 you wish to view automatically.
4544 For instance, if you set auto_view to:
4546 auto_view text/html application/x-gunzip application/postscript image/gif application/x-tar-gz
4548 Mutt-ng could use the following mailcap entries to automatically view
4549 attachments of these types.
4551 text/html; lynx -dump %s; copiousoutput; nametemplate=%s.html
4552 image/*; anytopnm %s | pnmscale -xsize 80 -ysize 50 | ppmtopgm | pgmtopbm | pbmtoascii ; copiousoutput
4553 application/x-gunzip; gzcat; copiousoutput
4554 application/x-tar-gz; gunzip -c %s | tar -tf - ; copiousoutput
4555 application/postscript; ps2ascii %s; copiousoutput
4557 ``unauto_view'' can be used to remove previous entries from the autoview
4558 list. This can be used with message-hook to autoview messages based on
4559 size, etc. ``unauto_view *'' will remove all previous entries.
4561 5. MIME Multipart/Alternative
4563 Mutt-ng has some heuristics for determining which attachment of a
4564 multipart/alternative type to display. First, mutt will check the
4565 alternative_order list to determine if one of the available types is
4566 preferred. The alternative_order list consists of a number of MIME types
4567 in order, including support for implicit and explicit wildcards, for
4570 alternative_order text/enriched text/plain text application/postscript image/*
4572 Next, mutt will check if any of the types have a defined auto-view, and
4573 use that. Failing that, Mutt-ng will look for any text type. As a last
4574 attempt, mutt will look for any type it knows how to handle.
4576 To remove a MIME type from the alternative_order list, use the
4577 unalternative_order command.
4581 Mutt-ng's mime_lookup list specifies a list of mime-types that should not
4582 be treated according to their mailcap entry. This option is designed to
4583 deal with binary types such as application/octet-stream. When an
4584 attachment's mime-type is listed in mime_lookup, then the extension of the
4585 filename will be compared to the list of extensions in the mime.types
4586 file. The mime-type associated with this extension will then be used to
4587 process the attachment according to the rules in the mailcap file and
4588 according to any other configuration options (such as auto_view)
4589 specified. Common usage would be:
4591 mime_lookup application/octet-stream application/X-Lotus-Manuscript
4593 In addition, the unmime_lookup command may be used to disable this feature
4594 for any particular mime-type if it had been set, for example, in a global
4597 Chapter 6. Security Considerations
4605 3. Information Leaks
4607 3.1. Message-ID: headers
4609 3.2. mailto:-style links
4611 4. External applications
4617 First of all, mutt-ng contains no security holes included by intention but
4618 may contain unknown security holes. As a consequence, please run mutt-ng
4619 only with as few permissions as possible.
4621 Please do not run mutt-ng as the super user.
4623 When configuring mutt-ng, there're some points to note about secure
4626 In practice, mutt-ng can be easily made as vulnerable as even the most
4627 insecure mail user agents (in their default configuration) just by
4628 changing mutt-ng's configuration files: it then can execute arbitrary
4629 programs and scripts attached to messages, send out private data on its
4630 own, etc. Although this is not believed to the common type of setup,
4631 please read this chapter carefully.
4635 Although mutt-ng can be told the various passwords for accounts, please
4636 never store passwords in configuration files. Besides the fact that the
4637 system's operator can always read them, you could forget to replace the
4638 actual password with asterisks when reporting a bug or asking for help
4639 via, for example, a mailing list so that your mail including your password
4640 could be archived by internet search engines, etc. Please never store
4645 Mutt-ng uses many temporary files for viewing messages, verifying digital
4646 signatures, etc. The umask variable can be used to change the default
4647 permissions of these files. Please only change it if you really know what
4648 you are doing. Also, a different location for these files may be desired
4649 which can be changed via the tmpdir variable.
4651 3. Information Leaks
4653 3.1. Message-ID: headers
4655 In the default configuration, mutt-ng will leak some information to the
4656 outside world when sending messages: the generation of Message-ID: headers
4657 includes a step counter which is increased (and rotated) with every
4658 message sent. If you'd like to hide this information probably telling
4659 others how many mail you sent in which time, you at least need to remove
4660 the %P expando from the default setting of the msgid-format variable.
4661 Please make sure that you really know how local parts of these Message-ID:
4662 headers are composed.
4664 3.2. mailto:-style links
4666 As mutt-ng be can be set up to be the mail client to handle mailto: style
4667 links in websites, there're security considerations, too. To keep the old
4668 behavior by default, mutt-ng will be strict in interpreting them which
4669 means that arbitrary header fields can be embedded in these links which
4670 could override existing header fields or attach arbitrary files. This may
4671 be problematic if the edit-headers variable is unset, i.e. the user
4672 doesn't want to see header fields while editing the message.
4674 For example, following a link like
4676 mailto:joe@host?Attach=~/.gnupg/secring.gpg
4678 will send out the user's private gnupg keyring to joe@host if the user
4679 doesn't follow the information on screen carefully enough.
4681 When unsetting the strict-mailto variable, mutt-ng will
4683 o be less strict when interpreting these links by prepending a X-Mailto-
4684 string to all header fields embedded in such a link and
4686 o turn on the edit-headers variable by force to let the user see all the
4687 headers (because they still may leak information.)
4689 4. External applications
4691 Mutt-ng in many places has to rely on external applications or for
4692 convenience supports mechanisms involving external applications.
4696 One of these is the mailcap mechanism as defined by RfC 1524. Mutt-ng can
4697 be set up to automatically execute any given utility as listed in one of
4698 the mailcap files (see the mailcap-path variable for details.)
4700 These utilities may have a variety of security vulnerabilities, including
4701 overwriting of arbitrary files, information leaks or other exploitable
4702 bugs. These vulnerabilities may go unnoticed by the user, especially when
4703 they are called automatically (and without interactive prompting) from the
4704 mailcap file(s). When using mutt-ng's autoview mechanism in combination
4705 with mailcap files, please be sure to...
4707 o manually select trustworth applications with a reasonable calling
4710 o periodically check the contents of mailcap files, especially after
4711 software installations or upgrades
4713 o keep the software packages referenced in the mailcap file up to date
4715 o leave the mailcap-sanitize variable in its default state to restrict
4716 mailcap expandos to a safe set of characters
4720 Besides the mailcap mechanism, mutt-ng uses a number of other external
4721 utilities for operation.
4723 The same security considerations apply for these as for tools involved via
4724 mailcap (for example, mutt-ng is vulnerable to Denial of Service Attacks
4725 with compressed folders support if the uncompressed mailbox is too large
4726 for the disk it is saved to.)
4728 As already noted, most of these problems are not built in but caused by
4729 wrong configuration, so please check your configuration.
4731 Chapter 7. Reference
4735 1. Command line options
4739 3. Configuration Commands
4741 4. Configuration variables
4767 1. Command line options
4769 Running mutt with no arguments will make Mutt-ng attempt to read your
4770 spool mailbox. However, it is possible to read other mailboxes and to send
4771 messages from the command line as well.
4774 -a attach a file to a message
4775 -b specify a blind carbon-copy (BCC) address
4776 -c specify a carbon-copy (Cc) address
4777 -e specify a config command to be run after initialization files are read
4778 -f specify a mailbox to load
4779 -F specify an alternate file to read initialization commands
4780 -h print help on command line options
4781 -H specify a draft file from which to read a header and body
4782 -i specify a file to include in a message composition
4783 -m specify a default mailbox type
4784 -n do not read the system Muttngrc
4785 -p recall a postponed message
4786 -Q query a configuration variable
4787 -R open mailbox in read-only mode
4788 -s specify a subject (enclose in quotes if it contains spaces)
4789 -t dump the value of all variables to stdout
4790 -T dump the value of all changed variables to stdout
4791 -v show version number and compile-time definitions
4792 -x simulate the mailx(1) compose mode
4793 -y show a menu containing the files specified by the mailboxes command
4794 -z exit immediately if there are no messages in the mailbox
4795 -Z open the first folder with new message,exit immediately if none
4797 To read messages in a mailbox
4799 mutt [ -nz ] [ -F muttrc ] [ -m type ] [ -f mailbox ]
4801 To compose a new message
4803 mutt [ -n ] [ -F muttrc ] [ -a file ] [ -c address ] [ -i filename ] [ -s
4804 subject ] address [ address ... ]
4806 Mutt-ng also supports a ``batch'' mode to send prepared messages. Simply
4807 redirect input from the file you wish to send. For example,
4809 mutt -s "data set for run #2" professor@bigschool.edu < ˜/run2.dat
4811 This command will send a message to ``professor@bigschool.edu'' with a
4812 subject of ``data set for run #2''. In the body of the message will be the
4813 contents of the file ``˜/run2.dat''.
4818 ~b EXPR messages which contain EXPR in the message body
4819 ~B EXPR messages which contain EXPR in the whole message
4820 ~c USER messages carbon-copied to USER
4821 ~C EXPR message is either to: or cc: EXPR
4823 ~d [MIN]-[MAX] messages with ``date-sent'' in a Date range
4825 ~e EXPR message which contains EXPR in the ``Sender'' field
4827 ~f USER messages originating from USER
4828 ~g cryptographically signed messages
4829 ~G cryptographically encrypted messages
4830 ~H EXPR messages with a spam attribute matching EXPR
4831 ~h EXPR messages which contain EXPR in the message header
4832 ~k message contains PGP key material
4833 ~i ID message which match ID in the ``Message-ID'' field
4834 ~L EXPR message is either originated or received by EXPR
4835 ~l message is addressed to a known mailing list
4836 ~m [MIN]-[MAX] message in the range MIN to MAX *)
4837 ~M multipart messages
4838 ~n [MIN]-[MAX] messages with a score in the range MIN to MAX *)
4841 ~p message is addressed to you (consults alternates)
4842 ~P message is from you (consults alternates)
4843 ~Q messages which have been replied to
4845 ~r [MIN]-[MAX] messages with ``date-received'' in a Date range
4846 ~S superseded messages
4847 ~s SUBJECT messages having SUBJECT in the ``Subject'' field.
4849 ~t USER messages addressed to USER
4851 ~v message is part of a collapsed thread.
4852 ~V cryptographically verified messages
4853 ~w EXPR messages which contain EXPR in the `Newsgroups' field
4854 (if compiled with NNTP support)
4855 ~x EXPR messages which contain EXPR in the `References' field
4856 ~y EXPR messages which contain EXPR in the `X-Label' field
4857 ~z [MIN]-[MAX] messages with a size in the range MIN to MAX *)
4858 ~= duplicated messages (see $duplicate_threads)
4859 ~$ unreferenced messages (requires threaded view)
4860 ~* ``From'' contains realname and (syntactically) valid
4861 address (excluded are addresses matching against
4862 alternates or any alias)
4864 Where EXPR, USER, ID, and SUBJECT are regexp. Special attention has to be
4865 made when using regular expressions inside of patterns. Specifically,
4866 Mutt-ng's parser for these patterns will strip one level of backslash (\),
4867 which is normally used for quoting. If it is your intention to use a
4868 backslash in the regular expression, you will need to use two backslashes
4871 *) The forms <[MAX], >[MIN], [MIN]- and -[MAX] are allowed, too.
4873 3. Configuration Commands
4875 The following are the commands understood by mutt.
4877 o account-hook pattern command
4879 o alias key address [ , address, ... ]
4881 o alias [ * | key ... ]
4883 o alternates regexp [ regexp ... ]
4885 o alternates [ * | regexp ... ]
4887 o alternative-order mimetype [ mimetype ... ]
4889 o alternative-order mimetype [ mimetype ... ]
4891 o append-hook regexp command
4893 o auto-view mimetype [ mimetype ... ]
4895 o auto-view mimetype [ mimetype ... ]
4897 o bind map key function
4899 o charset-hook alias charset
4901 o close-hook regexp command
4903 o color object foreground background [ regexp ]
4905 o color index pattern [ pattern ... ]
4907 o exec function [ function ... ]
4909 o fcc-hook pattern mailbox
4911 o fcc-save-hook pattern mailbox
4913 o folder-hook pattern command
4915 o hdr-order header [ header ... ]
4917 o hdr-order header [ header ... ]
4919 o charset-hook charset local-charset
4921 o ignore pattern [ pattern ... ]
4923 o ignore pattern [ pattern ... ]
4925 o lists regexp [ regexp ... ]
4927 o lists regexp [ regexp ... ]
4929 o macro menu key sequence [ description ]
4931 o mailboxes filename [ filename ... ]
4933 o mbox-hook pattern mailbox
4935 o message-hook pattern command
4937 o mime-lookup mimetype [ mimetype ... ]
4939 o mime-lookup mimetype [ mimetype ... ]
4941 o color object attribute [ regexp ]
4943 o color index pattern [ pattern ... ]
4947 o my-hdr field [ field ... ]
4949 o open-hook regexp command
4951 o crypt-hook pattern key-id
4955 o set variable [variable ... ]
4957 o save-hook regexp filename
4959 o score-command pattern value
4961 o score-command pattern [ pattern ... ]
4963 o send-hook regexp command
4965 o reply-hook regexp command
4967 o set [no|inv]variable[=value] [ variable ... ]
4969 o set variable [variable ... ]
4973 o spam pattern format
4977 o lists regexp [ regexp ... ]
4979 o lists regexp [ regexp ... ]
4981 o set variable [variable ... ]
4985 4. Configuration variables
4987 The following list contains all variables which, in the process of
4988 providing more consistency, have been renamed and are partially even
4989 removed already. The left column contains the old synonym variables, the
4990 right column the full/new name:
4992 edit_hdrs edit_headers
4993 forw_decode forward_decode
4994 forw_format forward_format
4995 forw_quote forward_quote
4996 hdr_format index_format
4997 indent_str indent_string
4998 mime_fwd mime_forward
4999 msg_format message_format
5000 pgp_autosign crypt_autosign
5001 pgp_autoencrypt crypt_autoencrypt
5002 pgp_replyencrypt crypt_replyencrypt
5003 pgp_replysign crypt_replysign
5004 pgp_replysignencrypted crypt_replysignencrypted
5005 pgp_verify_sig crypt_verify_sig
5006 pgp_create_traditional pgp_autoinline
5007 pgp_auto_traditional pgp_replyinline
5008 forw_decrypt forward_decrypt
5009 smime_sign_as smime_default_key
5010 post_indent_str post_indent_string
5011 print_cmd print_command
5012 shorten_hierarchy sidebar_shorten_hierarchy
5013 ask_followup_to nntp_ask_followup_to
5014 ask_x_comment_to nntp_ask_x_comment_to
5015 catchup_newsgroup nntp_catchup
5016 followup_to_poster nntp_followup_to_poster
5017 group_index_format nntp_group_index_format
5019 mime_subject nntp_mime_subject
5020 news_cache_dir nntp_cache_dir
5021 news_server nntp_host
5023 nntp_poll nntp_mail_check
5024 pop_checkinterval pop_mail_check
5025 post_moderated nntp_post_moderated
5026 save_unsubscribed nntp_save_unsubscribed
5027 show_new_news nntp_show_new_news
5028 show_only_unread nntp_show_only_unread
5029 x_comment_to nntp_x_comment_to
5030 smtp_auth_username smtp_user
5031 smtp_auth_password smtp_pass
5033 The contrib subdirectory contains a script named update-config.pl which
5036 A complete list of current variables follows.
5044 This variable specifies whether to abort sending if no attachment was made
5045 but the content references them, i.e. the content matches the regular
5046 expression given in $attach_remind_regexp. If a match was found and this
5047 variable is set to yes, message sending will be aborted but the mail will
5048 be send nevertheless if set to no.
5050 This variable and $attach_remind_regexp are intended to remind the user to
5051 attach files if the message's text references them.
5053 See also the $attach_remind_regexp variable.
5061 If set to yes, when composing messages and no subject is given at the
5062 subject prompt, composition will be aborted. If set to no, composing
5063 messages with no subject given at the subject prompt will never be
5072 If set to yes, composition will automatically abort after editing the
5073 message body if no changes are made to the file (this check only happens
5074 after the first edit of the file). When set to no, composition will never
5083 When set, Mutt-ng will add a ``User-Agent:'' header to outgoing messages,
5084 indicating which version of Mutt-ng was used for composing them.
5090 Default: "˜/.muttngrc"
5092 The default file in which to save aliases created by the ``create-alias''
5095 Note: Mutt-ng will not automatically source this file; you must explicitly
5096 use the `` source'' command for it to be executed.
5102 Default: "%4n %2f %t %-10a %r"
5104 Specifies the format of the data displayed for the ``alias'' menu. The
5105 following printf(3)-style sequences are available:
5113 flags - currently, a "d" for an alias marked for deletion
5121 address which alias expands to
5125 character which indicates if the alias is tagged for inclusion
5133 Controls whether 8-bit data is converted to 7-bit using either
5134 quoted-printable or base64 encoding when sending mail.
5142 Controls whether ANSI color codes in messages (and color tags in rich text
5143 messages) are to be interpreted. Messages containing these codes are rare,
5144 but if this option is set, their text will be colored accordingly. Note
5145 that this may override your color choices, and even present a security
5146 problem, since a message could include a line like ``[-- PGP output
5147 follows ..." and give it the same color as your attachment color.
5155 When set, an arrow (``->'') will be used to indicate the current entry in
5156 menus instead of highlighting the whole line. On slow network or modem
5157 links this will make response faster because there is less that has to be
5158 redrawn on the screen when moving to the next or previous entries in the
5167 If set, Mutt-ng will use plain ASCII characters when displaying thread and
5168 attachment trees, instead of the default ACS characters.
5176 If set, Mutt-ng will prompt you for blind-carbon-copy (Bcc) recipients
5177 before editing an outgoing message.
5185 If set, Mutt-ng will prompt you for carbon-copy (Cc) recipients before
5186 editing the body of an outgoing message.
5194 This variable is a colon-separated list of character encoding schemes for
5195 messages without character encoding indication. Header field values and
5196 message body content without character encoding indication would be
5197 assumed that they are written in one of this list. By default, all the
5198 header fields and message body without any charset indication are assumed
5201 For example, Japanese users might prefer this:
5203 set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
5205 However, only the first content is valid for the message body. This
5206 variable is valid only if $strict_mime is unset.
5212 Default: "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "
5214 This variable describes the format of the ``attachment'' menu. The
5215 following printf(3)-style sequences are understood:
5223 requires charset conversion (n or c)
5235 MIME Content-Transfer-Encoding: header field
5243 MIME Content-Disposition: header field (I=inline, A=attachment)
5267 graphic tree characters
5271 unlink (=to delete) flag
5275 right justify the rest of the string and pad with character "X"
5279 pad to the end of the line with character "X"
5281 15. attach_remind_regexp
5283 Type: regular expression
5287 If this variable is non-empty, muttng will scan a message's contents
5288 before sending for this regular expression. If it is found, it will ask
5289 for what to do depending on the setting of $abort_noattach.
5291 This variable and $abort_noattach are intended to remind the user to
5292 attach files if the message's text references them.
5300 The separator to add between attachments when operating (saving, printing,
5301 piping, etc) on a list of tagged attachments.
5309 If this variable is unset, when operating (saving, printing, piping, etc)
5310 on a list of tagged attachments, Mutt-ng will concatenate the attachments
5311 and will operate on them as a single attachment. The ``$attach_sep''
5312 separator is added after each attachment. When set, Mutt-ng will operate
5313 on the attachments one by one.
5319 Default: "On %d, %n wrote:"
5321 This is the string that will precede a message which has been included in
5322 a reply. For a full listing of defined printf(3)-like sequences see the
5323 section on ``$index_format''.
5331 When set, functions in the index menu which affect a message will be
5332 applied to all tagged messages (if there are any). When unset, you must
5333 first use the ``tag-prefix'' function (default: ";") to make the next
5334 function apply to all tagged messages.
5342 When set along with ``$edit_headers'', Mutt-ng will skip the initial
5343 send-menu and allow you to immediately begin editing the body of your
5344 message. The send-menu may still be accessed once you have finished
5345 editing the body of your message.
5347 Also see ``$fast_reply''.
5355 When this variable is set, Mutt-ng will beep when an error occurs.
5363 When this variable is set, Mutt-ng will beep whenever it prints a message
5364 notifying you of new mail. This is independent of the setting of the
5373 Controls whether you will be asked to confirm bouncing messages. If set to
5374 yes you don't get asked if you want to bounce a message. Setting this
5375 variable to no is not generally useful, and thus not recommended, because
5376 you are unable to bounce messages.
5378 24. bounce_delivered
5384 When this variable is set, Mutt-ng will include Delivered-To: header
5385 fields when bouncing messages. Postfix users may wish to unset this
5388 25. braille_friendly
5394 When this variable is set, mutt will place the cursor at the beginning of
5395 the current line in menus, even when the arrow_cursor variable is unset,
5396 making it easier for blind persons using Braille displays to follow these
5397 menus. The option is disabled by default because many visual terminals
5398 don't permit making the cursor invisible.
5400 26. certificate_file
5404 Default: "˜/.mutt_certificates"
5406 Availability: SSL or GNUTLS
5408 This variable specifies the file where the certificates you trust are
5409 saved. When an unknown certificate is encountered, you are asked if you
5410 accept it or not. If you accept it, the certificate can also be saved in
5411 this file and further connections are automatically accepted.
5413 You can also manually add CA certificates in this file. Any server
5414 certificate that is signed with one of these CA certificates are also
5415 automatically accepted.
5417 Example: set certificate_file=˜/.muttng/certificates
5425 Character set your terminal uses to display and enter textual data.
5433 Note: this option only affects maildir and MH style mailboxes.
5435 When set, Mutt-ng will check for new mail delivered while the mailbox is
5436 open. Especially with MH mailboxes, this operation can take quite some
5437 time since it involves scanning the directory and checking each file to
5438 see if it has already been looked at. If it's unset, no check for new mail
5439 is performed while the mailbox is open.
5447 When unset, Mutt-ng will not collapse a thread if it contains any unread
5454 Default: "-- Mutt-ng: Compose [Approx. msg size: %l Atts: %a]%>-"
5456 Controls the format of the status line displayed in the ``compose'' menu.
5457 This string is similar to ``$status_format'', but has its own set of
5458 printf(3)-like sequences:
5462 total number of attachments
5470 approximate size (in bytes) of the current message
5474 Mutt-ng version string
5476 See the text describing the ``$status_format'' option for more information
5477 on how to set ``$compose_format''.
5485 When defined, Mutt-ng will recode commands in rc files from this encoding.
5493 When set, Mutt-ng will prompt for confirmation when appending messages to
5494 an existing mailbox.
5502 When set, Mutt-ng will prompt for confirmation when saving messages to a
5503 mailbox which does not yet exist before creating it.
5511 Causes Mutt-ng to timeout a network connection (for IMAP or POP) after
5512 this many seconds if the connection is not able to be established. A
5513 negative value causes Mutt-ng to wait indefinitely for the connection to
5520 Default: "text/plain"
5522 Sets the default Content-Type: header field for the body of newly composed
5531 This variable controls whether or not copies of your outgoing messages
5532 will be saved for later references. Also see ``$record'', ``$save_name'',
5533 ``$force_name'' and ``fcc-hook''.
5535 37. crypt_autoencrypt
5541 Setting this variable will cause Mutt-ng to always attempt to PGP encrypt
5542 outgoing messages. This is probably only useful in connection to the
5543 send-hook command. It can be overridden by use of the pgp-menu, when
5544 encryption is not required or signing is requested as well. If
5545 ``$smime_is_default'' is set, then OpenSSL is used instead to create
5546 S/MIME messages and settings can be overridden by use of the smime-menu.
5555 This variable controls whether or not Mutt-ng may automatically enable PGP
5556 encryption/signing for messages. See also ``$crypt_autoencrypt'',
5557 ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
5558 ``$smime_is_default''.
5566 Setting this variable will cause Mutt-ng to always attempt to
5567 cryptographically sign outgoing messages. This can be overridden by use of
5568 the pgp-menu, when signing is not required or encryption is requested as
5569 well. If ``$smime_is_default'' is set, then OpenSSL is used instead to
5570 create S/MIME messages and settings can be overridden by use of the
5571 smime-menu. (Crypto only)
5579 This variable controls whether or not Mutt-ng may automatically enable
5580 S/MIME encryption/signing for messages. See also ``$crypt_autoencrypt'',
5581 ``$crypt_replyencrypt'', ``$crypt_autosign'', ``$crypt_replysign'' and
5582 ``$smime_is_default''.
5584 41. crypt_replyencrypt
5590 If set, automatically PGP or OpenSSL encrypt replies to messages which are
5591 encrypted. (Crypto only)
5599 If set, automatically PGP or OpenSSL sign replies to messages which are
5602 Note: this does not work on messages that are encrypted and signed!
5605 43. crypt_replysignencrypted
5611 If set, automatically PGP or OpenSSL sign replies to messages which are
5612 encrypted. This makes sense in combination with ``$crypt_replyencrypt'',
5613 because it allows you to sign all messages which are automatically
5614 encrypted. This works around the problem noted in ``$crypt_replysign'',
5615 that Mutt-ng is not able to find out whether an encrypted message is also
5616 signed. (Crypto only)
5624 If set, Mutt-ng will include a time stamp in the lines surrounding PGP or
5625 S/MIME output, so spoofing such lines is more difficult. If you are using
5626 colors to mark these lines, and rely on these, you may unset this setting.
5635 This variable controls the use the GPGME enabled crypto backends. If it is
5636 set and Mutt-ng was build with gpgme support, the gpgme code for S/MIME
5637 and PGP will be used instead of the classic code.
5639 Note: You need to use this option in your .muttngrc configuration file as
5640 it won't have any effect when used interactively.
5642 46. crypt_verify_sig
5648 If ``yes'', always attempt to verify PGP or S/MIME signatures. If ``ask'',
5649 ask whether or not to verify the signature. If ``no'', never attempt to
5650 verify cryptographic signatures. (Crypto only)
5656 Default: "!%a, %b %d, %Y at %I:%M:%S%p %Z"
5658 This variable controls the format of the date printed by the ``%d''
5659 sequence in ``$index_format''. This is passed to strftime(3) to process
5662 Unless the first character in the string is a bang (``!''), the month and
5663 week day names are expanded according to the locale specified in the
5664 variable ``$locale''. If the first character in the string is a bang, the
5665 bang is discarded, and the month and week day names in the rest of the
5666 string are expanded in the C locale (that is in US English).
5676 This variable specifies the current debug level and may be used to
5677 increase or decrease the verbosity level during runtime. It overrides the
5678 level given with the -d command line option.
5680 Currently, this number must be >= 0 and <= 5 and muttng must be started
5681 with -d to enable debugging at all; enabling at runtime is not possible.
5687 Default: "˜f %s !˜P | (˜P ˜C %s)"
5689 This variable controls how send-hooks, message-hooks, save-hooks, and
5690 fcc-hooks will be interpreted if they are specified with only a simple
5691 regexp, instead of a matching pattern. The hooks are expanded when they
5692 are declared, so a hook will be interpreted according to the value of this
5693 variable at the time the hook is declared. The default value matches if
5694 the message is either from a user matching the regular expression given,
5695 or if it is from you (if the from address matches ``alternates'') and is
5696 to or cc'ed to a user matching the given regular expression.
5704 Controls whether or not messages are really deleted when closing or
5705 synchronizing a mailbox. If set to yes, messages marked for deleting will
5706 automatically be purged without prompting. If set to no, messages marked
5707 for deletion will be kept in the mailbox.
5715 When sending messages with format=flowed by setting the $text_flowed
5716 variable, this variable specifies whether to also set the DelSp parameter
5717 to yes. If this is unset, no additional parameter will be send as a value
5718 of no already is the default behavior.
5720 Note: this variable only has an effect on outgoing messages (if
5721 $text_flowed is set) but not on incomming.
5729 If this option is set, Mutt-ng will untag messages when marking them for
5730 deletion. This applies when you either explicitly delete a message, or
5731 when you save it to another folder.
5739 If this option is set, Mutt-ng's received-attachments menu will not show
5740 the subparts of individual messages in a multipart/digest. To see these
5741 subparts, press 'v' on that menu.
5749 When set, specifies a command used to filter messages. When a message is
5750 viewed it is passed as standard input to $display_filter, and the filtered
5751 message is read from the standard output.
5757 Default: "$muttng_bindir/muttng_dotlock"
5759 Availability: Standalone and Dotlock
5761 Contains the path of the muttng_dotlock(1) binary to be used by Mutt-ng.
5769 Note: you should not enable this unless you are using Sendmail 8.8.x or
5770 greater or in connection with the SMTP support via libESMTP.
5772 This variable sets the request for when notification is returned. The
5773 string consists of a comma separated list (no spaces!) of one or more of
5774 the following: never, to never request notification, failure, to request
5775 notification on transmission failure, delay, to be notified of message
5776 delays, success, to be notified of successful transmission.
5778 Example: set dsn_notify="failure,delay"
5786 Note: you should not enable this unless you are using Sendmail 8.8.x or
5787 greater or in connection with the SMTP support via libESMTP.
5789 This variable controls how much of your message is returned in DSN
5790 messages. It may be set to either hdrs to return just the message header,
5791 or full to return the full message.
5793 Example: set dsn_return=hdrs
5795 58. duplicate_threads
5801 This variable controls whether Mutt-ng, when sorting by threads, threads
5802 messages with the same Message-Id: header field together. If it is set, it
5803 will indicate that it thinks they are duplicates of each other with an
5804 equals sign in the thread diagram.
5812 This option allows you to edit the header of your outgoing messages along
5813 with the body of your message.
5815 Which empty header fields to show is controlled by the $editor_headers
5824 This variable specifies which editor is used by Mutt-ng. It defaults to
5825 the value of the $VISUAL, or $EDITOR, environment variable, or to the
5826 string "vi" if neither of those are set.
5832 Default: "From: To: Cc: Bcc: Subject: Reply-To: Newsgroups: Followup-To:
5835 If $edit_headers is set, this space-separated list specifies which
5836 non-empty header fields to edit in addition to user-defined headers.
5838 Note: if $edit_headers had to be turned on by force because $strict_mailto
5839 is unset, this option has no effect.
5847 When set, Mutt-ng will quoted-printable encode messages when they contain
5848 the string ``From '' (note the trailing space) in the beginning of a line.
5849 Useful to avoid the tampering certain mail delivery and transport agents
5850 tend to do with messages.
5852 Note: as mutt-ng currently violates RfC3676 defining format=flowed, it's
5853 <em/strongly/ advised to set this option although discouraged by the
5854 standard. Alternatively, you must take care of space-stuffing <tt/From /
5855 lines (with a trailing space) yourself.
5865 The file which includes random data that is used to initialize SSL library
5874 When set, Mutt-ng will try to derive the message's envelope sender from
5875 the ``From:'' header field. Note that this information is passed to the
5876 sendmail command using the ``-f" command line switch, so don't set this
5877 option if you are using that switch in $sendmail yourself, or if the
5878 sendmail on your machine doesn't support that command line switch.
5886 Escape character to use for functions in the builtin editor.
5894 When set, the initial prompt for recipients and subject are skipped when
5895 replying to messages, and the initial prompt for subject is skipped when
5896 forwarding messages.
5898 Note: this variable has no effect when the ``$autoedit'' variable is set.
5906 This variable controls whether or not attachments on outgoing messages are
5907 saved along with the main body of your message.
5915 When this variable is set, FCCs will be stored unencrypted and unsigned,
5916 even when the actual message is encrypted and/or signed. (PGP only)
5924 This variable is a colon-separated list of character encoding schemes for
5925 text file attatchments. If unset, $charset value will be used instead. For
5926 example, the following configuration would work for Japanese text
5929 set file_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
5931 Note: ``iso-2022-*'' must be put at the head of the value as shown above
5940 Specifies the default location of your mailboxes. A ``+'' or ``='' at the
5941 beginning of a pathname will be expanded to the value of this variable.
5942 Note that if you change this variable from the default value you need to
5943 make sure that the assignment occurs before you use ``+'' or ``='' for any
5944 other variables since expansion takes place during the ``set'' command.
5950 Default: "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"
5952 This variable allows you to customize the file browser display to your
5953 personal taste. This string is similar to ``$index_format'', but has its
5954 own set of printf(3)-like sequences:
5962 date/time folder was last modified
5974 group name (or numeric gid, if missing)
5978 number of hard links
5982 N if folder has new mail, blank otherwise
5990 * if the file is tagged, blank otherwise
5994 owner name (or numeric uid, if missing)
5998 right justify the rest of the string and pad with character "X"
6002 pad to the end of the line with character "X"
6010 Controls whether or not the Mail-Followup-To: header field is generated
6011 when sending mail. When set, Mutt-ng will generate this field when you are
6012 replying to a known mailing list, specified with the ``subscribe'' or
6013 ``lists'' commands or detected by common mailing list headers.
6015 This field has two purposes. First, preventing you from receiving
6016 duplicate copies of replies to messages which you send to mailing lists.
6017 Second, ensuring that you do get a reply separately for any messages sent
6018 to known lists to which you are not subscribed. The header will contain
6019 only the list's address for subscribed lists, and both the list address
6020 and your own email address for unsubscribed lists. Without this header, a
6021 group reply to your message sent to a subscribed list will be sent to both
6022 the list and your address, resulting in two copies of the same email for
6025 73. force_buffy_check
6031 When set, it causes Mutt-ng to check for new mail when the buffy-list
6032 command is invoked. When unset, buffy_list will just list all mailboxes
6033 which are already known to have new mail.
6035 Also see the following variables: ``$timeout'', ``$mail_check'' and
6036 ``$imap_mail_check''.
6044 This variable is similar to ``$save_name'', except that Mutt-ng will store
6045 a copy of your outgoing message by the username of the address you are
6046 sending to even if that mailbox does not exist.
6048 Also see the ``$record'' variable.
6056 Controls the decoding of complex MIME messages into text/plain when
6057 forwarding a message. The message header is also RFC2047 decoded. This
6058 variable is only used, if ``$mime_forward'' is unset, otherwise
6059 ``$mime_forward_decode'' is used instead.
6067 Controls the handling of encrypted messages when forwarding a message.
6068 When set, the outer layer of encryption is stripped off. This variable is
6069 only used if ``$mime_forward'' is set and ``$mime_forward_decode'' is
6078 This quadoption controls whether or not the user is automatically placed
6079 in the editor when forwarding messages. For those who always want to
6080 forward with no modification, use a setting of no.
6088 This variable controls the default subject when forwarding a message. It
6089 uses the same format sequences as the ``$index_format'' variable.
6097 When set forwarded messages included in the main body of the message (when
6098 ``$mime_forward'' is unset) will be quoted using ``$indent_string''.
6102 Type: e-mail address
6106 This variable contains a default from address. It can be overridden using
6107 my_hdr (including from send-hooks) and ``$reverse_name''. This variable is
6108 ignored if ``$use_from'' is unset.
6110 E.g. you can use send-hook Mutt-ng-devel@lists.berlios.de 'my_hdr From:
6111 Foo Bar <foo@bar.fb>' when replying to the mutt-ng developer's mailing
6112 list and Mutt-ng takes this email address.
6114 Defaults to the contents of the environment variable $EMAIL.
6118 Type: regular expression
6122 A regular expression used by Mutt-ng to parse the GECOS field of a
6123 password entry when expanding the alias. By default the regular expression
6124 is set to ``^[^,]*'' which will return the string up to the first ``,''
6125 encountered. If the GECOS field contains a string like "lastname,
6126 firstname" then you should do: set gecos_mask=".*".
6128 This can be useful if you see the following behavior: you address a e-mail
6129 to user ID stevef whose full name is Steve Franklin. If Mutt-ng expands
6130 stevef to ``Franklin'' stevef@foo.bar then you should set the gecos_mask
6131 to a regular expression that will match the whole name so Mutt-ng will
6132 expand ``Franklin'' to ``Franklin, Steve''.
6140 When unset, the header fields normally added by the ``my_hdr'' command are
6141 not created. This variable must be unset before composing a new message or
6142 replying in order to take effect. If set, the user defined header fields
6143 are added to every new message.
6151 When set, this variable causes Mutt-ng to include the header of the
6152 message you are replying to into the edit buffer. The ``$weed'' setting
6161 Availability: Header Cache
6163 The $header_cache variable points to the header cache database.
6165 If $header_cache points to a directory it will contain a header cache
6166 database per folder. If $header_cache points to a file that file will be a
6167 single global header cache. By default it is unset so no header caching
6170 85. header_cache_compress
6176 If enabled the header cache will be compressed. So only one fifth of the
6177 usual diskspace is used, but the uncompression can result in a slower open
6178 of the cached folder.
6186 When set, help lines describing the bindings for the major functions
6187 provided by each menu are displayed on the first line of the screen.
6189 Note: The binding will not be displayed correctly if the function is bound
6190 to a sequence rather than a single keystroke. Also, the help line may not
6191 be updated if a binding is changed while Mutt-ng is running. Since this
6192 variable is primarily aimed at new users, neither of these should present
6201 When set, Mutt-ng will skip the host name part of ``$hostname'' variable
6202 when adding the domain part to addresses. This variable does not affect
6203 the generation of Message-ID: header fields, and it will not lead to the
6204 cut-off of first-level domains.
6212 When set, Mutt-ng will not show the presence of messages that are hidden
6213 by limiting, in the thread tree.
6221 When set, Mutt-ng will not show the presence of missing messages in the
6224 90. hide_thread_subject
6230 When set, Mutt-ng will not show the subject of messages in the thread tree
6231 that have the same subject as their parent or closest previously displayed
6234 91. hide_top_limited
6240 When set, Mutt-ng will not show the presence of messages that are hidden
6241 by limiting, at the top of threads in the thread tree. Note that when
6242 $hide_missing is set, this option will have no effect.
6244 92. hide_top_missing
6250 When set, Mutt-ng will not show the presence of missing messages at the
6251 top of threads in the thread tree. Note that when $hide_limited is set,
6252 this option will have no effect.
6260 This variable controls the size (in number of strings remembered) of the
6261 string history buffer. The buffer is cleared each time the variable is
6264 94. honor_followup_to
6270 This variable controls whether or not a Mail-Followup-To: header field is
6271 honored when group-replying to a message.
6279 Specifies the hostname to use after the ``@'' in local e-mail addresses
6280 and during generation of Message-Id: headers.
6282 Please be sure to really know what you are doing when changing this
6283 variable to configure a custom domain part of Message-IDs.
6285 96. ignore_list_reply_to
6291 Affects the behaviour of the reply function when replying to messages from
6292 mailing lists. When set, if the ``Reply-To:'' header field is set to the
6293 same value as the ``To:'' header field, Mutt-ng assumes that the
6294 ``Reply-To:'' header field was set by the mailing list to automate
6295 responses to the list, and will ignore this field. To direct a response to
6296 the mailing list when this option is set, use the list-reply function;
6297 group-reply will reply to both the sender and the list.
6299 97. imap_authenticators
6307 This is a colon-delimited list of authentication methods Mutt-ng may
6308 attempt to use to log in to an IMAP server, in the order Mutt-ng should
6309 try them. Authentication methods are either ``login'' or the right side of
6310 an IMAP ``AUTH='' capability string, e.g. ``digest-md5'', ``gssapi'' or
6311 ``cram-md5''. This parameter is case-insensitive.
6313 If this parameter is unset (the default) Mutt-ng will try all available
6314 methods, in order from most-secure to least-secure.
6316 Example: set imap_authenticators="gssapi:cram-md5:login"
6318 Note: Mutt-ng will only fall back to other authentication methods if the
6319 previous methods are unavailable. If a method is available but
6320 authentication fails, Mutt-ng will not connect to the IMAP server.
6322 98. imap_check_subscribed
6328 When set, mutt will fetch the set of subscribed folders from your server
6329 on connection, and add them to the set of mailboxes it polls for new mail.
6330 See also the ``mailboxes'' command.
6332 99. imap_delim_chars
6340 This contains the list of characters which you would like to treat as
6341 folder separators for displaying IMAP paths. In particular it helps in
6342 using the '=' shortcut for your $folder variable.
6352 Mutt-ng requests these header fields in addition to the default headers
6353 (``DATE FROM SUBJECT TO CC MESSAGE-ID REFERENCES CONTENT-TYPE
6354 CONTENT-DESCRIPTION IN-REPLY-TO REPLY-TO LINES X-LABEL'') from IMAP
6355 servers before displaying the ``index'' menu. You may want to add more
6356 headers for spam detection.
6358 Note: This is a space separated list.
6360 101. imap_home_namespace
6368 You normally want to see your personal folders alongside your INBOX in the
6369 IMAP browser. If you see something else, you may set this variable to the
6370 IMAP path to your folders.
6380 This variable specifies the maximum amount of time in seconds that Mutt-ng
6381 will wait before polling open IMAP connections, to prevent the server from
6382 closing them before Mutt-ng has finished with them.
6384 The default is well within the RFC-specified minimum amount of time (30
6385 minutes) before a server is allowed to do this, but in practice the RFC
6386 does get violated every now and then.
6388 Reduce this number if you find yourself getting disconnected from your
6389 IMAP server due to inactivity.
6391 103. imap_list_subscribed
6399 This variable configures whether IMAP folder browsing will look for only
6400 subscribed folders or all folders. This can be toggled in the IMAP browser
6401 with the toggle-subscribed function.
6411 Your login name on the IMAP server.
6413 This variable defaults to the value of ``$imap_user.''
6415 105. imap_mail_check
6421 This variable configures how often (in seconds) Mutt-ng should look for
6422 new mail in IMAP folders. This is split from the ``mail_check'' variable
6423 to generate less traffic and get more accurate information for local
6434 Specifies the password for your IMAP account. If unset, Mutt-ng will
6435 prompt you for your password when you invoke the fetch-mail function.
6437 Warning: you should only use this option when you are on a fairly secure
6438 machine, because the superuser can read your configuration even if you are
6439 the only one who can read the file.
6449 When set, Mutt-ng will not open new IMAP connections to check for new
6450 mail. Mutt-ng will only check for new mail over existing IMAP connections.
6451 This is useful if you don't want to be prompted to user/password pairs on
6452 Mutt-ng invocation, or if opening the connection is slow.
6462 If set, Mutt-ng will avoid implicitly marking your mail as read whenever
6463 you fetch a message from the server. This is generally a good thing, but
6464 can make closing an IMAP folder somewhat slower. This option exists to
6465 appease speed freaks.
6475 Controls whether or not Mutt-ng will try to reconnect to IMAP server when
6476 the connection is lost.
6478 110. imap_servernoise
6486 When set, Mutt-ng will display warning messages from the IMAP server as
6487 error messages. Since these messages are often harmless, or generated due
6488 to configuration problems on the server which are out of the users' hands,
6489 you may wish to suppress them at some point.
6499 The name of the user whose mail you intend to access on the IMAP server.
6501 This variable defaults to your user name on the local machine.
6503 112. implicit_autoview
6509 If set, Mutt-ng will look for a mailcap entry with the ``copiousoutput''
6510 flag set for every MIME attachment it doesn't have an internal viewer
6511 defined for. If such an entry is found, Mutt-ng will use the viewer
6512 defined in that entry to convert the body part to text form.
6520 Controls whether or not a copy of the message(s) you are replying to is
6521 included in your reply.
6523 114. include_onlyfirst
6529 Controls whether or not Mutt-ng includes only the first attachment of the
6530 message you are replying.
6538 Specifies the string to prepend to each line of text quoted in a message
6539 to which you are replying. You are strongly encouraged not to change this
6540 value, as it tends to agitate the more fanatical netizens.
6546 Default: "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"
6548 This variable allows you to customize the message index display to your
6551 ``Format strings'' are similar to the strings used in the ``C'' function
6552 printf(3) to format output (see the man page for more detail). The
6553 following sequences are defined in Mutt-ng:
6557 address of the author
6561 reply-to address (if present; otherwise: address of author)
6565 filename of the original message folder (think mailBox)
6569 the list to which the letter was sent, or else the folder name
6574 number of characters (bytes) in the message
6578 current message number
6582 date and time of the message in the format specified by
6583 ``date_format'' converted to sender's time zone
6587 date and time of the message in the format specified by
6588 ``date_format'' converted to the local time zone
6592 current message number in thread
6596 number of messages in current thread
6600 entire From: line (address + real name)
6604 author name, or recipient name if the message is from you
6608 spam attribute(s) of this message
6612 newsgroup name (if compiled with nntp support)
6616 message-id of the current message
6620 number of lines in the message (does not work with maildir, mh,
6621 and possibly IMAP folders)
6625 If an address in the To or CC header field matches an address
6626 defined by the users ``subscribe'' command, this displays "To
6627 <list-name>", otherwise the same as %F.
6631 total number of message in the mailbox
6635 number of hidden messages if the thread is collapsed.
6643 author's real name (or address if missing)
6647 (_O_riginal save folder) Where Mutt-ng would formerly have stashed
6648 the message: list name or recipient name if no list
6652 subject of the message
6656 status of the message (N/D/d/!/r/*)
6660 `to:' field (recipients)
6664 the appropriate character from the $to_chars string
6668 user (login) name of the author
6672 first name of the author, or the recipient if the message is from
6677 name of organization of author (`organization:' field)
6681 `x-label:' field, if present
6685 `x-label' field, if present, and (1) not at part of a thread tree,
6686 (2) at the top of a thread, or (3) `x-label' is different from
6687 preceding message's `x-label'.
6691 message status flags
6695 the date and time of the message is converted to sender's time
6696 zone, and ``fmt'' is expanded by the library function
6697 ``strftime''; a leading bang disables locales
6701 the date and time of the message is converted to the local time
6702 zone, and ``fmt'' is expanded by the library function
6703 ``strftime''; a leading bang disables locales
6707 the local date and time when the message was received. ``fmt'' is
6708 expanded by the library function ``strftime''; a leading bang
6713 the current local time. ``fmt'' is expanded by the library
6714 function ``strftime''; a leading bang disables locales.
6718 right justify the rest of the string and pad with character "X"
6722 pad to the end of the line with character "X"
6724 See also: ``$to_chars''.
6732 How to invoke ispell (GNU's spell-checking software).
6740 If set, read messages marked as flagged will not be moved from your spool
6741 mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
6750 When set, address replies to the mailing list the original message came
6751 from (instead to the author only). Setting this option to ``ask-yes'' or
6752 ``ask-no'' will ask if you really intended to reply to the author only.
6760 The locale used by strftime(3) to format dates. Legal values are the
6761 strings your system accepts for the locale variable LC_TIME.
6769 This variable configures how often (in seconds) Mutt-ng should look for
6772 Note: This does not apply to IMAP mailboxes, see $imap_mail_check.
6780 This variable specifies which files to consult when attempting to display
6781 MIME bodies not directly supported by Mutt-ng.
6783 123. mailcap_sanitize
6789 If set, Mutt-ng will restrict possible characters in mailcap % expandos to
6790 a well-defined set of safe characters. This is the safe setting, but we
6791 are not sure it doesn't break some more advanced MIME stuff.
6793 DON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE DOING!
6795 124. maildir_header_cache_verify
6801 Availability: Header Cache
6803 Check for Maildir unaware programs other than Mutt-ng having modified
6804 maildir files when the header cache is in use. This incurs one stat(2) per
6805 message every time the folder is opened.
6813 If set, messages marked as deleted will be saved with the maildir
6814 (T)rashed flag instead of physically deleted.
6816 NOTE: this only applies to maildir-style mailboxes. Setting it will have
6817 no effect on other mailbox types.
6819 It is similiar to the trash option.
6827 Controls whether or not Mutt-ng marks new unread messages as old if you
6828 exit a mailbox without reading them.
6830 With this option set, the next time you start Mutt-ng, the messages will
6831 show up with an "O" next to them in the ``index'' menu, indicating that
6840 Controls the display of wrapped lines in the internal pager. If set, a
6841 ``+'' marker is displayed at the beginning of wrapped lines. Also see the
6842 ``$smart_wrap'' variable.
6846 Type: regular expression
6850 A regular expression used in the file browser, optionally preceded by the
6851 not operator ``!''. Only files whose names match this mask will be shown.
6852 The match is always case-sensitive.
6854 129. max_display_recips
6860 When set non-zero, this specifies the maximum number of recipient header
6861 lines (To:, Cc: and Bcc:) to display in the pager if header weeding is
6862 turned on. In case the number of lines exeeds its value, the last line
6863 will have 3 dots appended.
6865 130. max_line_length
6871 When set, the maximum line length for displaying ``format = flowed''
6872 messages is limited to this length. A value of 0 (which is also the
6873 default) means that the maximum line length is determined by the terminal
6874 width and $wrapmargin.
6882 This specifies the folder into which read mail in your ``$spoolfile''
6883 folder will be appended.
6891 The default mailbox type used when creating new folders. May be any of
6892 mbox, MMDF, MH and Maildir.
6900 This variable controls the number of lines of context that are given when
6901 scrolling through menus. (Similar to ``$pager_context''.)
6909 When unset, the bottom entry of menus will never scroll up past the bottom
6910 of the screen, unless there are less entries than lines. When set, the
6911 bottom entry may move off the bottom.
6919 When set, menus will be scrolled up or down one line when you attempt to
6920 move across a screen boundary. If unset, the screen is cleared and the
6921 next or previous page of the menu is displayed (useful for slow links to
6922 avoid many redraws).
6930 This is the string displayed in the ``attachment'' menu for attachments of
6931 type message/rfc822. For a full listing of defined printf(3)-like
6932 sequences see the section on ``$index_format''.
6940 If set, forces Mutt-ng to interpret keystrokes with the high bit (bit 8)
6941 set as if the user had pressed the ESC key and whatever key remains after
6942 having the high bit removed. For example, if the key pressed has an ASCII
6943 value of 0xf4, then this is treated as if the user had pressed ESC then
6944 ``x''. This is because the result of removing the high bit from ``0xf4''
6945 is ``0x74'', which is the ASCII character ``x''.
6953 If unset, Mutt-ng will remove your address (see the ``alternates''
6954 command) from the list of recipients when replying to a message.
6962 When unset, Mutt-ng will mimic mh's behaviour and rename deleted messages
6963 to ,<old file name> in mh folders instead of really deleting them. If the
6964 variable is set, the message files will simply be deleted.
6972 The name of the MH sequence used for flagged messages.
6980 The name of the MH sequence used to tag replied messages.
6988 The name of the MH sequence used for unseen messages.
6996 When set, the message you are forwarding will be attached as a separate
6997 MIME part instead of included in the main body of the message.
6999 This is useful for forwarding MIME messages so the receiver can properly
7000 view the message as it was delivered to you. If you like to switch between
7001 MIME and not MIME from mail to mail, set this variable to ask-no or
7004 Also see ``$forward_decode'' and ``$mime_forward_decode''.
7006 144. mime_forward_decode
7012 Controls the decoding of complex MIME messages into text/plain when
7013 forwarding a message while ``$mime_forward'' is set. Otherwise
7014 ``$forward_decode'' is used instead.
7016 145. mime_forward_rest
7022 When forwarding multiple attachments of a MIME message from the recvattach
7023 menu, attachments which cannot be decoded in a reasonable manner will be
7024 attached to the newly composed message if this option is set.
7026 146. mix_entry_format
7030 Default: "%4n %c %-16s %a"
7032 Availability: Mixmaster
7034 This variable describes the format of a remailer line on the mixmaster
7035 chain selection screen. The following printf(3)-like sequences are
7040 The running number on the menu.
7044 Remailer capabilities.
7048 The remailer's short name.
7052 The remailer's e-mail address.
7058 Default: "mixmaster"
7060 Availability: Mixmaster
7062 This variable contains the path to the Mixmaster binary on your system. It
7063 is used with various sets of parameters to gather the list of known
7064 remailers, and to finally send a message through the mixmaster chain.
7072 Controls whether or not Mutt-ng will move read messages from your spool
7073 mailbox to your ``$mbox'' mailbox, or as a result of a ``mbox-hook''
7080 Default: "%Y%m%d%h%M%s.G%P%p"
7082 This is the format for the ``local part'' of the Message-Id: header field
7083 generated by Mutt-ng. If this variable is empty, no Message-Id: headers
7084 will be generated. The '%' character marks that certain data will be added
7085 to the string, similar to printf(3). The following characters are allowed:
7089 the current day of month
7105 the current UNIX timestamp (octal)
7113 the current Message-ID prefix (a character rotating with every
7114 Message-ID being generated)
7118 a random integer value (decimal)
7122 a random integer value (hexadecimal)
7130 the current UNIX timestamp (decimal)
7134 the current UNIX timestamp (hexadecimal)
7138 the current year (Y2K compliant)
7144 Note: Please only change this setting if you know what you are doing. Also
7145 make sure to consult RFC2822 to produce technically valid strings.
7149 Type: system property
7151 Value: /opt/freebsd4/mutt-ng/bin
7153 This is a read-only system property and specifies the directory containing
7158 Type: system property
7160 Value: /opt/freebsd4/mutt-ng/doc/muttng
7162 This is a read-only system property and specifies the directory containing
7163 the muttng documentation.
7165 152. muttng_folder_name
7167 Type: system property
7171 This is a read-only system property and, at runtime, specifies the last
7172 part of the full path or URI of the folder currently open (if any), i.e.
7173 everything after the last ``/''.
7175 153. muttng_folder_path
7177 Type: system property
7181 This is a read-only system property and, at runtime, specifies the full
7182 path or URI of the folder currently open (if any).
7184 154. muttng_hcache_backend
7186 Type: system property
7190 This is a read-only system property and specifies the header chaching's
7195 Type: system property
7199 This is a read-only system property and, at runtime, specifies the current
7200 working directory of the muttng binary.
7202 156. muttng_revision
7204 Type: system property
7208 This is a read-only system property and specifies muttng's subversion
7211 157. muttng_sysconfdir
7213 Type: system property
7215 Value: /opt/freebsd4/mutt-ng/etc
7217 This is a read-only system property and specifies the directory containing
7218 the muttng system-wide configuration.
7222 Type: system property
7226 This is a read-only system property and specifies muttng's version string.
7234 This variable, when set, makes the thread tree narrower, allowing deeper
7235 threads to fit on the screen.
7237 160. nntp_ask_followup_to
7245 If set, Mutt-ng will prompt you for the Followup-To: header field before
7246 editing the body of an outgoing news article.
7248 161. nntp_ask_x_comment_to
7256 If set, Mutt-ng will prompt you for the X-Comment-To: header field before
7257 editing the body of an outgoing news article.
7263 Default: "˜/.muttng"
7267 This variable points to directory where Mutt-ng will cache news article
7268 headers. If unset, headers will not be saved at all and will be reloaded
7269 each time when you enter a newsgroup.
7271 As for the header caching in connection with IMAP and/or Maildir, this
7272 drastically increases speed and lowers traffic.
7282 If this variable is set, Mutt-ng will mark all articles in a newsgroup as
7283 read when you leaving it.
7293 This variable controls how many news articles to cache per newsgroup (if
7294 caching is enabled, see $nntp_cache_dir) and how many news articles to
7295 show in the ``index'' menu.
7297 If there're more articles than defined with $nntp_context, all older ones
7298 will be removed/not shown in the index.
7300 165. nntp_followup_to_poster
7308 If this variable is set and the keyword "poster" is present in the
7309 Followup-To: header field, a follow-up to the newsgroup is not permitted.
7310 The message will be mailed to the submitter of the message via mail.
7312 166. nntp_group_index_format
7316 Default: "%4C %M%N %5s %-45.45f %d"
7320 This variable allows you to customize the newsgroup browser display to
7321 your personal taste. This string is similar to ``index_format'', but has
7322 its own set of printf(3)-like sequences:
7324 %C current newsgroup number
7325 %d description of newsgroup (retrieved from server)
7327 %M ``-'' if newsgroup not allowed for direct post (moderated for example)
7328 %N ``N'' if newsgroup is new, ``u'' if unsubscribed, blank otherwise
7329 %n number of new articles in newsgroup
7330 %s number of unread articles in newsgroup
7331 %>X right justify the rest of the string and pad with character "X"
7332 %|X pad to the end of the line with character "X"
7343 This variable specifies the name (or address) of the NNTP server to be
7346 It defaults to the value specified via the environment variable
7347 $NNTPSERVER or contained in the file /etc/nntpserver.
7349 You can also specify a username and an alternative port for each
7352 [nntp[s]://][username[:password]@]newsserver[:port]
7354 Note: Using a password as shown and stored in a configuration file
7355 presents a security risk since the superuser of your machine may read it
7356 regardless of the file's permissions.
7366 If set, specifies the program and arguments used to deliver news posted by
7367 Mutt-ng. Otherwise, Mutt-ng posts article using current connection. The
7368 following printf(3)-style sequence is understood:
7373 Example: set inews="/usr/local/bin/inews -hS"
7375 169. nntp_load_description
7383 This variable controls whether or not descriptions for newsgroups are to
7384 be loaded when subscribing to a newsgroup.
7386 170. nntp_mail_check
7394 The time in seconds until any operations on a newsgroup except posting a
7395 new article will cause a recheck for new news. If set to 0, Mutt-ng will
7396 recheck on each operation in index (stepping, read article, etc.).
7398 171. nntp_mime_subject
7406 If unset, an 8-bit ``Subject:'' header field in a news article will not be
7407 encoded according to RFC2047.
7409 Note: Only change this setting if you know what you are doing.
7415 Default: "˜/.newsrc"
7419 This file contains information about subscribed newsgroup and articles
7422 To ease the use of multiple news servers, the following printf(3)-style
7423 sequence is understood:
7436 Your password for NNTP account.
7438 Note: Storing passwords in a configuration file presents a security risk
7439 since the superuser of your machine may read it regardless of the file's
7442 174. nntp_post_moderated
7450 If set to yes, Mutt-ng will post articles to newsgroup that have not
7451 permissions to post (e.g. moderated).
7453 Note: if the newsserver does not support posting to that newsgroup or a
7454 group is totally read-only, that posting will not have any effect.
7464 Controls whether or not Mutt-ng will try to reconnect to a newsserver when
7465 the was connection lost.
7467 176. nntp_save_unsubscribed
7475 When set, info about unsubscribed newsgroups will be saved into the
7476 ``newsrc'' file and into the news cache.
7478 177. nntp_show_new_news
7486 If set, the newsserver will be asked for new newsgroups on entering the
7487 browser. Otherwise, it will be done only once for a newsserver. Also
7488 controls whether or not the number of new articles of subscribed
7489 newsgroups will be checked.
7491 178. nntp_show_only_unread
7499 If set, only subscribed newsgroups that contain unread articles will be
7500 displayed in the newsgroup browser.
7510 Your login name on the NNTP server. If unset and the server requires
7511 authentification, Mutt-ng will prompt you for your account name.
7513 180. nntp_x_comment_to
7521 If set, Mutt-ng will add a ``X-Comment-To:'' header field (that contains
7522 full name of the original article author) to articles that you followup
7525 181. operating_system
7531 This specifies the operating system name for the User-Agent: header field.
7532 If this is unset, it will be set to the operating system name that
7533 uname(2) returns. If uname(2) fails, ``UNIX'' will be used.
7535 It may, for example, look as: ``mutt-ng 1.5.9i (Linux)''.
7543 This variable specifies which pager you would like to use to view
7544 messages. ``builtin'' means to use the builtin pager, otherwise this
7545 variable should specify the pathname of the external pager you would like
7548 Using an external pager may have some disadvantages: Additional keystrokes
7549 are necessary because you can't call Mutt-ng functions directly from the
7550 pager, and screen resizes cause lines longer than the screen width to be
7551 badly formatted in the help menu.
7559 This variable controls the number of lines of context that are given when
7560 displaying the next or previous page in the internal pager. By default,
7561 Mutt-ng will display the line after the last one on the screen at the top
7562 of the next page (0 lines of context).
7568 Default: "-%Z- %C/%m: %-20.20n %s"
7570 This variable controls the format of the one-line message ``status''
7571 displayed before each message in either the internal or an external pager.
7572 The valid sequences are listed in the ``$index_format'' section.
7574 185. pager_index_lines
7580 Determines the number of lines of a mini-index which is shown when in the
7581 pager. The current message, unless near the top or bottom of the folder,
7582 will be roughly one third of the way down this mini-index, giving the
7583 reader the context of a few messages before and after the message. This is
7584 useful, for example, to determine how many messages remain to be read in
7585 the current thread. One of the lines is reserved for the status bar from
7586 the index, so a pager_index_lines of 6 will only show 5 lines of the
7587 actual index. A value of 0 results in no index being shown. If the number
7588 of messages in the current folder is less than pager_index_lines, then the
7589 index will only use as many lines as it needs.
7597 When set, the internal-pager will not move to the next message when you
7598 are at the end of a message and invoke the next-page function.
7600 187. pgp_auto_decode
7606 If set, Mutt-ng will automatically attempt to decrypt traditional PGP
7607 messages whenever the user performs an operation which ordinarily would
7608 result in the contents of the message being operated on. For example, if
7609 the user displays a pgp-traditional message which has not been manually
7610 checked with the check-traditional-pgp function, Mutt-ng will
7611 automatically check the message for traditional pgp.
7619 This option controls whether Mutt-ng generates old-style inline
7620 (traditional) PGP encrypted or signed messages under certain
7621 circumstances. This can be overridden by use of the pgp-menu, when inline
7624 Note that Mutt-ng might automatically use PGP/MIME for messages which
7625 consist of more than a single MIME part. Mutt-ng can be configured to ask
7626 before sending PGP/MIME messages when inline (traditional) would not work.
7627 See also: ``$pgp_mime_auto''.
7629 Also note that using the old-style PGP message format is strongly
7630 deprecated. (PGP only)
7638 If set, Mutt-ng will check the exit code of the PGP subprocess when
7639 signing or encrypting. A non-zero exit code means that the subprocess
7642 190. pgp_clearsign_command
7648 This format is used to create a old-style ``clearsigned'' PGP message.
7650 Note that the use of this format is strongly deprecated. (PGP only)
7652 191. pgp_decode_command
7658 This format strings specifies a command which is used to decode
7659 application/pgp attachments.
7661 The PGP command formats have their own set of printf(3)-like sequences:
7665 Expands to PGPPASSFD=0 when a pass phrase is needed, to an empty
7666 string otherwise. Note: This may be used with a %? construct.
7670 Expands to the name of a file containing a message.
7674 Expands to the name of a file containing the signature part of a
7675 multipart/signed attachment when verifying it.
7679 The value of $pgp_sign_as.
7683 One or more key IDs.
7685 For examples on how to configure these formats for the various versions of
7686 PGP which are floating around, see the pgp*.rc and gpg.rc files in the
7687 samples/ subdirectory which has been installed on your system alongside
7688 the documentation. (PGP only)
7690 192. pgp_decrypt_command
7696 This command is used to decrypt a PGP encrypted message. (PGP only)
7698 193. pgp_encrypt_only_command
7704 This command is used to encrypt a body part without signing it. (PGP only)
7706 194. pgp_encrypt_sign_command
7712 This command is used to both sign and encrypt a body part. (PGP only)
7714 195. pgp_entry_format
7718 Default: "%4n %t%f %4l/0x%k %-4a %2c %u"
7720 This variable allows you to customize the PGP key selection menu to your
7721 personal taste. This string is similar to ``$index_format'', but has its
7722 own set of printf(3)-like sequences:
7754 trust/validity of the key-uid association
7758 date of the key where <s> is an strftime(3) expression
7762 196. pgp_export_command
7768 This command is used to export a public key from the user's key ring. (PGP
7771 197. pgp_getkeys_command
7777 This command is invoked whenever Mutt-ng will need public key information.
7778 %r is the only printf(3)-like sequence used with this format. (PGP only)
7782 Type: regular expression
7786 If you assign a text to this variable, then a PGP signature is only
7787 considered verified if the output from $pgp_verify_command contains the
7788 text. Use this variable if the exit code from the command is 0 even for
7789 bad signatures. (PGP only)
7791 199. pgp_ignore_subkeys
7797 Setting this variable will cause Mutt-ng to ignore OpenPGP subkeys.
7798 Instead, the principal key will inherit the subkeys' capabilities. Unset
7799 this if you want to play interesting key selection games. (PGP only)
7801 200. pgp_import_command
7807 This command is used to import a key from a message into the user's public
7808 key ring. (PGP only)
7810 201. pgp_list_pubring_command
7816 This command is used to list the public key ring's contents. The output
7817 format must be analogous to the one used by gpg --list-keys --with-colons.
7819 This format is also generated by the pgpring utility which comes with
7822 202. pgp_list_secring_command
7828 This command is used to list the secret key ring's contents. The output
7829 format must be analogous to the one used by gpg --list-keys --with-colons.
7831 This format is also generated by the pgpring utility which comes with
7840 If set, use 64 bit PGP key IDs. Unset uses the normal 32 bit Key IDs. (PGP
7849 This option controls whether Mutt-ng will prompt you for automatically
7850 sending a (signed/encrypted) message using PGP/MIME when inline
7851 (traditional) fails (for any reason).
7853 Also note that using the old-style PGP message format is strongly
7854 deprecated. (PGP only)
7856 205. pgp_replyinline
7862 Setting this variable will cause Mutt-ng to always attempt to create an
7863 inline (traditional) message when replying to a message which is PGP
7864 encrypted/signed inline. This can be overridden by use of the pgp-menu,
7865 when inline is not required. This option does not automatically detect if
7866 the (replied-to) message is inline; instead it relies on Mutt-ng internals
7867 for previously checked/flagged messages.
7869 Note that Mutt-ng might automatically use PGP/MIME for messages which
7870 consist of more than a single MIME part. Mutt-ng can be configured to ask
7871 before sending PGP/MIME messages when inline (traditional) would not work.
7872 See also: ``$pgp_mime_auto''.
7874 Also note that using the old-style PGP message format is strongly
7875 deprecated. (PGP only)
7877 206. pgp_retainable_sigs
7883 If set, signed and encrypted messages will consist of nested
7884 multipart/signed and multipart/encrypted body parts.
7886 This is useful for applications like encrypted and signed mailing lists,
7887 where the outer layer (multipart/encrypted) can be easily removed, while
7888 the inner multipart/signed part is retained. (PGP only)
7890 207. pgp_show_unusable
7896 If set, Mutt-ng will display non-usable keys on the PGP key selection
7897 menu. This includes keys which have been revoked, have expired, or have
7898 been marked as ``disabled'' by the user. (PGP only)
7906 If you have more than one key pair, this option allows you to specify
7907 which of your private keys to use. It is recommended that you use the
7908 keyid form to specify your key (e.g., ``0x00112233''). (PGP only)
7910 209. pgp_sign_command
7916 This command is used to create the detached PGP signature for a
7917 multipart/signed PGP/MIME body part. (PGP only)
7925 Specifies how the entries in the ``pgp keys'' menu are sorted. The
7926 following are legal values:
7930 sort alphabetically by user id
7934 sort alphabetically by key id
7938 sort by key creation date
7942 sort by the trust of the key
7944 If you prefer reverse order of the above values, prefix it with
7945 ``reverse-''. (PGP only)
7953 If set, Mutt-ng will automatically encode PGP/MIME signed messages as
7954 quoted-printable. Please note that unsetting this variable may lead to
7955 problems with non-verifyable PGP signatures, so only change this if you
7956 know what you are doing. (PGP only)
7964 The number of seconds after which a cached passphrase will expire if not
7965 used. Default: 300. (PGP only)
7967 213. pgp_use_gpg_agent
7973 If set, Mutt-ng will use a possibly-running gpg-agent process. (PGP only)
7975 214. pgp_verify_command
7981 This command is used to verify PGP signatures. (PGP only)
7983 215. pgp_verify_key_command
7989 This command is used to verify key information from the key selection
7998 Used in connection with the pipe-message command. When unset, Mutt-ng will
7999 pipe the messages without any preprocessing. When set, Mutt-ng will weed
8000 headers and will attempt to PGP/MIME decode the messages first.
8008 The separator to add between messages when piping a list of tagged
8009 messages to an external Unix command.
8017 Used in connection with the pipe-message command and the ``tag- prefix''
8018 or ``tag-prefix-cond'' operators. If this variable is unset, when piping a
8019 list of tagged messages Mutt-ng will concatenate the messages and will
8020 pipe them as a single folder. When set, Mutt-ng will pipe the messages one
8021 by one. In both cases the messages are piped in the current sorted order,
8022 and the ``$pipe_sep'' separator is added after each message.
8024 219. pop_auth_try_all
8032 If set, Mutt-ng will try all available methods. When unset, Mutt-ng will
8033 only fall back to other authentication methods if the previous methods are
8034 unavailable. If a method is available but authentication fails, Mutt-ng
8035 will not connect to the POP server.
8037 220. pop_authenticators
8045 This is a colon-delimited list of authentication methods Mutt-ng may
8046 attempt to use to log in to an POP server, in the order Mutt-ng should try
8047 them. Authentication methods are either ``user'', ``apop'' or any SASL
8048 mechanism, eg ``digest-md5'', ``gssapi'' or ``cram-md5''.
8050 This parameter is case-insensitive. If this parameter is unset (the
8051 default) Mutt-ng will try all available methods, in order from most-secure
8054 Example: set pop_authenticators="digest-md5:apop:user"
8064 If set, Mutt-ng will delete successfully downloaded messages from the POP
8065 server when using the ``fetch-mail'' function. When unset, Mutt-ng will
8066 download messages but also leave them on the POP server.
8076 The name of your POP server for the ``fetch-mail'' function. You can also
8077 specify an alternative port, username and password, i.e.:
8079 [pop[s]://][username[:password]@]popserver[:port]
8081 Note: Storing passwords in a configuration file presents a security risk
8082 since the superuser of your machine may read it regardless of the file's
8093 If this variable is set, Mutt-ng will try to use the ``LAST'' POP command
8094 for retrieving only unread messages from the POP server when using the
8095 ``fetch-mail'' function.
8105 This variable configures how often (in seconds) POP should look for new
8116 Specifies the password for your POP account. If unset, Mutt-ng will prompt
8117 you for your password when you open POP mailbox.
8119 Note: Storing passwords in a configuration file presents a security risk
8120 since the superuser of your machine may read it regardless of the file's
8131 Controls whether or not Mutt-ng will try to reconnect to a POP server when
8132 the connection is lost.
8142 Your login name on the POP server.
8144 This variable defaults to your user name on the local machine.
8146 228. post_indent_string
8152 Similar to the ``$attribution'' variable, Mutt-ng will append this string
8153 after the inclusion of a message which is being replied to.
8161 Controls whether or not messages are saved in the ``$postponed'' mailbox
8162 when you elect not to send immediately.
8168 Default: "˜/postponed"
8170 Mutt-ng allows you to indefinitely ``postpone sending a message'' which
8171 you are editing. When you choose to postpone a message, Mutt-ng saves it
8172 in the mailbox specified by this variable. Also see the ``$postpone''
8181 If set, a shell command to be executed if Mutt-ng fails to establish a
8182 connection to the server. This is useful for setting up secure
8183 connections, e.g. with ssh(1). If the command returns a nonzero status,
8184 Mutt-ng gives up opening the server. Example:
8186 preconnect="ssh -f -q -L 1234:mailhost.net:143 mailhost.net sleep 20 <
8187 /dev/null > /dev/null"
8189 Mailbox ``foo'' on mailhost.net can now be reached as
8190 ``{localhost:1234}foo''.
8192 Note: For this example to work, you must be able to log in to the remote
8193 machine without having to enter a password.
8201 Controls whether or not Mutt-ng really prints messages. This is set to
8202 ask-no by default, because some people accidentally hit ``p'' often.
8210 This specifies the command pipe that should be used to print messages.
8218 Used in connection with the print-message command. If this option is set,
8219 the message is decoded before it is passed to the external command
8220 specified by $print_command. If this option is unset, no processing will
8221 be applied to the message when printing it. The latter setting may be
8222 useful if you are using some advanced printer filter which is able to
8223 properly format e-mail messages for printing.
8231 Used in connection with the print-message command. If this option is set,
8232 the command specified by $print_command is executed once for each message
8233 which is to be printed. If this option is unset, the command specified by
8234 $print_command is executed only once, and all the messages are
8235 concatenated, with a form feed as the message separator.
8237 Those who use the enscript(1) program's mail-printing mode will most
8238 likely want to set this option.
8246 If you use an external ``$pager'', setting this variable will cause
8247 Mutt-ng to prompt you for a command when the pager exits rather than
8248 returning to the index menu. If unset, Mutt-ng will return to the index
8249 menu when the external pager exits.
8257 This specifies the command that Mutt-ng will use to make external address
8258 queries. The string should contain a %s, which will be substituted with
8259 the query string the user types. See ``query'' for more information.
8267 This variable controls whether ``quit'' and ``exit'' actually quit from
8268 Mutt-ng. If it set to yes, they do quit, if it is set to no, they have no
8269 effect, and if it is set to ask-yes or ask-no, you are prompted for
8270 confirmation when you try to quit.
8278 Controls whether or not empty lines will be quoted using
8287 Controls how quoted lines will be quoted. If set, one quote character will
8288 be added to the end of existing prefix. Otherwise, quoted lines will be
8289 prepended by ``indent_string''.
8293 Type: regular expression
8295 Default: "^([ \t]*[|>:}#])+"
8297 A regular expression used in the internal-pager to determine quoted
8298 sections of text in the body of a message.
8300 Note: In order to use the quotedx patterns in the internal pager, you need
8301 to set this to a regular expression that matches exactly the quote
8302 characters at the beginning of quoted lines.
8310 If set to a value greater than 0, Mutt-ng will display which message it is
8311 currently on when reading a mailbox. The message is printed after read_inc
8312 messages have been read (e.g., if set to 25, Mutt-ng will print a message
8313 when it reads message 25, and then again when it gets to message 50). This
8314 variable is meant to indicate progress when reading large mailboxes which
8315 may take some time. When set to 0, only a single message will appear
8316 before the reading the mailbox.
8318 Also see the ``$write_inc'' variable.
8326 If set, all folders are opened in read-only mode.
8334 This variable specifies what ``real'' or ``personal'' name should be used
8335 when sending messages.
8337 By default, this is the GECOS field from /etc/passwd.
8339 Note: This variable will not be used when the user has set a real name in
8348 Controls whether or not Mutt-ng recalls postponed messages when composing
8349 a new message. Also see ``$postponed''.
8351 Setting this variable to yes is not generally useful, and thus not
8360 This specifies the file into which your outgoing messages should be
8361 appended. (This is meant as the primary method for saving a copy of your
8362 messages, but another way to do this is using the ``my_hdr'' command to
8363 create a Bcc: header field with your email address in it.)
8365 The value of $record is overridden by the ``$force_name'' and
8366 ``$save_name'' variables, and the ``fcc-hook'' command.
8370 Type: regular expression
8372 Default: "^(re([\[0-9\]+])*|aw):[ \t]*"
8374 A regular expression used to recognize reply messages when threading and
8375 replying. The default value corresponds to the English ``Re:'' and the
8384 If unset and you are replying to a message sent by you, Mutt-ng will
8385 assume that you want to reply to the recipients of that message rather
8394 If set, when replying to a message, Mutt-ng will use the address listed in
8395 the ``Reply-To:'' header field as the recipient of the reply. If unset, it
8396 will use the address in the ``From:'' header field instead.
8398 This option is useful for reading a mailing list that sets the
8399 ``Reply-To:'' header field to the list address and you want to send a
8400 private message to the author of a message.
8408 When set, the cursor will be automatically advanced to the next (possibly
8409 undeleted) message whenever a command that modifies the current message is
8418 This variable controls whether or not Mutt-ng will display the
8419 ``personal'' name from your aliases in the index menu if it finds an alias
8420 that matches the message's sender. For example, if you have the following
8423 alias juser abd30425@somewhere.net (Joe User)
8425 and then you receive mail which contains the following header:
8427 From: abd30425@somewhere.net
8429 It would be displayed in the index menu as ``Joe User'' instead of
8430 ``abd30425@somewhere.net.'' This is useful when the person's e-mail
8431 address is not human friendly (like CompuServe addresses).
8439 It may sometimes arrive that you receive mail to a certain machine, move
8440 the messages to another machine, and reply to some the messages from
8441 there. If this variable is set, the default From: line of the reply
8442 messages is built using the address where you received the messages you
8443 are replying to if that address matches your alternates. If the variable
8444 is unset, or the address that would be used doesn't match your alternates,
8445 the From: line will use your address on the current machine.
8447 253. reverse_realname
8453 This variable fine-tunes the behaviour of the reverse_name feature. When
8454 it is set, Mutt-ng will use the address from incoming messages as-is,
8455 possibly including eventual real names. When it is unset, Mutt-ng will
8456 override any such real names with the setting of the realname variable.
8458 254. rfc2047_parameters
8464 When this variable is set, Mutt-ng will decode RFC-2047-encoded MIME
8465 parameters. You want to set this variable when Mutt-ng suggests you to
8466 save attachments to files named like this:
8468 =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?=
8470 When this variable is set interactively, the change doesn't have the
8471 desired effect before you have changed folders.
8473 Note that this use of RFC 2047's encoding is explicitly, prohibited by the
8474 standard, but nevertheless encountered in the wild.
8476 Also note that setting this parameter will not have the effect that
8477 Mutt-ng generates this kind of encoding. Instead, Mutt-ng will
8478 unconditionally use the encoding specified in RFC 2231.
8486 If set, Mutt-ng will take the sender's full address when choosing a
8487 default folder for saving a mail. If ``$save_name'' or ``$force_name'' is
8488 set too, the selection of the fcc folder will be changed as well.
8496 When unset, mailboxes which contain no saved messages will be removed when
8497 closed (the exception is ``$spoolfile'' which is never removed). If set,
8498 mailboxes are never removed.
8500 Note: This only applies to mbox and MMDF folders, Mutt-ng does not delete
8501 MH and Maildir directories.
8509 This variable controls how copies of outgoing messages are saved. When
8510 set, a check is made to see if a mailbox specified by the recipient
8511 address exists (this is done by searching for a mailbox in the ``$folder''
8512 directory with the username part of the recipient address). If the mailbox
8513 exists, the outgoing message will be saved to that mailbox, otherwise the
8514 message is saved to the ``$record'' mailbox.
8516 Also see the ``$force_name'' variable.
8524 When this variable is unset, scoring is turned off. This can be useful to
8525 selectively disable scoring for certain folders when the
8526 ``$score_threshold_delete'' variable and friends are used.
8528 259. score_threshold_delete
8534 Messages which have been assigned a score equal to or lower than the value
8535 of this variable are automatically marked for deletion by Mutt-ng. Since
8536 Mutt-ng scores are always greater than or equal to zero, the default
8537 setting of this variable will never mark a message for deletion.
8539 260. score_threshold_flag
8545 Messages which have been assigned a score greater than or equal to this
8546 variable's value are automatically marked ``flagged''.
8548 261. score_threshold_read
8554 Messages which have been assigned a score equal to or lower than the value
8555 of this variable are automatically marked as read by Mutt-ng. Since
8556 Mutt-ng scores are always greater than or equal to zero, the default
8557 setting of this variable will never mark a message read.
8563 Default: "us-ascii:iso-8859-1:utf-8"
8565 A list of character sets for outgoing messages. Mutt-ng will use the first
8566 character set into which the text can be converted exactly. If your
8567 ``$charset'' is not iso-8859-1 and recipients may not understand UTF-8, it
8568 is advisable to include in the list an appropriate widely used standard
8569 character set (such as iso-8859-2, koi8-r or iso-2022-jp) either instead
8570 of or after iso-8859-1.
8576 Default: "/usr/sbin/sendmail -oem -oi"
8578 Specifies the program and arguments used to deliver mail sent by Mutt-ng.
8579 Mutt-ng expects that the specified program interprets additional arguments
8580 as recipient addresses.
8588 Specifies the number of seconds to wait for the ``$sendmail'' process to
8589 finish before giving up and putting delivery in the background.
8591 Mutt-ng interprets the value of this variable as follows:
8595 number of seconds to wait for sendmail to finish before continuing
8599 wait forever for sendmail to finish
8603 always put sendmail in the background without waiting
8605 Note that if you specify a value other than 0, the output of the child
8606 process will be put in a temporary file. If there is some error, you will
8607 be informed as to where to find the output.
8615 Command to use when spawning a subshell. By default, the user's login
8616 shell from /etc/passwd is used.
8618 266. sidebar_boundary
8624 When the sidebar is displayed and $sidebar_shorten_hierarchy is set, this
8625 variable specifies the characters at which to split a folder name into
8626 ``hierarchy items.''
8634 This specifies the delimiter between the sidebar (if visible) and other
8637 268. sidebar_newmail_only
8643 If set, only folders with new mail will be shown in the sidebar.
8645 269. sidebar_number_format
8649 Default: "%m%?n?(%n)?%?f?[%f]?"
8651 This variable controls how message counts are printed when the sidebar is
8652 enabled. If this variable is empty (and only if), no numbers will be
8653 printed and mutt-ng won't frequently count mail (which may be a great
8654 speedup esp. with mbox-style mailboxes.)
8656 The following printf(3)-like sequences are supported all of which may be
8661 Number of deleted messages. 1)
8665 Number of flagged messages.
8669 Total number of messages.
8673 Total number of messages shown, i.e. not hidden by a limit. 1)
8677 Number of new messages.
8681 Number of tagged messages. 1)
8683 1) These expandos only have a non-zero value for the current mailbox and
8684 will always be zero otherwise.
8686 270. sidebar_shorten_hierarchy
8692 When set, the ``hierarchy'' of the sidebar entries will be shortened only
8693 if they cannot be printed in full length (because ``$sidebar_width'' is
8694 set to a too low value). For example, if the newsgroup name
8695 ``de.alt.sysadmin.recovery'' doesn't fit on the screen, it'll get
8696 shortened ``d.a.s.recovery'' while ``de.alt.d0'' still would and thus will
8699 At which characters this compression is done is controled via the
8700 $sidebar_boundary variable.
8702 271. sidebar_visible
8708 This specifies whether or not to show the sidebar (a list of folders
8709 specified with the ``mailboxes'' command).
8717 The width of the sidebar.
8725 If set, a line containing ``-- '' (dash, dash, space) will be inserted
8726 before your ``$signature''. It is strongly recommended that you not unset
8727 this variable unless your ``signature'' contains just your name. The
8728 reason for this is because many software packages use ``-- \n'' to detect
8731 For example, Mutt-ng has the ability to highlight the signature in a
8732 different color in the builtin pager.
8740 If set, the signature will be included before any quoted or forwarded
8741 text. It is strongly recommended that you do not set this variable unless
8742 you really know what you are doing, and are prepared to take some heat
8743 from netiquette guardians.
8749 Default: "˜/.signature"
8751 Specifies the filename of your signature, which is appended to all
8752 outgoing messages. If the filename ends with a pipe (``|''), it is assumed
8753 that filename is a shell command and input should be read from its stdout.
8761 If set, this string will be inserted before the signature. This is useful
8762 for people that want to sign off every message they send with their name.
8764 If you want to insert your website's URL, additional contact information
8765 or witty quotes into your mails, better use a signature file instead of
8772 Default: "˜f %s | ˜s %s"
8774 Specifies how Mutt-ng should expand a simple search into a real search
8775 pattern. A simple search is one that does not contain any of the ˜
8776 operators. See ``patterns'' for more information on search patterns.
8778 For example, if you simply type ``joe'' at a search or limit prompt,
8779 Mutt-ng will automatically expand it to the value specified by this
8780 variable. For the default value it would be:
8790 Specifies time, in seconds, to pause while displaying certain
8791 informational messages, while moving from folder to folder and after
8792 expunging messages from the current folder. The default is to pause one
8793 second, so a value of zero for this option suppresses the pause.
8801 Controls the display of lines longer than the screen width in the internal
8802 pager. If set, long lines are wrapped at a word boundary. If unset, lines
8803 are simply wrapped at the screen edge. Also see the ``$markers'' variable.
8807 Type: regular expression
8809 Default: "(>From )|(:[-^]?[][)(><}{|/DP])"
8811 The pager uses this variable to catch some common false positives of
8812 ``$quote_regexp'', most notably smileys in the beginning of a line
8814 281. smime_ask_cert_label
8820 This flag controls whether you want to be asked to enter a label for a
8821 certificate about to be added to the database or not. It is set by
8822 default. (S/MIME only)
8824 282. smime_ca_location
8830 This variable contains the name of either a directory, or a file which
8831 contains trusted certificates for use with OpenSSL. (S/MIME only)
8833 283. smime_certificates
8839 Since there is no pubring/secring as with PGP, Mutt-ng has to handle
8840 storage and retrieval of keys by itself. This is very basic right now, and
8841 keys and certificates are stored in two different directories, both named
8842 as the hash-value retrieved from OpenSSL. There is an index file which
8843 contains mailbox-address keyid pairs, and which can be manually edited.
8844 This one points to the location of the certificates. (S/MIME only)
8846 284. smime_decrypt_command
8852 This format string specifies a command which is used to decrypt
8853 application/x-pkcs7-mime attachments.
8855 The OpenSSL command formats have their own set of printf(3)-like sequences
8860 Expands to the name of a file containing a message.
8864 Expands to the name of a file containing the signature part of a
8865 multipart/signed attachment when verifying it.
8869 The key-pair specified with $smime_default_key
8873 One or more certificate IDs.
8877 The algorithm used for encryption.
8881 CA location: Depending on whether $smime_ca_location points to a
8882 directory or file, this expands to "-CApath $smime_ca_location" or
8883 "-CAfile $smime_ca_location".
8885 For examples on how to configure these formats, see the smime.rc in the
8886 samples/ subdirectory which has been installed on your system alongside
8887 the documentation. (S/MIME only)
8889 285. smime_decrypt_use_default_key
8895 If set (default) this tells Mutt-ng to use the default key for decryption.
8896 Otherwise, if manage multiple certificate-key-pairs, Mutt-ng will try to
8897 use the mailbox-address to determine the key to use. It will ask you to
8898 supply a key, if it can't find one. (S/MIME only)
8900 286. smime_default_key
8906 This is the default key-pair to use for signing. This must be set to the
8907 keyid (the hash-value that OpenSSL generates) to work properly (S/MIME
8910 287. smime_encrypt_command
8916 This command is used to create encrypted S/MIME messages. (S/MIME only)
8918 288. smime_encrypt_with
8924 This sets the algorithm that should be used for encryption. Valid choices
8925 are ``des'', ``des3'', ``rc2-40'', ``rc2-64'', ``\frc2-128''.
8927 If unset ``3des'' (TripleDES) is used. (S/MIME only)
8929 289. smime_get_cert_command
8935 This command is used to extract X509 certificates from a PKCS7 structure.
8938 290. smime_get_cert_email_command
8944 This command is used to extract the mail address(es) used for storing X509
8945 certificates, and for verification purposes (to check whether the
8946 certificate was issued for the sender's mailbox). (S/MIME only)
8948 291. smime_get_signer_cert_command
8954 This command is used to extract only the signers X509 certificate from a
8955 S/MIME signature, so that the certificate's owner may get compared to the
8956 email's ``From:'' header field. (S/MIME only)
8958 292. smime_import_cert_command
8964 This command is used to import a certificate via smime_keysng. (S/MIME
8967 293. smime_is_default
8973 The default behaviour of Mutt-ng is to use PGP on all auto-sign/encryption
8974 operations. To override and to use OpenSSL instead this must be set.
8976 However, this has no effect while replying, since Mutt-ng will
8977 automatically select the same application that was used to sign/encrypt
8978 the original message.
8980 (Note that this variable can be overridden by unsetting $crypt_autosmime.)
8989 Since there is no pubring/secring as with PGP, Mutt-ng has to handle
8990 storage ad retrieval of keys/certs by itself. This is very basic right
8991 now, and stores keys and certificates in two different directories, both
8992 named as the hash-value retrieved from OpenSSL. There is an index file
8993 which contains mailbox-address keyid pair, and which can be manually
8994 edited. This one points to the location of the private keys. (S/MIME only)
8996 295. smime_pk7out_command
9002 This command is used to extract PKCS7 structures of S/MIME signatures, in
9003 order to extract the public X509 certificate(s). (S/MIME only)
9005 296. smime_sign_command
9011 This command is used to created S/MIME signatures of type
9012 multipart/signed, which can be read by all mail clients. (S/MIME only)
9014 297. smime_sign_opaque_command
9020 This command is used to created S/MIME signatures of type
9021 application/x-pkcs7-signature, which can only be handled by mail clients
9022 supporting the S/MIME extension. (S/MIME only)
9030 The number of seconds after which a cached passphrase will expire if not
9033 299. smime_verify_command
9039 This command is used to verify S/MIME signatures of type multipart/signed.
9042 300. smime_verify_opaque_command
9048 This command is used to verify S/MIME signatures of type
9049 application/x-pkcs7-mime. (S/MIME only)
9059 If this variable is non-empty, it'll be used as the envelope sender. If
9060 it's empty (the default), the value of the regular From: header will be
9063 This may be necessary as some providers don't allow for arbitrary values
9064 as the envelope sender but only a particular one which may not be the same
9065 as the user's desired From: header.
9075 Defines the SMTP host which will be used to deliver mail, as opposed to
9076 invoking the sendmail binary. Setting this variable overrides the value of
9077 ``$sendmail'', and any associated variables.
9087 Defines the password to use with SMTP AUTH. If ``$smtp_user'' is set, but
9088 this variable is not, you will be prompted for a password when sending.
9090 Note: Storing passwords in a configuration file presents a security risk
9091 since the superuser of your machine may read it regardless of the file's
9102 Defines the port that the SMTP host is listening on for mail delivery.
9103 Must be specified as a number.
9105 Defaults to 25, the standard SMTP port, but RFC 2476-compliant SMTP
9106 servers will probably desire 587, the mail submission port.
9114 Availability: SMTP (and SSL)
9116 Defines wether to use STARTTLS. If this option is set to ``required'' and
9117 the server does not support STARTTLS or there is an error in the TLS
9118 Handshake, the connection will fail. Setting this to ``enabled'' will try
9119 to start TLS and continue without TLS in case of an error. Muttng still
9120 needs to have SSL support enabled in order to use it.
9130 Defines the username to use with SMTP AUTH. Setting this variable will
9131 cause Mutt-ng to attempt to use SMTP AUTH when sending.
9139 Specifies how to sort messages in the index menu. Valid values are:
9144 mailbox-order (unsorted)
9153 You may optionally use the ``reverse-'' prefix to specify reverse sorting
9154 order (example: set sort=reverse-date-sent).
9162 Specifies how the entries in the ``alias'' menu are sorted. The following
9165 address (sort alphabetically by email address)
9166 alias (sort alphabetically by alias name)
9167 unsorted (leave in order specified in .muttrc)
9176 When sorting by threads, this variable controls how threads are sorted in
9177 relation to other threads, and how the branches of the thread trees are
9178 sorted. This can be set to any value that ``$sort'' can, except threads
9179 (in that case, Mutt-ng will just use date-sent). You can also specify the
9180 ``last-'' prefix in addition to ``reverse-'' prefix, but last- must come
9181 after reverse-. The last- prefix causes messages to be sorted against its
9182 siblings by which has the last descendant, using the rest of sort_aux as
9185 For instance, set sort_aux=last-date-received would mean that if a new
9186 message is received in a thread, that thread becomes the last one
9187 displayed (or the first, if you have set sort=reverse-threads.)
9189 Note: For reversed ``$sort'' order $sort_aux is reversed again (which is
9190 not the right thing to do, but kept to not break any existing
9191 configuration setting).
9199 Specifies how to sort entries in the file browser. By default, the entries
9200 are sorted alphabetically. Valid values:
9202 alpha (alphabetically)
9208 You may optionally use the ``reverse-'' prefix to specify reverse sorting
9209 order (example: set sort_browser=reverse-date).
9217 This variable is only useful when sorting by threads with
9218 ``$strict_threads'' unset. In that case, it changes the heuristic Mutt-ng
9219 uses to thread messages by subject. With $sort_re set, Mutt-ng will only
9220 attach a message as the child of another message by subject if the subject
9221 of the child message starts with a substring matching the setting of
9222 ``$reply_regexp''. With $sort_re unset, Mutt-ng will attach the message
9223 whether or not this is the case, as long as the non-``$reply_regexp''
9224 parts of both messages are identical.
9232 ``spam_separator'' controls what happens when multiple spam headers are
9233 matched: if unset, each successive header will overwrite any previous
9234 matches value for the spam label. If set, each successive match will
9235 append to the previous, using ``spam_separator'' as a separator.
9243 If your spool mailbox is in a non-default place where Mutt-ng cannot find
9244 it, you can specify its location with this variable. Mutt-ng will
9245 automatically set this variable to the value of the environment variable
9246 $MAIL if it is not set.
9248 314. ssl_ca_certificates_file
9254 This variable specifies a file containing trusted CA certificates. Any
9255 server certificate that is signed with one of these CA certificates are
9256 also automatically accepted.
9258 Example: set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt
9260 315. ssl_client_cert
9268 The file containing a client certificate and its associated private key.
9276 If this variable is set, mutt-ng will require that all connections to
9277 remote servers be encrypted. Furthermore it will attempt to negotiate TLS
9278 even if the server does not advertise the capability, since it would
9279 otherwise have to abort the connection anyway. This option supersedes
9282 317. ssl_min_dh_prime_bits
9288 Availability: GNUTLS
9290 This variable specifies the minimum acceptable prime size (in bits) for
9291 use in any Diffie-Hellman key exchange. A value of 0 will use the default
9292 from the GNUTLS library.
9300 Availability: SSL or GNUTLS
9302 If set (the default), Mutt-ng will attempt to use STARTTLS on servers
9303 advertising the capability. When unset, Mutt-ng will not attempt to use
9304 STARTTLS regardless of the server's capabilities.
9314 This variables specifies whether to attempt to use SSLv2 in the SSL
9315 authentication process.
9323 Availability: SSL or GNUTLS
9325 This variables specifies whether to attempt to use SSLv3 in the SSL
9326 authentication process.
9334 Availability: SSL or GNUTLS
9336 This variables specifies whether to attempt to use TLSv1 in the SSL
9337 authentication process.
9339 322. ssl_usesystemcerts
9347 If set to yes, Mutt-ng will use CA certificates in the system-wide
9348 certificate store when checking if server certificate is signed by a
9357 Controls the characters used by the ``%r'' indicator in
9358 ``$status_format''. The first character is used when the mailbox is
9359 unchanged. The second is used when the mailbox has been changed, and it
9360 needs to be resynchronized. The third is used if the mailbox is in
9361 read-only mode, or if the mailbox will not be written when exiting that
9362 mailbox (You can toggle whether to write changes to a mailbox with the
9363 toggle-write operation, bound by default to ``%''). The fourth is used to
9364 indicate that the current folder has been opened in attach-message mode
9365 (Certain operations like composing a new mail, replying, forwarding, etc.
9366 are not permitted in this mode).
9372 Default: "-%r-Mutt-ng: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d?
9373 Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l?
9374 %l?]---(%s/%S)-%>-(%P)---"
9376 Controls the format of the status line displayed in the index menu. This
9377 string is similar to ``$index_format'', but has its own set of
9378 printf(3)-like sequences:
9382 number of mailboxes with new mail *
9386 the short pathname of the current mailbox
9390 number of deleted messages *
9394 the full pathname of the current mailbox
9398 number of flagged messages *
9406 size (in bytes) of the current mailbox *
9410 size (in bytes) of the messages shown (i.e., which match the
9415 the number of messages in the mailbox *
9419 the number of messages shown (i.e., which match the current limit)
9424 number of new messages in the mailbox *
9428 number of old unread messages *
9432 number of postponed messages *
9436 percentage of the way through the index
9440 modified/read-only/won't-write/attach-message indicator, according
9445 current sorting mode ($sort)
9449 current aux sorting method ($sort_aux)
9453 number of tagged messages *
9457 number of unread messages *
9461 Mutt-ng version string
9465 currently active limit pattern, if any *
9469 right justify the rest of the string and pad with "X"
9473 pad to the end of the line with "X"
9475 * = can be optionally printed if nonzero
9477 Some of the above sequences can be used to optionally print a string if
9478 their value is nonzero. For example, you may only want to see the number
9479 of flagged messages if such messages exist, since zero is not particularly
9480 meaningful. To optionally print a string based upon one of the above
9481 sequences, the following construct is used
9483 %?<sequence_char>?<optional_string>?
9485 where sequence_char is a character from the table above, and
9486 optional_string is the string you would like printed if sequence_char is
9487 nonzero. optional_string may contain other sequences as well as normal
9488 text, but you may not nest optional strings.
9490 Here is an example illustrating how to optionally print the number of new
9491 messages in a mailbox:
9493 %?n?%n new messages.?
9495 Additionally you can switch between two strings, the first one, if a value
9496 is zero, the second one, if the value is nonzero, by using the following
9499 %?<sequence_char>?<if_string>&<else_string>?
9501 You can additionally force the result of any printf(3)-like sequence to be
9502 lowercase by prefixing the sequence character with an underscore (_) sign.
9503 For example, if you want to display the local hostname in lowercase, you
9508 If you prefix the sequence character with a colon (:) character, Mutt-ng
9509 will replace any dots in the expansion by underscores. This might be
9510 helpful with IMAP folders that don't like dots in folder names.
9518 Setting this variable causes the ``status bar'' to be displayed on the
9519 first line of the screen rather than near the bottom.
9527 With mailto: style links, a body as well as arbitrary header information
9528 may be embedded. This may lead to (user) headers being overwriten without
9529 note if ``$edit_headers'' is unset.
9531 If this variable is set, mutt-ng is strict and allows anything to be
9532 changed. If it's unset, all headers given will be prefixed with
9533 ``X-Mailto-'' and the message including headers will be shown in the
9534 editor regardless of what ``$edit_headers'' is set to.
9542 When unset, non MIME-compliant messages that doesn't have any charset
9543 indication in the ``Content-Type:'' header field can be displayed (non
9544 MIME-compliant messages are often generated by old mailers or buggy
9545 mailers like MS Outlook Express). See also $assumed_charset.
9547 This option also replaces linear-white-space between encoded-word and
9548 *text to a single space to prevent the display of MIME-encoded
9549 ``Subject:'' header field from being devided into multiple lines.
9557 If set, threading will only make use of the ``In-Reply-To:'' and
9558 ``References:'' header fields when you ``$sort'' by message threads. By
9559 default, messages with the same subject are grouped together in ``pseudo
9560 threads.'' This may not always be desirable, such as in a personal mailbox
9561 where you might have several unrelated messages with the subject ``hi''
9562 which will get grouped together.
9570 When set, mutt-ng will remove the trailing part of the ``Subject:'' line
9571 which matches $strip_was_regex when replying. This is useful to properly
9572 react on subject changes and reduce ``subject noise.'' (esp. in Usenet)
9574 330. strip_was_regex
9576 Type: regular expression
9578 Default: "\([Ww][Aa][RrSs]: .*\)[ ]*$"
9580 When non-empty and $strip_was is set, mutt-ng will remove this trailing
9581 part of the ``Subject'' line when replying if it won't be empty
9590 If set, attachments with flowed format will have their quoting
9591 ``stuffed'', i.e. a space will be inserted between the quote characters
9592 and the actual text.
9600 When unset, Mutt-ng won't stop when the user presses the terminal's susp
9601 key, usually CTRL+Z. This is useful if you run Mutt-ng inside an xterm
9602 using a command like ``xterm -e muttng.''
9610 When set, Mutt-ng will generate text/plain; format=flowed attachments.
9611 This format is easier to handle for some mailing software, and generally
9612 just looks like ordinary text. To actually make use of this format's
9613 features, you'll need support in your editor.
9615 Note that $indent_string is ignored when this option is set.
9617 334. thorough_search
9623 Affects the ˜b and ˜h search operations described in section
9624 ``patterns'' above. If set, the headers and attachments of messages to be
9625 searched are decoded before searching. If unset, messages are searched as
9626 they appear in the folder.
9628 335. thread_received
9634 When set, Mutt-ng uses the date received rather than the date sent to
9635 thread messages by subject.
9643 When set, the internal-pager will pad blank lines to the bottom of the
9644 screen with a tilde (˜).
9652 This variable controls the number of seconds Mutt-ng will wait for a key
9653 to be pressed in the main menu before timing out and checking for new
9654 mail. A value of zero or less will cause Mutt-ng to never time out.
9662 This variable allows you to specify where Mutt-ng will place its temporary
9663 files needed for displaying and composing messages. If this variable is
9664 not set, the environment variable $TMPDIR is used. If $TMPDIR is not set
9665 then "/tmp" is used.
9673 Controls the character used to indicate mail addressed to you. The first
9674 character is the one used when the mail is NOT addressed to your address
9675 (default: space). The second is used when you are the only recipient of
9676 the message (default: +). The third is when your address appears in the
9677 ``To:'' header field, but you are not the only recipient of the message
9678 (default: T). The fourth character is used when your address is specified
9679 in the ``Cc:'' header field, but you are not the only recipient. The fifth
9680 character is used to indicate mail that was sent by you. The sixth
9681 character is used to indicate when a mail was sent to a mailing-list
9682 you're subscribe to (default: L).
9690 If set, this variable specifies the path of the trash folder where the
9691 mails marked for deletion will be moved, instead of being irremediably
9694 Note: When you delete a message in the trash folder, it is really deleted,
9695 so that there is no way to recover mail.
9703 Setting this variable will cause Mutt-ng to open a pipe to a command
9704 instead of a raw socket. You may be able to use this to set up
9705 preauthenticated connections to your IMAP/POP3 server. Example:
9707 tunnel="ssh -q mailhost.net /usr/local/libexec/imapd"
9709 Note: For this example to work you must be able to log in to the remote
9710 machine without having to enter a password.
9718 This sets the umask that will be used by Mutt-ng when creating all kinds
9719 of files. If unset, the default value is 077.
9721 343. uncollapse_jump
9727 When set, Mutt-ng will jump to the next unread message, if any, when the
9728 current thread is uncollapsed.
9736 Warning: do not set this variable unless you are using a version of
9737 sendmail which supports the -B8BITMIME flag (such as sendmail 8.8.x) or in
9738 connection with the SMTP support via libESMTP. Otherwise you may not be
9741 When set, Mutt-ng will either invoke ``$sendmail'' with the -B8BITMIME
9742 flag when sending 8-bit messages to enable ESMTP negotiation or tell
9751 When set, Mutt-ng will qualify all local addresses (ones without the @host
9752 portion) with the value of ``$hostname''. If unset, no addresses will be
9761 When set, Mutt-ng will generate the ``From:'' header field when sending
9762 messages. If unset, no ``From:'' header field will be generated unless the
9763 user explicitly sets one using the ``my_hdr'' command.
9773 When set, Mutt-ng will show you international domain names decoded.
9775 Note: You can use IDNs for addresses even if this is unset. This variable
9776 only affects decoding.
9784 When set, Mutt-ng will look for IPv6 addresses of hosts it tries to
9785 contact. If this option is unset, Mutt-ng will restrict itself to IPv4
9786 addresses. Normally, the default should work.
9794 Specifies the visual editor to invoke when the ˜v command is given in the
9803 Controls whether Mutt-ng will ask you to press a key after shell- escape,
9804 pipe-message, pipe-entry, print-message, and print-entry commands.
9806 It is also used when viewing attachments with ``auto_view'', provided that
9807 the corresponding mailcap entry has a needsterminal flag, and the external
9808 program is interactive.
9810 When set, Mutt-ng will always ask for a key. When unset, Mutt-ng will wait
9811 for a key only if the external command returned a non-zero status.
9819 When set, Mutt-ng will weed headers when displaying, forwarding, printing,
9820 or replying to messages.
9828 Controls whether searches wrap around the end of the mailbox.
9830 When set, searches will wrap around the first (or last) message. When
9831 unset, searches will not wrap.
9839 Controls the size of the margin remaining at the right side of the
9840 terminal when Mutt-ng's pager does smart wrapping.
9848 Controls whether Mutt-ng writes out the Bcc header when preparing messages
9849 to be sent. Exim users may wish to unset this.
9857 When writing a mailbox, a message will be printed every write_inc messages
9858 to indicate progress. If set to 0, only a single message will be displayed
9859 before writing a mailbox.
9861 Also see the ``$read_inc'' variable.
9867 Default: "M%?n?AIL&ail?"
9869 Controls the format of the X11 icon title, as long as $xterm_set_titles is
9870 set. This string is identical in formatting to the one used by
9879 If $xterm_set_titles is set, this string will be used to set the title
9880 when leaving mutt-ng. For terminal-based programs, there's no easy and
9881 portable way to read the current title so mutt-ng cannot read it upon
9882 startup and restore it when exiting.
9884 Based on the xterm FAQ, the following might work:
9886 set xterm_leave = "`test x$DISPLAY != x && xprop -id $WINDOWID | grep
9887 WM_NAME | cut -d '"' -f 2`"
9889 358. xterm_set_titles
9895 Controls whether Mutt-ng sets the xterm title bar and icon name (as long
9896 as you're in an appropriate terminal). The default must be unset to force
9897 in the validity checking.
9903 Default: "Mutt-ng with %?m?%m messages&no messages?%?n? [%n New]?"
9905 Controls the format of the title bar of the xterm provided that
9906 $xterm_set_titles has been set. This string is identical in formatting to
9907 the one used by ``$status_format''.
9911 The following is the list of available functions listed by the mapping in
9912 which they are available. The default key setting is given, and an
9913 explanation of what the function does. The key bindings of these functions
9914 can be changed with the bind command.
9918 The generic menu is not a real menu, but specifies common functions (such
9919 as movement) available in all menus except for pager and editor. Changing
9920 settings for this menu will affect the default bindings for all menus
9923 bottom-page L move to the bottom of the page
9924 current-bottom not bound move current entry to bottom of page
9925 current-middle not bound move current entry to middle of page
9926 current-top not bound move current entry to top of page
9927 enter-command : enter a muttngrc command
9928 exit q exit this menu
9929 first-entry = move to the first entry
9930 half-down ] scroll down 1/2 page
9931 half-up [ scroll up 1/2 page
9933 jump number jump to an index number
9934 last-entry * move to the last entry
9935 middle-page M move to the middle of the page
9936 next-entry j move to the next entry
9937 next-line > scroll down one line
9938 next-page z move to the next page
9939 previous-entry k move to the previous entry
9940 previous-line < scroll up one line
9941 previous-page Z move to the previous page
9942 refresh ^L clear and redraw the screen
9943 search / search for a regular expression
9944 search-next n search for next match
9945 search-opposite not bound search for next match in opposite direction
9946 search-reverse ESC / search backwards for a regular expression
9947 select-entry RET select the current entry
9948 shell-escape ! run a program in a subshell
9949 tag-entry t toggle the tag on the current entry
9950 tag-prefix ; apply next command to tagged entries
9951 tag-prefix-cond not bound apply next function ONLY to tagged messages
9952 top-page H move to the top of the page
9953 what-key not bound display the keycode for a key press
9957 bounce-message b remail a message to another user
9958 change-folder c open a different folder
9959 change-folder-readonly ESC c open a different folder in read only mode
9960 check-traditional-pgp ESC P check for classic pgp
9961 clear-flag W clear a status flag from a message
9962 copy-message C copy a message to a file/mailbox
9963 create-alias a create an alias from a message sender
9964 decode-copy ESC C decode a message and copy it to a file/mailbox
9965 decode-save ESC s decode a message and save it to a file/mailbox
9966 delete-message d delete the current entry
9967 delete-pattern D delete messages matching a pattern
9968 delete-subthread ESC d delete all messages in subthread
9969 delete-thread ^D delete all messages in thread
9970 display-address @ display full address of sender
9971 display-toggle-weed h display message and toggle header weeding
9972 display-message RET display a message
9973 edit e edit the current message
9974 edit-type ^E edit the current message's Content-Type
9975 exit x exit without saving changes
9976 extract-keys ^K extract PGP public keys
9977 fetch-mail G retrieve mail from POP server
9978 flag-message F toggle a message's 'important' flag
9979 forget-passphrase ^F wipe PGP passphrase from memory
9980 forward-message f forward a message with comments
9981 group-reply g reply to all recipients
9982 limit l show only messages matching a pattern
9983 list-reply L reply to specified mailing list
9984 mail m compose a new mail message
9985 mail-key ESC k mail a PGP public key
9986 next-new TAB jump to the next new message
9987 next-subthread ESC n jump to the next subthread
9988 next-thread ^N jump to the next thread
9989 next-undeleted j move to the next undeleted message
9990 next-unread not bound jump to the next unread message
9991 parent-message P jump to parent message in thread
9992 pipe-message | pipe message/attachment to a shell command
9993 previous-new ESC TAB jump to the previous new message
9994 previous-page Z move to the previous page
9995 previous-subthread ESC p jump to previous subthread
9996 previous-thread ^P jump to previous thread
9997 previous-undeleted k move to the last undelete message
9998 previous-unread not bound jump to the previous unread message
9999 print-message p print the current entry
10000 query Q query external program for addresses
10001 quit q save changes to mailbox and quit
10002 read-subthread ESC r mark the current subthread as read
10003 read-thread ^R mark the current thread as read
10004 recall-message R recall a postponed message
10005 reply r reply to a message
10006 resend-message ESC e resend message and preserve MIME structure
10007 save-message s save message/attachment to a file
10008 set-flag w set a status flag on a message
10009 show-version V show the Mutt-ng version number and date
10010 show-limit ESC l show currently active limit pattern, if any
10011 sort-mailbox o sort messages
10012 sort-reverse O sort messages in reverse order
10013 sync-mailbox $ save changes to mailbox
10014 tag-pattern T tag messages matching a pattern
10015 tag-thread ESC t tag/untag all messages in the current thread
10016 toggle-new N toggle a message's 'new' flag
10017 toggle-write % toggle whether the mailbox will be rewritten
10018 undelete-message u undelete the current entry
10019 undelete-pattern U undelete messages matching a pattern
10020 undelete-subthread ESC u undelete all messages in subthread
10021 undelete-thread ^U undelete all messages in thread
10022 untag-pattern ^T untag messages matching a pattern
10023 view-attachments v show MIME attachments
10027 bottom not bound jump to the bottom of the message
10028 bounce-message b remail a message to another user
10029 change-folder c open a different folder
10030 change-folder-readonly ESC c open a different folder in read only mode
10031 check-traditional-pgp ESC P check for classic pgp
10032 copy-message C copy a message to a file/mailbox
10033 create-alias a create an alias from a message sender
10034 decode-copy ESC C decode a message and copy it to a file/mailbox
10035 decode-save ESC s decode a message and save it to a file/mailbox
10036 delete-message d delete the current entry
10037 delete-subthread ESC d delete all messages in subthread
10038 delete-thread ^D delete all messages in thread
10039 display-address @ display full address of sender
10040 display-toggle-weed h display message and toggle header weeding
10041 edit e edit the current message
10042 edit-type ^E edit the current message's Content-Type
10043 enter-command : enter a muttngrc command
10044 exit i return to the main-menu
10045 extract-keys ^K extract PGP public keys
10046 flag-message F toggle a message's 'important' flag
10047 forget-passphrase ^F wipe PGP passphrase from memory
10048 forward-message f forward a message with comments
10049 group-reply g reply to all recipients
10050 half-up not bound move up one-half page
10051 half-down not bound move down one-half page
10053 list-reply L reply to specified mailing list
10054 mail m compose a new mail message
10055 mail-key ESC k mail a PGP public key
10056 mark-as-new N toggle a message's 'new' flag
10057 next-line RET scroll down one line
10058 next-entry J move to the next entry
10059 next-new TAB jump to the next new message
10060 next-page move to the next page
10061 next-subthread ESC n jump to the next subthread
10062 next-thread ^N jump to the next thread
10063 next-undeleted j move to the next undeleted message
10064 next-unread not bound jump to the next unread message
10065 parent-message P jump to parent message in thread
10066 pipe-message | pipe message/attachment to a shell command
10067 previous-line BackSpace scroll up one line
10068 previous-entry K move to the previous entry
10069 previous-new not bound jump to the previous new message
10070 previous-page - move to the previous page
10071 previous-subthread ESC p jump to previous subthread
10072 previous-thread ^P jump to previous thread
10073 previous-undeleted k move to the last undelete message
10074 previous-unread not bound jump to the previous unread message
10075 print-message p print the current entry
10076 quit Q save changes to mailbox and quit
10077 read-subthread ESC r mark the current subthread as read
10078 read-thread ^R mark the current thread as read
10079 recall-message R recall a postponed message
10080 redraw-screen ^L clear and redraw the screen
10081 reply r reply to a message
10082 save-message s save message/attachment to a file
10083 search / search for a regular expression
10084 search-next n search for next match
10085 search-opposite not bound search for next match in opposite direction
10086 search-reverse ESC / search backwards for a regular expression
10087 search-toggle \ toggle search pattern coloring
10088 shell-escape ! invoke a command in a subshell
10089 show-version V show the Mutt-ng version number and date
10090 skip-quoted S skip beyond quoted text
10091 sync-mailbox $ save changes to mailbox
10092 tag-message t tag a message
10093 toggle-quoted T toggle display of quoted text
10094 top ^ jump to the top of the message
10095 undelete-message u undelete the current entry
10096 undelete-subthread ESC u undelete all messages in subthread
10097 undelete-thread ^U undelete all messages in thread
10098 view-attachments v show MIME attachments
10102 search / search for a regular expression
10103 search-next n search for next match
10104 search-reverse ESC / search backwards for a regular expression
10108 create-alias a create an alias from a message sender
10109 mail m compose a new mail message
10110 query Q query external program for addresses
10111 query-append A append new query results to current results
10112 search / search for a regular expression
10113 search-next n search for next match
10114 search-opposite not bound search for next match in opposite direction
10115 search-reverse ESC / search backwards for a regular expression
10119 bounce-message b remail a message to another user
10120 collapse-parts v toggle display of subparts
10121 delete-entry d delete the current entry
10122 display-toggle-weed h display message and toggle header weeding
10123 edit-type ^E edit the current entry's Content-Type
10124 extract-keys ^K extract PGP public keys
10125 forward-message f forward a message with comments
10126 group-reply g reply to all recipients
10127 list-reply L reply to specified mailing list
10128 pipe-entry | pipe message/attachment to a shell command
10129 print-entry p print the current entry
10130 reply r reply to a message
10131 resend-message ESC e resend message and preserve MIME structure
10132 save-entry s save message/attachment to a file
10133 undelete-entry u undelete the current entry
10134 view-attach RET view attachment using mailcap entry if necessary
10135 view-mailcap m force viewing of attachment using mailcap
10136 view-text T view attachment as text
10140 attach-file a attach a file(s) to this message
10141 attach-message A attach message(s) to this message
10142 attach-key ESC k attach a PGP public key
10143 copy-file C save message/attachment to a file
10144 detach-file D delete the current entry
10145 display-toggle-weed h display message and toggle header weeding
10146 edit-bcc b edit the BCC list
10147 edit-cc c edit the CC list
10148 edit-description d edit attachment description
10149 edit-encoding ^E edit attachment transfer-encoding
10150 edit-fcc f enter a file to save a copy of this message in
10151 edit-from ESC f edit the from: field
10152 edit-file ^X e edit the file to be attached
10153 edit-headers E edit the message with headers
10154 edit e edit the message
10155 edit-mime m edit attachment using mailcap entry
10156 edit-reply-to r edit the Reply-To field
10157 edit-subject s edit the subject of this message
10158 edit-to t edit the TO list
10159 edit-type ^T edit attachment type
10160 filter-entry F filter attachment through a shell command
10161 forget-passphrase ^F wipe PGP passphrase from memory
10162 ispell i run ispell on the message
10163 new-mime n compose new attachment using mailcap entry
10164 pgp-menu p show PGP options
10165 pipe-entry | pipe message/attachment to a shell command
10166 postpone-message P save this message to send later
10167 print-entry l print the current entry
10168 rename-file R rename/move an attached file
10169 send-message y send the message
10170 toggle-unlink u toggle whether to delete file after sending it
10171 view-attach RET view attachment using mailcap entry if necessary
10172 write-fcc w write the message to a folder
10176 delete-entry d delete the current entry
10177 undelete-entry u undelete the current entry
10181 change-dir c change directories
10182 check-new TAB check mailboxes for new mail
10183 enter-mask m enter a file mask
10184 search / search for a regular expression
10185 search-next n search for next match
10186 search-reverse ESC / search backwards for a regular expression
10187 select-new N select a new file in this directory
10188 sort o sort messages
10189 sort-reverse O sort messages in reverse order
10190 toggle-mailboxes TAB toggle whether to browse mailboxes or all files
10191 view-file SPACE view file
10192 subscribe s subscribe to current mailbox (IMAP Only)
10193 unsubscribe u unsubscribe to current mailbox (IMAP Only)
10194 toggle-subscribed T toggle view all/subscribed mailboxes (IMAP Only)
10198 view-name % view the key's user id
10199 verify-key c verify a PGP public key
10203 backspace BackSpace delete the char in front of the cursor
10204 backward-char ^B move the cursor one character to the left
10205 backward-word ESC b move the cursor to the previous word
10206 bol ^A jump to the beginning of the line
10207 buffy-cycle Space cycle among incoming mailboxes
10208 capitalize-word ESC c uppercase the first character in the word
10209 complete TAB complete filename or alias
10210 complete-query ^T complete address with query
10211 delete-char ^D delete the char under the cursor
10212 downcase-word ESC l lowercase all characters in current word
10213 eol ^E jump to the end of the line
10214 forward-char ^F move the cursor one character to the right
10215 forward-word ESC f move the cursor to the next word
10216 history-down not bound scroll down through the history list
10217 history-up not bound scroll up through the history list
10218 kill-eol ^K delete chars from cursor to end of line
10219 kill-eow ESC d delete chars from cursor to end of word
10220 kill-line ^U delete all chars on the line
10221 kill-word ^W delete the word in front of the cursor
10222 quote-char ^V quote the next typed key
10223 transpose-chars not bound transpose character under cursor with previous
10224 upcase-word ESC u uppercase all characters in current word
10226 Chapter 8. Miscellany
10234 Kari Hurtta <kari.hurtta@fmi.fi> co-developed the original MIME >parsing
10235 code back in the ELM-ME days.
10237 The following people have been very helpful to the development of Mutt:
10239 Vikas Agnihotri <vikasa@writeme.com>, Francois Berjon
10240 <Francois.Berjon@aar.alcatel-alsthom.fr>, Aric Blumer <aric@fore.com>,
10241 John Capo <jc@irbs.com>, David Champion <dgc@uchicago.edu, Brendan Cully
10242 <brendan@kublai.com>, Liviu Daia <daia@stoilow.imar.ro>, Thomas E. Dickey
10243 <dickey@herndon4.his.com>, David DeSimone <fox@convex.hp.com>, Nickolay N.
10244 Dudorov <nnd@wint.itfs.nsk.su>, Ruslan Ermilov <ru@freebsd.org>, Edmund
10245 Grimley Evans <edmundo@rano.org, Michael Finken <finken@conware.de>, Sven
10246 Guckes <guckes@math.fu-berlin.de>, Lars Hecking <lhecking@nmrc.ie>, Mark
10247 Holloman <holloman@nando.net>, Andreas Holzmann
10248 <holzmann@fmi.uni-passau.de>, Marco d'Itri <md@linux.it>, Björn Jacke
10249 <bjacke@suse.com>, Byrial Jensen <byrial@image.dk>, David Jeske
10250 <jeske@igcom.net>, Christophe Kalt <kalt@hugo.int-evry.fr>, Tommi
10251 Komulainen <Tommi.Komulainen@iki.fi>, Felix von Leitner (a.k.a ``Fefe'')
10252 <leitner@math.fu-berlin.de>, Brandon Long <blong@fiction.net>, Jimmy
10253 Mäkelä <jmy@flashback.net>, Lars Marowsky-Bree
10254 <lmb@pointer.in-minden.de>, Thomas ``Mike'' Michlmayr
10255 <mike@cosy.sbg.ac.at>, Andrew W. Nosenko <awn@bcs.zp.ua>, David O'Brien
10256 <obrien@Nuxi.cs.ucdavis.edu>, Clint Olsen <olsenc@ichips.intel.com>, Park
10257 Myeong Seok <pms@romance.kaist.ac.kr>, Thomas Parmelan
10258 <tom@ankh.fr.eu.org>, Ollivier Robert <roberto@keltia.freenix.fr>, Thomas
10259 Roessler <roessler@does-not-exist.org>, Roland Rosenfeld
10260 <roland@spinnaker.de>, TAKIZAWA Takashi <taki@luna.email.ne.jp>, Allain
10261 Thivillon <Allain.Thivillon@alma.fr> Gero Treuner
10262 <gero@faveve.uni-stuttgart.de>, Vsevolod Volkov <vvv@lucky.net>, Ken
10263 Weinert <kenw@ihs.com>
10265 Mutt-ng is developed by the following people:
10267 Andreas Krennmair <ak@synflood.at>, Nico Golde <nico@ngolde.de>, Rocco
10268 Rutte <pdmef@cs.tu-berlin.de>
10270 The following people have been very helpful to the development of Mutt-ng:
10272 Christian Gall <cg@cgall.de>, Iain Lea <iain@bricbrac.de>, Andreas Kneib
10273 <akneib@gmx.net>, Carsten Schoelzki <cjs@weisshuhn.de>, Elimar Riesebieter
10274 <riesebie@lxtec.de>