Rocco Rutte:
[apps/madmutt.git] / doc / manual.txt
1                      The Mutt Next Generation E-Mail Client
2
3   by Andreas Krennmair and others originally based on mutt by Michael Elkins and
4   others
5
6    version devel-r473
7
8    Abstract
9
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!''
12
13    --------------------------------------------------------------------------
14
15    Table of Contents
16
17    1. Introduction
18
19                 1. Overview
20
21                 2. Mutt-ng Home Page
22
23                 3. Mailing Lists
24
25                 4. Software Distribution Sites
26
27                 5. IRC
28
29                 6. Weblog
30
31                 7. Copyright
32
33    2. Getting Started
34
35                 1. Basic Concepts
36
37                              1.1. Screens and Menus
38
39                              1.2. Configuration
40
41                              1.3. Functions
42
43                              1.4. Interaction
44
45                              1.5. Modularization
46
47                              1.6. Patterns
48
49                 2. Screens and Menus
50
51                              2.1. Index
52
53                              2.2. Pager
54
55                              2.3. File Browser
56
57                              2.4. Sidebar
58
59                              2.5. Help
60
61                              2.6. Compose Menu
62
63                              2.7. Alias Menu
64
65                              2.8. Attachment Menu
66
67                              2.9. Key Menu
68
69                 3. Moving Around in Menus
70
71                 4. Editing Input Fields
72
73                 5. Reading Mail - The Index and Pager
74
75                              5.1. The Message Index
76
77                              5.2. The Pager
78
79                              5.3. Threaded Mode
80
81                              5.4. Miscellaneous Functions
82
83                 6. Sending Mail
84
85                              6.1. Composing new messages
86
87                              6.2. Replying
88
89                              6.3. Editing the message header
90
91                              6.4. Using Mutt-ng with PGP
92
93                              6.5. Sending anonymous messages via mixmaster
94
95                 7. Forwarding and Bouncing Mail
96
97                 8. Postponing Mail
98
99    3. Configuration
100
101                 1. Locations of Configuration Files
102
103                 2. Basic Syntax of Initialization Files
104
105                 3. Expansion within variables
106
107                              3.1. Commands' Output
108
109                              3.2. Environment Variables
110
111                              3.3. Configuration Variables
112
113                              3.4. Self-Defined Variables
114
115                              3.5. Pre-Defined Variables
116
117                              3.6. Type Conversions
118
119                 4. Defining/Using aliases
120
121                 5. Changing the default key bindings
122
123                 6. Defining aliases for character sets
124
125                 7. Setting variables based upon mailbox
126
127                 8. Keyboard macros
128
129                 9. Using color and mono video attributes
130
131                 10. Ignoring (weeding) unwanted message headers
132
133                 11. Alternative addresses
134
135                 12. Format = Flowed
136
137                              12.1. Introduction
138
139                              12.2. Receiving: Display Setup
140
141                              12.3. Sending
142
143                              12.4. Additional Notes
144
145                 13. Mailing lists
146
147                 14. Using Multiple spool mailboxes
148
149                 15. Defining mailboxes which receive mail
150
151                 16. User defined headers
152
153                 17. Defining the order of headers when viewing messages
154
155                 18. Specify default save filename
156
157                 19. Specify default Fcc: mailbox when composing
158
159                 20. Specify default save filename and default Fcc: mailbox at
160                 once
161
162                 21. Change settings based upon message recipients
163
164                 22. Change settings before formatting a message
165
166                 23. Choosing the cryptographic key of the recipient
167
168                 24. Adding key sequences to the keyboard buffer
169
170                 25. Executing functions
171
172                 26. Message Scoring
173
174                 27. Spam detection
175
176                 28. Setting variables
177
178                 29. Reading initialization commands from another file
179
180                 30. Removing hooks
181
182                 31. Sharing Setups
183
184                              31.1. Character Sets
185
186                              31.2. Modularization
187
188                              31.3. Conditional parts
189
190                 32. Obsolete Variables
191
192    4. Advanced Usage
193
194                 1. Regular Expressions
195
196                 2. Patterns
197
198                              2.1. Complex Patterns
199
200                              2.2. Patterns and Dates
201
202                 3. Format Strings
203
204                              3.1. Introduction
205
206                              3.2. Conditional Expansion
207
208                              3.3. Modifications and Padding
209
210                 4. Using Tags
211
212                 5. Using Hooks
213
214                              5.1. Message Matching in Hooks
215
216                 6. Using the sidebar
217
218                 7. External Address Queries
219
220                 8. Mailbox Formats
221
222                 9. Mailbox Shortcuts
223
224                 10. Handling Mailing Lists
225
226                 11. Editing threads
227
228                              11.1. Linking threads
229
230                              11.2. Breaking threads
231
232                 12. Delivery Status Notification (DSN) Support
233
234                 13. POP3 Support (OPTIONAL)
235
236                 14. IMAP Support (OPTIONAL)
237
238                              14.1. The Folder Browser
239
240                              14.2. Authentication
241
242                 15. NNTP Support (OPTIONAL)
243
244                              15.1. Again: Scoring
245
246                 16. SMTP Support (OPTIONAL)
247
248                 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
249
250                 18. Start a WWW Browser on URLs (EXTERNAL)
251
252                 19. Compressed folders Support (OPTIONAL)
253
254                              19.1. Open a compressed mailbox for reading
255
256                              19.2. Write a compressed mailbox
257
258                              19.3. Append a message to a compressed mailbox
259
260                              19.4. Encrypted folders
261
262    5. Mutt-ng's MIME Support
263
264                 1. Using MIME in Mutt
265
266                              1.1. Viewing MIME messages in the pager
267
268                              1.2. The Attachment Menu
269
270                              1.3. The Compose Menu
271
272                 2. MIME Type configuration with mime.types
273
274                 3. MIME Viewer configuration with mailcap
275
276                              3.1. The Basics of the mailcap file
277
278                              3.2. Secure use of mailcap
279
280                              3.3. Advanced mailcap Usage
281
282                              3.4. Example mailcap files
283
284                 4. MIME Autoview
285
286                 5. MIME Multipart/Alternative
287
288                 6. MIME Lookup
289
290    6. Security Considerations
291
292                 1. Passwords
293
294                 2. Temporary Files
295
296                 3. Information Leaks
297
298                              3.1. Message-ID: headers
299
300                              3.2. mailto:-style links
301
302                 4. External applications
303
304                              4.1. mailcap
305
306                              4.2. Other
307
308    7. Reference
309
310                 1. Command line options
311
312                 2. Patterns
313
314                 3. Configuration Commands
315
316                 4. Configuration variables
317
318                 5. Functions
319
320                              5.1. generic
321
322                              5.2. index
323
324                              5.3. pager
325
326                              5.4. alias
327
328                              5.5. query
329
330                              5.6. attach
331
332                              5.7. compose
333
334                              5.8. postpone
335
336                              5.9. browser
337
338                              5.10. pgp
339
340                              5.11. editor
341
342    8. Miscellany
343
344                 1. Acknowledgments
345
346 Chapter 1. Introduction
347
348    Table of Contents
349
350    1. Overview
351
352    2. Mutt-ng Home Page
353
354    3. Mailing Lists
355
356    4. Software Distribution Sites
357
358    5. IRC
359
360    6. Weblog
361
362    7. Copyright
363
364 1. Overview
365
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.
371
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
378    more.
379
380 2. Mutt-ng Home Page
381
382    http://www.muttng.org
383
384 3. Mailing Lists
385
386      o mutt-ng-users@lists.berlios.de -- This is where the mutt-ng user
387        support happens.
388
389      o mutt-ng-devel@lists.berlios.de -- The development mailing list for
390        mutt-ng
391
392 4. Software Distribution Sites
393
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/
396
397 5. IRC
398
399    Visit channel #muttng on irc.freenode.net (www.freenode.net) to chat with
400    other people interested in Mutt-ng.
401
402 6. Weblog
403
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.
408
409 7. Copyright
410
411    Mutt is Copyright (C) 1996-2000 Michael R. Elkins <me@cs.hmc.edu> and
412    others
413
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)
417    any later version.
418
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
422    for more details.
423
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.
427
428 Chapter 2. Getting Started
429
430    Table of Contents
431
432    1. Basic Concepts
433
434                 1.1. Screens and Menus
435
436                 1.2. Configuration
437
438                 1.3. Functions
439
440                 1.4. Interaction
441
442                 1.5. Modularization
443
444                 1.6. Patterns
445
446    2. Screens and Menus
447
448                 2.1. Index
449
450                 2.2. Pager
451
452                 2.3. File Browser
453
454                 2.4. Sidebar
455
456                 2.5. Help
457
458                 2.6. Compose Menu
459
460                 2.7. Alias Menu
461
462                 2.8. Attachment Menu
463
464                 2.9. Key Menu
465
466    3. Moving Around in Menus
467
468    4. Editing Input Fields
469
470    5. Reading Mail - The Index and Pager
471
472                 5.1. The Message Index
473
474                 5.2. The Pager
475
476                 5.3. Threaded Mode
477
478                 5.4. Miscellaneous Functions
479
480    6. Sending Mail
481
482                 6.1. Composing new messages
483
484                 6.2. Replying
485
486                 6.3. Editing the message header
487
488                 6.4. Using Mutt-ng with PGP
489
490                 6.5. Sending anonymous messages via mixmaster
491
492    7. Forwarding and Bouncing Mail
493
494    8. Postponing Mail
495
496 1. Basic Concepts
497
498   1.1. Screens and Menus
499
500    mutt-ng offers different screens of which every has its special purpose:
501
502      o The index displays the contents of the currently opened mailbox.
503
504      o The pager is responsible for displaying messages, that is, the header,
505        the body and all attached parts.
506
507      o The file browser offers operations on and displays information of all
508        folders mutt-ng should watch for mail.
509
510      o The sidebar offers a permanent view of which mailboxes contain how
511        many total, new and/or flagged mails.
512
513      o The help screen lists for all currently available commands how to
514        invoke them as well as a short description.
515
516      o The compose menu is a comfortable interface take last actions before
517        sending mail: change subjects, attach files, remove attachements, etc.
518
519      o The attachement menu gives a summary and the tree structure of the
520        attachements of the current message.
521
522      o The alias menu lists all or a fraction of the aliases a user has
523        defined.
524
525      o The key menu used in connection with encryption lets users choose the
526        right key to encrypt with.
527
528    When mutt-ng is started without any further options, it'll open the users
529    default mailbox and display the index.
530
531   1.2. Configuration
532
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.)
536
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.
539
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.
544
545   1.3. Functions
546
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.
553
554   1.4. Interaction
555
556    Mutt-ng has two basic concepts of user interaction:
557
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.
562
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.
568
569   1.5. Modularization
570
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.
580
581   1.6. Patterns
582
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
586    and much more.
587
588 2. Screens and Menus
589
590   2.1. Index
591
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.
603
604   2.2. Pager
605
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
610    describe below.
611
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.
616
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.
621
622   2.3. File Browser
623
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.
630
631   2.4. Sidebar
632
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.
640
641   2.5. Help
642
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).
648
649   2.6. Compose Menu
650
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.
657
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.
660
661   2.7. Alias Menu
662
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.
669
670   2.8. Attachment Menu
671
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.
679
680   2.9. Key Menu
681
682    FIXME
683
684 3. Moving Around in Menus
685
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.
688
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
697
698 4. Editing Input Fields
699
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.
703
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
724  ^G              n/a             abort
725  <Return>        n/a             finish editing
726
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
730
731    bind editor <delete> backspace
732
733 5. Reading Mail - The Index and Pager
734
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.''
739
740    The next few sections describe the functions provided in each of these
741    modes.
742
743   5.1. The Message Index
744
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
752  F               mark as important
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
758  s               save-message
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
763  u               undelete-message
764  v               view-attachments
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
770  /               search
771  ESC /           search-reverse
772  ^L              clear and redraw the screen
773  ^T              untag messages matching a pattern
774
775     5.1.1. Status Flags
776
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:
780
781    D
782
783            message is deleted (is marked for deletion)
784
785    d
786
787            message have attachments marked for deletion
788
789    K
790
791            contains a PGP public key
792
793    N
794
795            message is new
796
797    O
798
799            message is old
800
801    P
802
803            message is PGP encrypted
804
805    r
806
807            message has been replied to
808
809    S
810
811            message is signed, and the signature is succesfully verified
812
813    s
814
815            message is signed
816
817    !
818
819            message is flagged
820
821    *
822
823            message is tagged
824
825    Some of the status flags can be turned on or off using
826
827      o set-flag (default: w)
828
829      o clear-flag (default: W)
830
831    Furthermore, the following flags reflect who the message is addressed to.
832    They can be customized with the $to_chars variable.
833
834    +
835
836            message is to you and you only
837
838    T
839
840            message is to you, but also to or cc'ed to others
841
842    C
843
844            message is cc'ed to you
845
846    F
847
848            message is from you
849
850    L
851
852            message is sent to a subscribed mailing list
853
854   5.2. The Pager
855
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.
859
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
866  ?               show key bindings
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
871
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).
875
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
883    for them.
884
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:
888
889  ESC [ Ps;Ps;Ps;...;Ps m
890  where Ps =
891  0    All Attributes Off
892  1    Bold on
893  4    Underline on
894  5    Blink on
895  7    Reverse video on
896  3x   Foreground color is x
897  4x   Background color is x
898
899  Colors are
900  0    black
901  1    red
902  2    green
903  3    yellow
904  4    blue
905  5    magenta
906  6    cyan
907  7    white
908
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.
914
915   5.3. Threaded Mode
916
917    When the mailbox is sorted by threads, there are a few additional
918    functions available in the index and pager modes.
919
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
934
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
940    thread is collapsed.
941
942    See also: strict-threads.
943
944   5.4. Miscellaneous Functions
945
946    create-alias (default: a)
947
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
952    source the file.
953
954    check-traditional-pgp (default: ESC P)
955
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.
961
962    display-toggle-weed (default: h)
963
964    Toggles the weeding of message header fields specified by ignore commands.
965
966    edit (default: e)
967
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.
972
973    edit-type (default: ^E on the attachment menu, and in the pager and index
974    menus; ^T on the compose menu)
975
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.
982
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.
985
986    enter-command (default: ``:'')
987
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.
991
992    extract-keys (default: ^K)
993
994    This command extracts PGP public keys from the current or tagged
995    message(s) and adds them to your PGP public key ring.
996
997    forget-passphrase (default: ^F)
998
999    This command wipes the passphrase(s) from memory. It is useful, if you
1000    misspelled the passphrase.
1001
1002    list-reply (default: L)
1003
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.
1010
1011    pipe-message (default: |)
1012
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.
1016
1017    resend-message (default: ESC e)
1018
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.
1024
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.
1028
1029    shell-escape (default: !)
1030
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.
1035
1036    toggle-quoted (default: T)
1037
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
1042    in the way.
1043
1044    skip-quoted (default: S)
1045
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.
1048
1049 6. Sending Mail
1050
1051    The following bindings are available in the index for sending messages.
1052
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
1060
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.
1065
1066   6.1. Composing new messages
1067
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
1070    line:
1071
1072  To:
1073
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
1079    enter your email.
1080
1081    The editor that is called is selected in the following way: you can e.g.
1082    set it in the mutt-ng configuration:
1083
1084  set editor = "vim +/^$/ -c ':set tw=72'"
1085  set editor = "nano"
1086  set editor = "emacs"
1087
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.
1095
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.
1103
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.
1107
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
1114    caution.
1115
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:
1119
1120  set edit_headers
1121
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:
1124
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
1145
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.
1152
1153   6.2. Replying
1154
1155     6.2.1. Simple Replies
1156
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
1162    example below.
1163
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.
1169
1170
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.
1176
1177    The quote attribution is configurable, by default it is set to
1178
1179  set attribution = "On %d, %n wrote:"
1180
1181
1182    It can also be set to something more compact, e.g.
1183
1184  set attribution = "attribution="* %n <%a> [%(%y-%m-%d %H:%M)]:"
1185
1186
1187    The example above results in the following attribution:
1188
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.
1194
1195
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.
1200
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
1203    as before.
1204
1205     6.2.2. Group Replies
1206
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.
1213
1214     6.2.3. List Replies
1215
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.
1219
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
1226    reply address.
1227
1228  lists linuxevent@luga\.at vuln-dev@ mutt-ng-users@
1229
1230
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.
1234
1235   6.3. Editing the message header
1236
1237    When editing the header of your outgoing message, there are a couple of
1238    special features available.
1239
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.
1242
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.
1246
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.
1250
1251    Also see edit-headers.
1252
1253   6.4. Using Mutt-ng with PGP
1254
1255    If you want to use PGP, you can specify
1256
1257    Pgp: [ E | S | S<id> ]
1258
1259    ``E'' encrypts, ``S'' signs and ``S<id>'' signs with the given key,
1260    setting pgp-sign-as permanently.
1261
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.
1268
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
1273    screen.
1274
1275    Once you have successfully finished the key selection, the message will be
1276    encrypted using the selected public keys, and sent out.
1277
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.
1281
1282    The flags sequence (%f) will expand to one of the following flags:
1283
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
1288               packets.
1289
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.
1296
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.
1301
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.
1306
1307   6.5. Sending anonymous messages via mixmaster
1308
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.
1315
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
1319    menu.
1320
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.
1324
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.
1333
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.
1341
1342 7. Forwarding and Bouncing Mail
1343
1344    Often, it is necessary to forward mails to other people. Therefore,
1345    mutt-ng supports forwarding messages in two different ways.
1346
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:
1352
1353  ----- Forwarded message from Lucas User <luser@example.com> -----
1354
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
1359
1360  Pay me EUR 50,000.- cash or your favorite stuffed animal will die
1361  a horrible death.
1362
1363
1364  ----- End forwarded message -----
1365
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.
1369
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.
1377
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.
1382
1383 8. Postponing Mail
1384
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
1390    time.
1391
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.
1397
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.
1402
1403    See also the postpone quad-option.
1404
1405 Chapter 3. Configuration
1406
1407    Table of Contents
1408
1409    1. Locations of Configuration Files
1410
1411    2. Basic Syntax of Initialization Files
1412
1413    3. Expansion within variables
1414
1415                 3.1. Commands' Output
1416
1417                 3.2. Environment Variables
1418
1419                 3.3. Configuration Variables
1420
1421                 3.4. Self-Defined Variables
1422
1423                 3.5. Pre-Defined Variables
1424
1425                 3.6. Type Conversions
1426
1427    4. Defining/Using aliases
1428
1429    5. Changing the default key bindings
1430
1431    6. Defining aliases for character sets
1432
1433    7. Setting variables based upon mailbox
1434
1435    8. Keyboard macros
1436
1437    9. Using color and mono video attributes
1438
1439    10. Ignoring (weeding) unwanted message headers
1440
1441    11. Alternative addresses
1442
1443    12. Format = Flowed
1444
1445                 12.1. Introduction
1446
1447                 12.2. Receiving: Display Setup
1448
1449                 12.3. Sending
1450
1451                 12.4. Additional Notes
1452
1453    13. Mailing lists
1454
1455    14. Using Multiple spool mailboxes
1456
1457    15. Defining mailboxes which receive mail
1458
1459    16. User defined headers
1460
1461    17. Defining the order of headers when viewing messages
1462
1463    18. Specify default save filename
1464
1465    19. Specify default Fcc: mailbox when composing
1466
1467    20. Specify default save filename and default Fcc: mailbox at once
1468
1469    21. Change settings based upon message recipients
1470
1471    22. Change settings before formatting a message
1472
1473    23. Choosing the cryptographic key of the recipient
1474
1475    24. Adding key sequences to the keyboard buffer
1476
1477    25. Executing functions
1478
1479    26. Message Scoring
1480
1481    27. Spam detection
1482
1483    28. Setting variables
1484
1485    29. Reading initialization commands from another file
1486
1487    30. Removing hooks
1488
1489    31. Sharing Setups
1490
1491                 31.1. Character Sets
1492
1493                 31.2. Modularization
1494
1495                 31.3. Conditional parts
1496
1497    32. Obsolete Variables
1498
1499 1. Locations of Configuration Files
1500
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.
1512
1513    .muttrc (or .muttngrc for Mutt-ng) is the file where you will usually
1514    place your commands to configure Mutt-ng.
1515
1516 2. Basic Syntax of Initialization Files
1517
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 (;).
1521
1522  set realname='Mutt-ng user' ; ignore x-
1523
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,
1527
1528  my_hdr X-Disclaimer: Why are you listening to me? # This is a comment
1529
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.
1538
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
1542    character.
1543
1544  set realname="Michael \"MuttDude\" Elkins"
1545
1546    ``\\'' means to insert a literal ``\'' into the line. ``\n'' and ``\r''
1547    have their usual C meanings of linefeed and carriage-return, respectively.
1548
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
1551    command names.
1552
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 ``#''.
1556
1557  # folder-hook . \
1558    set realname="Michael \"MuttDude\" Elkins"
1559
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!
1566
1567    Abstract example:
1568
1569  line1\
1570  line2a # line2b\
1571  line3\
1572  line4
1573  line5
1574
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.
1578
1579    The commands understood by mutt are explained in the next paragraphs. For
1580    a complete list, see the commands.
1581
1582 3. Expansion within variables
1583
1584    Besides just assign static content to variables, there's plenty of ways of
1585    adding external and more or less dynamic content.
1586
1587   3.1. Commands' Output
1588
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:
1592
1593  my_hdr X-Operating-System: `uname -a`
1594
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.
1598
1599   3.2. Environment Variables
1600
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
1603    example,
1604
1605  set record=+sent_on_$HOSTNAME
1606
1607    sets the record variable to the string +sent_on_ and appends the value of
1608    the evironment variable $HOSTNAME.
1609
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.
1612
1613   3.3. Configuration Variables
1614
1615    As for environment variables, the values of all configuration variables as
1616    string can be used in the same way, too. For example,
1617
1618  set imap_home_namespace = $folder
1619
1620    would set the value of imap-home-namespace to the value to which folder is
1621    currently set to.
1622
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.
1625
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.
1628
1629   3.4. Self-Defined Variables
1630
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.
1636
1637    For example, to view the manual, users can either define two macros like
1638    the following
1639
1640  macro generic <F1> "!less -r /path/to/manual" "Show manual"
1641  macro pager <F1> "!less -r /path/to/manual" "Show manual"
1642
1643    for generic, pager and index. The alternative is to define a custom
1644    variable like so:
1645
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"
1650
1651    to re-use the command sequence as in:
1652
1653  macro index <F2> "$user_manualcmd | grep '\^[ ]\\+~. '" "Show Patterns"
1654
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
1658    end.
1659
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.
1662
1663    The complete removal is done via the unset keyword.
1664
1665    After the following sequence:
1666
1667  set user_foo = 42
1668  set user_foo = 666
1669
1670    the variable $user_foo has a current value of 666 and an initial of 42.
1671    The query
1672
1673  set ?user_foo
1674
1675    will show 666. After doing the reset via
1676
1677  reset user_foo
1678
1679    a following query will give 42 as the result. After unsetting it via
1680
1681  unset user_foo
1682
1683    any query or operation (except the noted expansion within other
1684    statements) will lead to an error message.
1685
1686   3.5. Pre-Defined Variables
1687
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.
1693
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:
1697
1698  muttng -Q muttng_docdir
1699
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
1702    in:
1703
1704  set user_manualcmd = '!less -r /path/to_manual'
1705
1706    to:
1707
1708  set user_manualcmd = "!less -r $muttng_docdir/manual.txt"
1709
1710    which works everywhere if a manual is installed.
1711
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.
1716
1717    For example, the statement
1718
1719  folder-hook . "set user_current_folder = $muttng_folder_name"
1720
1721    will be already be translated to the following when reading the startup
1722    files:
1723
1724  folder-hook . "set user_current_folder = some_folder"
1725
1726    with some_folder being the name of the first folder muttng opens. On the
1727    contrary,
1728
1729  folder-hook . 'set user_current_folder = $muttng_folder_name'
1730
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
1733    folder.
1734
1735    A more practical example is:
1736
1737  folder-hook . 'source ~/.mutt/score-$muttng_folder_name'
1738
1739    which can be used to source files containing score commands depending on
1740    the folder the user enters.
1741
1742   3.6. Type Conversions
1743
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
1749    strange):
1750
1751  set read_inc = 100
1752  set folder = $read_inc
1753  set read_inc = $folder
1754  set user_magic_number = 42
1755  set folder = $user_magic_number
1756
1757 4. Defining/Using aliases
1758
1759    Usage: alias key address [ , address, ... ]
1760
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.
1764
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 (``,'').
1767
1768    To remove an alias or aliases (``*'' means all aliases):
1769
1770    unalias [ * | key ... ]
1771
1772  alias muttdude me@cs.hmc.edu (Michael Elkins)
1773  alias theguys manny, moe, jack
1774
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.
1779
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.
1785
1786    For example:
1787
1788  source /usr/local/share/Mutt-ng.aliases
1789  source ~/.mail_aliases
1790  set alias_file=~/.mail_aliases
1791
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.
1796
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.
1803
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.
1807
1808 5. Changing the default key bindings
1809
1810    Usage: bind map key function
1811
1812    This command allows you to change the default key bindings (operation
1813    invoked when pressing a key).
1814
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:
1818
1819    generic
1820
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.
1827
1828    alias
1829
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).
1833
1834    attach
1835
1836            The attachment menu is used to access the attachments on received
1837            messages.
1838
1839    browser
1840
1841            The browser is used for both browsing the local directory
1842            structure, and for listing all of your incoming mailboxes.
1843
1844    editor
1845
1846            The editor is the line-based editor the user enters text data.
1847
1848    index
1849
1850            The index is the list of messages contained in a mailbox.
1851
1852    compose
1853
1854            The compose menu is the screen used when sending a new message.
1855
1856    pager
1857
1858            The pager is the mode used to display message/attachment data, and
1859            help listings.
1860
1861    pgp
1862
1863            The pgp menu is used to select the OpenPGP keys used for
1864            encrypting outgoing messages.
1865
1866    postpone
1867
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
1870            later.
1871
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
1878    \c?).
1879
1880    In addition, key may consist of:
1881
1882  \t              tab
1883  <tab>           tab
1884  <backtab>       backtab / shift-tab
1885  \r              carriage return
1886  \n              newline
1887  \e              escape
1888  <esc>           escape
1889  <up>            up arrow
1890  <down>          down arrow
1891  <left>          left arrow
1892  <right>         right arrow
1893  <pageup>        Page Up
1894  <pagedown>      Page Down
1895  <backspace>     Backspace
1896  <delete>        Delete
1897  <insert>        Insert
1898  <enter>         Enter
1899  <return>        Return
1900  <home>          Home
1901  <end>           End
1902  <space>         Space bar
1903  <f1>            function key 1
1904  <f10>           function key 10
1905
1906    key does not need to be enclosed in quotes unless it contains a space (``
1907    '').
1908
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.
1912
1913 6. Defining aliases for character sets
1914
1915    Usage: charset-hook alias charset Usage: iconv-hook charset local-charset
1916
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.
1920
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.
1924
1925 7. Setting variables based upon mailbox
1926
1927    Usage: folder-hook [!]regexp command
1928
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.
1935
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.
1939
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:
1943
1944  folder-hook mutt set sort=threads
1945
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
1948    ``.'':
1949
1950  folder-hook . set sort=date-sent
1951
1952 8. Keyboard macros
1953
1954    Usage: macro menu key sequence [ description ]
1955
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.
1960
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.
1964
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
1971    in the functions.
1972
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).
1978
1979    Optionally you can specify a descriptive text after sequence, which is
1980    shown in the help screens.
1981
1982    Note: Macro definitions (if any) listed in the help screen(s), are
1983    silently truncated at the screen width, and are not wrapped.
1984
1985 9. Using color and mono video attributes
1986
1987    Usage: color object foreground background [ regexp ] Usage: color index
1988    foreground background pattern Usage: uncolor index pattern [ pattern ... ]
1989
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).
1994
1995    object can be one of:
1996
1997      o attachment
1998
1999      o body (match regexp in the body of messages)
2000
2001      o bold (highlighting bold patterns in the body of messages)
2002
2003      o error (error messages printed by Mutt-ng)
2004
2005      o header (match regexp in the message header)
2006
2007      o hdrdefault (default color of the message header in the pager)
2008
2009      o index (match pattern in the message index)
2010
2011      o indicator (arrow or bar used to indicate the current item in a menu)
2012
2013      o markers (the ``+'' markers at the beginning of wrapped lines in the
2014        pager)
2015
2016      o message (informational messages)
2017
2018      o normal
2019
2020      o quoted (text matching quote-regexp in the body of a message)
2021
2022      o quoted1, quoted2, ..., quotedN (higher levels of quoting)
2023
2024      o search (highlighting of words in the pager)
2025
2026      o signature
2027
2028      o status (mode lines used to display info about the mailbox or message)
2029
2030      o tilde (the ``˜'' used to pad blank lines in the pager)
2031
2032      o tree (thread tree drawn in the message index and attachment menu)
2033
2034      o underline (highlighting underlined patterns in the body of messages)
2035
2036    foreground and background can be one of the following:
2037
2038      o white
2039
2040      o black
2041
2042      o green
2043
2044      o magenta
2045
2046      o blue
2047
2048      o cyan
2049
2050      o yellow
2051
2052      o red
2053
2054      o default
2055
2056      o colorx
2057
2058    foreground can optionally be prefixed with the keyword bright to make the
2059    foreground color boldfaced (e.g., brightred).
2060
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):
2066
2067  set COLORFGBG="green;black"
2068  export COLORFGBG
2069
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.
2072
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.
2077
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.
2083
2084    If your terminal does not support color, it is still possible change the
2085    video attributes through the use of the ``mono'' command:
2086
2087    Usage: mono <object> <attribute> [ regexp ] Usage: mono index attribute
2088    pattern Usage: unmono index pattern [ pattern ... ]
2089
2090    where attribute is one of the following:
2091
2092      o none
2093
2094      o bold
2095
2096      o underline
2097
2098      o reverse
2099
2100      o standout
2101
2102 10. Ignoring (weeding) unwanted message headers
2103
2104    Usage: [un]ignore pattern [ pattern ... ]
2105
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
2109    to see.
2110
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.
2114
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''.
2119
2120    ``unignore *'' will remove all tokens from the ignore list.
2121
2122    For example:
2123
2124  # Sven's draconian header weeding
2125  ignore *
2126  unignore from date subject to cc
2127  unignore organization organisation x-mailer: x-newsreader: x-mailing-list:
2128  unignore posted-to:
2129
2130 11. Alternative addresses
2131
2132    Usage: [un]alternates regexp [ regexp ... ]
2133
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.)
2140
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.
2146
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.
2151
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.
2157
2158 12. Format = Flowed
2159
2160   12.1. Introduction
2161
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.
2171
2172    For introductory information on format=flowed messages, see
2173    <http://www.joeclark.org/ffaq.html>.
2174
2175   12.2. Receiving: Display Setup
2176
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:
2181
2182      set wrapmargin = 10
2183
2184
2185    The code above makes the line break 10 columns before the right side of
2186    the terminal.
2187
2188    If your terminal is so wide that the lines are embarrassingly long, you
2189    can also set a maximum line length:
2190
2191      set max_line_length = 120
2192
2193
2194    The example above will give you lines not longer than 120 characters.
2195
2196    When you view at format=flowed messages, you will often see the quoting
2197    hierarchy like in the following example:
2198
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.
2203
2204
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:
2208
2209      set stuff_quoted
2210
2211
2212    This will lead to a nicer result that is easier to read:
2213
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.
2218
2219
2220   12.3. Sending
2221
2222    If you want mutt-ng to send emails with format=flowed set, you need to
2223    explicitly set it:
2224
2225      set text_flowed
2226
2227
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.
2231
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:
2239
2240      o > This is not the quote character but a right angle used for other
2241        reasons
2242
2243      o From with a trailing space.
2244
2245      o just a space for formatting reasons
2246
2247    Please make sure that you manually prepend a space to each of them.
2248
2249   12.4. Additional Notes
2250
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.
2260
2261 13. Mailing lists
2262
2263    Usage: [un]lists regexp [ regexp ... ] Usage: [un]subscribe regexp [
2264    regexp ... ]
2265
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.
2277
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''.
2282
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
2287    address.
2288
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.
2298
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.
2301
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''.
2304
2305 14. Using Multiple spool mailboxes
2306
2307    Usage: mbox-hook [!]pattern mailbox
2308
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.
2313
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).
2316
2317 15. Defining mailboxes which receive mail
2318
2319    Usage: [un]mailboxes [!]filename [ filename ... ]
2320
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.
2324
2325    When changing folders, pressing space will cycle through folders with new
2326    mail.
2327
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.
2332
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.
2335
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.
2341
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.
2346
2347 16. User defined headers
2348
2349    Usage: my_hdr string unmy_hdr field [ field ... ]
2350
2351    The ``my_hdr'' command allows you to create your own header fields which
2352    will be added to every message you send.
2353
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
2356
2357  my_hdr Organization: A Really Big Company, Anytown, USA
2358
2359    in your .muttrc.
2360
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.
2364
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.
2369
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
2373    could use:
2374
2375  unmy_hdr to cc
2376
2377 17. Defining the order of headers when viewing messages
2378
2379    Usage: hdr_order header1 header2 header3
2380
2381    With this command, you can specify an order in which mutt will attempt to
2382    present headers to you when viewing messages.
2383
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
2386    file.
2387
2388  hdr_order From Date: From: To: Cc: Subject:
2389
2390 18. Specify default save filename
2391
2392    Usage: save-hook [!]pattern filename
2393
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.
2398
2399    See pattern-hook for information on the exact format of pattern.
2400
2401    Examples:
2402
2403  save-hook me@(turing\\.)?cs\\.hmc\\.edu$ +elkins
2404  save-hook aol\\.com$ +spam
2405
2406    Also see the fcc-save-hook command.
2407
2408 19. Specify default Fcc: mailbox when composing
2409
2410    Usage: fcc-hook [!]pattern mailbox
2411
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.
2416
2417    See pattern-hook for information on the exact format of pattern.
2418
2419    Example: fcc-hook [@.]aol\\.com$ +spammers
2420
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.
2423
2424 20. Specify default save filename and default Fcc: mailbox at once
2425
2426    Usage: fcc-save-hook [!]pattern mailbox
2427
2428    This command is a shortcut, equivalent to doing both a fcc-hook and a
2429    save-hook with its arguments.
2430
2431 21. Change settings based upon message recipients
2432
2433    Usage: reply-hook [!]pattern command Usage: send-hook [!]pattern command
2434    Usage: send2-hook [!]pattern command
2435
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.
2440
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.
2445
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
2450    address.
2451
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
2454    that type of hook).
2455
2456    See pattern-hook for information on the exact format of pattern.
2457
2458    Example: send-hook mutt "set mime_forward signature=''"
2459
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.
2463
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.
2469
2470 22. Change settings before formatting a message
2471
2472    Usage: message-hook [!]pattern command
2473
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.
2479
2480    See pattern-hook for information on the exact format of pattern.
2481
2482    Example:
2483
2484  message-hook ~A 'set pager=builtin'
2485  message-hook '~f freshmeat-news' 'set pager="less \"+/^  subject: .*\""'
2486
2487 23. Choosing the cryptographic key of the recipient
2488
2489    Usage: crypt-hook pattern keyid
2490
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
2497    certain recipient.
2498
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
2501    name.
2502
2503 24. Adding key sequences to the keyboard buffer
2504
2505    Usage: push string
2506
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.
2511
2512 25. Executing functions
2513
2514    Usage: exec function [ function ... ]
2515
2516    This command can be used to execute any function. Functions are listed in
2517    the functions. ``exec function'' is equivalent to ``push <function>''.
2518
2519 26. Message Scoring
2520
2521    Usage: score pattern value Usage: unscore pattern [ pattern ... ]
2522
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''.
2528
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
2533    pattern.
2534
2535  score "~f nion@muttng\.org" 50
2536  score "~f @sco\.com" -100
2537
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:
2540
2541  score "~f santaclaus@northpole\.int" =666
2542
2543    What is important to note is that negative score values will be rounded up
2544    to 0.
2545
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
2548    thresholds:
2549
2550      o flag threshold: when a message has a score value equal or higher than
2551        the flag threshold, it will be flagged.
2552
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.
2555
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.
2558
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.
2564
2565    Scoring gets especially interesting when combined with the color command
2566    and the ˜n pattern:
2567
2568  color index  black   yellow  "~n 10-"
2569  color index  red     yellow  "~n 100-"
2570
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
2575    scores.
2576
2577 27. Spam detection
2578
2579    Usage: spam pattern format Usage: nospam pattern
2580
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.)
2588
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.
2600
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.
2607
2608    For example, suppose I use DCC, SpamAssassin, and PureMessage. I might
2609    define these spam settings:
2610
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=", "
2615
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''.)
2621
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.
2625
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.
2630
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.
2634
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
2645    useful.
2646
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.
2651
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.
2659
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
2663    command like this:
2664
2665  spam "^From: .*MAILER-DAEMON"       "999"
2666
2667 28. Setting variables
2668
2669    Usage: set [no|inv]variable[=value] [ variable ... ] Usage: toggle
2670    variable [variable ... ] Usage: unset variable [variable ... ] Usage:
2671    reset variable [variable ... ]
2672
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.
2677
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,
2681    respectively.
2682
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
2689    answer of ``no.''
2690
2691    Prefixing a variable with ``no'' will unset it. Example: set noaskbcc.
2692
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.
2696
2697    The toggle command automatically prepends the inv prefix to all specified
2698    variables.
2699
2700    The unset command automatically prepends the no prefix to all specified
2701    variables.
2702
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
2705    mark:
2706
2707  set ?allow_8bit
2708
2709    The question mark is actually only required for boolean and quadoption
2710    variables.
2711
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
2715    command.
2716
2717    With the reset command there exists the special variable ``all'', which
2718    allows you to reset all variables to their system defaults.
2719
2720 29. Reading initialization commands from another file
2721
2722    Usage: source filename [ filename ... ]
2723
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.
2727
2728    If the filename begins with a tilde (``˜''), it will be expanded to the
2729    path of your home directory.
2730
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
2733    ˜/bin/myscript|).
2734
2735 30. Removing hooks
2736
2737    Usage: unhook [ * | hook-type ]
2738
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
2742    unhook send-hook.
2743
2744 31. Sharing Setups
2745
2746   31.1. Character Sets
2747
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.
2751
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:
2757
2758  set config_charset = "..."
2759
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
2762    in:
2763
2764  # vim:fileencoding=...:
2765
2766    while, again, replacing the dots with the appropriate name. This tells vim
2767    as which character set to read and save the file.
2768
2769   31.2. Modularization
2770
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.
2774
2775    When using separation, setups may be, as a whole or in fractions, shared
2776    over different systems.
2777
2778   31.3. Conditional parts
2779
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.
2782
2783    To solve this, mutt-ng contain a feature based on the ``ifdef'' patch
2784    written for mutt. Its basic syntax is:
2785
2786  ifdef <item> <command>
2787  ifndef <item> <command>
2788
2789    ...whereby <item> can be one of:
2790
2791      o a function name
2792
2793      o a variable name
2794
2795      o a menu name
2796
2797      o a feature name
2798
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_:
2802
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
2806
2807    As an example, one can use the following in ˜/.muttngrc:
2808
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'
2812
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.
2816
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:
2820
2821  ifdef imap_mail_check 'set imap_mail_check = 300'
2822
2823    Provided for completeness is the test for menu names. To set
2824    pager-index-lines only if the pager menu is available, use:
2825
2826  ifdef pager 'set pager_index_lines = 10'
2827
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:
2831
2832  ifdef feature_ncurses 'source ~/.mutt-ng/setup-ncurses'
2833  ifndef feature_ncurses 'source ~/.mutt-ng/setup-slang'
2834
2835    ...and...
2836
2837  ifdef feature_slang 'source ~/.mutt-ng/setup-slang'
2838  ifndef feature_slang 'source ~/.mutt-ng/setup-ncurses'
2839
2840 32. Obsolete Variables
2841
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.
2845
2846 Chapter 4. Advanced Usage
2847
2848    Table of Contents
2849
2850    1. Regular Expressions
2851
2852    2. Patterns
2853
2854                 2.1. Complex Patterns
2855
2856                 2.2. Patterns and Dates
2857
2858    3. Format Strings
2859
2860                 3.1. Introduction
2861
2862                 3.2. Conditional Expansion
2863
2864                 3.3. Modifications and Padding
2865
2866    4. Using Tags
2867
2868    5. Using Hooks
2869
2870                 5.1. Message Matching in Hooks
2871
2872    6. Using the sidebar
2873
2874    7. External Address Queries
2875
2876    8. Mailbox Formats
2877
2878    9. Mailbox Shortcuts
2879
2880    10. Handling Mailing Lists
2881
2882    11. Editing threads
2883
2884                 11.1. Linking threads
2885
2886                 11.2. Breaking threads
2887
2888    12. Delivery Status Notification (DSN) Support
2889
2890    13. POP3 Support (OPTIONAL)
2891
2892    14. IMAP Support (OPTIONAL)
2893
2894                 14.1. The Folder Browser
2895
2896                 14.2. Authentication
2897
2898    15. NNTP Support (OPTIONAL)
2899
2900                 15.1. Again: Scoring
2901
2902    16. SMTP Support (OPTIONAL)
2903
2904    17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
2905
2906    18. Start a WWW Browser on URLs (EXTERNAL)
2907
2908    19. Compressed folders Support (OPTIONAL)
2909
2910                 19.1. Open a compressed mailbox for reading
2911
2912                 19.2. Write a compressed mailbox
2913
2914                 19.3. Append a message to a compressed mailbox
2915
2916                 19.4. Encrypted folders
2917
2918 1. Regular Expressions
2919
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
2924    this syntax.
2925
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:
2929    ``\\''.
2930
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.
2934
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 \
2939    (backslash).
2940
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.
2945
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.
2949
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.
2959
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:
2963
2964    [:alnum:]
2965
2966            Alphanumeric characters.
2967
2968    [:alpha:]
2969
2970            Alphabetic characters.
2971
2972    [:blank:]
2973
2974            Space or tab characters.
2975
2976    [:cntrl:]
2977
2978            Control characters.
2979
2980    [:digit:]
2981
2982            Numeric characters.
2983
2984    [:graph:]
2985
2986            Characters that are both printable and visible. (A space is
2987            printable, but not visible, while an ``a'' is both.)
2988
2989    [:lower:]
2990
2991            Lower-case alphabetic characters.
2992
2993    [:print:]
2994
2995            Printable characters (characters that are not control characters.)
2996
2997    [:punct:]
2998
2999            Punctuation characters (characters that are not letter, digits,
3000            control characters, or space characters).
3001
3002    [:space:]
3003
3004            Space characters (such as space, tab and formfeed, to name a few).
3005
3006    [:upper:]
3007
3008            Upper-case alphabetic characters.
3009
3010    [:xdigit:]
3011
3012            Characters that are hexadecimal digits.
3013
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].
3019
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
3024    purposes:
3025
3026    Collating Symbols
3027
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
3032            ``h''.
3033
3034    Equivalence Classes
3035
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''.
3041
3042    A regular expression matching a single character may be followed by one of
3043    several repetition operators:
3044
3045    ?
3046
3047            The preceding item is optional and matched at most once.
3048
3049    *
3050
3051            The preceding item will be matched zero or more times.
3052
3053    +
3054
3055            The preceding item will be matched one or more times.
3056
3057    {n}
3058
3059            The preceding item is matched exactly n times.
3060
3061    {n,}
3062
3063            The preceding item is matched n or more times.
3064
3065    {,m}
3066
3067            The preceding item is matched at most m times.
3068
3069    {n,m}
3070
3071            The preceding item is matched at least n times, but no more than m
3072            times.
3073
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.
3077
3078    Two regular expressions may be joined by the infix operator ``|''; the
3079    resulting regular expression matches any string matching either
3080    subexpression.
3081
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.
3085
3086    Note: If you compile Mutt-ng with the GNU rx package, the following
3087    operators may also be used in regular expressions:
3088
3089    \\y
3090
3091            Matches the empty string at either the beginning or the end of a
3092            word.
3093
3094    \\B
3095
3096            Matches the empty string within a word.
3097
3098    \\<
3099
3100            Matches the empty string at the beginning of a word.
3101
3102    \\>
3103
3104            Matches the empty string at the end of a word.
3105
3106    \\w
3107
3108            Matches any word-constituent character (letter, digit, or
3109            underscore).
3110
3111    \\W
3112
3113            Matches any character that is not word-constituent.
3114
3115    \\`
3116
3117            Matches the empty string at the beginning of a buffer (string).
3118
3119    \\'
3120
3121            Matches the empty string at the end of a buffer.
3122
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.
3125
3126 2. Patterns
3127
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.
3133
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.
3137
3138   2.1. Complex Patterns
3139
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:
3143
3144  ~s 'SPAM' ~U
3145
3146    The pattern above matches all messages that contain ``SPAM'' in the
3147    subject and are unread.
3148
3149    To logical OR patterns, simply use the | operator. This one especially
3150    useful when using local groups:
3151
3152  ~f ("nion@muttng\.org"|"ak@muttng\.org"|"pdmef@muttng\.org")
3153  (~b mutt-ng|~s Mutt-ng)
3154  !~x '@synflood\.at'
3155
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 !
3162    operator.
3163
3164   2.2. Patterns and Dates
3165
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.
3171
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''
3178    in time.
3179
3180  ~d 01/01/2005+1y
3181  ~d 18/10/2004-2w
3182  ~d 28/12/2004*1d
3183
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
3188    and 29th).
3189
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:
3193
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
3197
3198 3. Format Strings
3199
3200   3.1. Introduction
3201
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
3204    status messages.
3205
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
3208    called expando.
3209
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:
3213
3214      o the current hostname
3215
3216      o the current mutt-ng version number
3217
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:
3222
3223  set status_format = "%v on %h: ..."
3224
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:
3228
3229  Mutt-ng 1.5.9i on mailhost: ...
3230
3231    In the index, there're more useful information one could want to see:
3232
3233      o which mailbox is open
3234
3235      o how man new, flagged or postponed messages
3236
3237      o ...
3238
3239    To include the mailbox' name is as easy as:
3240
3241  set status_format = "%v on %h: %B: ...
3242
3243    When the currently opened mailbox is Inbox, this will be expanded to:
3244
3245  Mutt-ng 1.5.9i on mailhost: Inbox: ...
3246
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.
3251
3252   3.2. Conditional Expansion
3253
3254    To only print the number of messages if there are new messages in the
3255    current mailbox, further extend $status_format to:
3256
3257  set status_format = "%v on %h: %B %?n?%n new? ...
3258
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
3262    basic syntax is:
3263
3264  %?<item>?<string if nonzero>?
3265
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.
3269
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:
3275
3276  %?<item>?<string if nonzero>&<string if zero>?
3277
3278    Using this we can make mutt-ng to do the following:
3279
3280      o make it print ``n new messages'' whereby n is the count but only if
3281        there new ones
3282
3283      o and make it print ``no new messages'' if there aren't any
3284
3285    The corresponding configuration is:
3286
3287  set status_format = "%v on %h: %B: %?n?%n new messages&no new messages? ...
3288
3289    This doubles the use of the ``new messages'' string because it'll get
3290    always printed. Thus, it can be shortened to:
3291
3292  set status_format = "%v on %h: %B: %?n?%n&no? new messages ...
3293
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.
3297
3298   3.3. Modifications and Padding
3299
3300    Besides the information given so far, there're even more features of
3301    format strings:
3302
3303      o When specifying %_<item> instead of just %<item>, mutt-ng will convert
3304        all characters in the expansion of <item> to lowercase.
3305
3306      o When specifying %:<item> instead of just %<item>, mutt-ng will convert
3307        all dots in the expansion of <item> to underscores (_).
3308
3309    Also, there's a feature called Padding supplied by the following two
3310    expandos: %|X and %>X.
3311
3312    %|X
3313
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:
3317
3318  set status_format = "%v on %h: %B: %?n?%n&no? new messages %|-"
3319
3320    %>X
3321
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
3328            after %>):
3329
3330  set status_format = "%B: %?n?%n&no? new messages %> (%v on %h)"
3331
3332 4. Using Tags
3333
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
3341    matching syntax.
3342
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''.
3349
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.
3355
3356 5. Using Hooks
3357
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
3363    option/command. See
3364
3365      o folder-hook
3366
3367      o send-hook
3368
3369      o message-hook
3370
3371      o save-hook
3372
3373      o mbox-hook
3374
3375      o fcc-hook
3376
3377      o fcc-save-hook
3378
3379    for specific details on each type of hook available.
3380
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
3385    my_hdr directive:
3386
3387  send-hook . 'unmy_hdr From:'
3388  send-hook ~C'^b@b\.b$' my_hdr from: c@c.c
3389
3390   5.1. Message Matching in Hooks
3391
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.
3397
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.).
3403
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:
3406
3407  send-hook '~t ^me@cs\.hmc\.edu$' 'my_hdr From: Mutt-ng User <user@host>'
3408
3409    which would execute the given command when sending mail to me@cs.hmc.edu.
3410
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
3417    be used.
3418
3419 6. Using the sidebar
3420
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:
3426
3427  set sidebar_visible="yes"
3428  set sidebar_width=25
3429
3430    If you want to specify the mailboxes you can do so with:
3431
3432  set mbox='=INBOX'
3433  mailboxes INBOX \
3434            MBOX1 \
3435            MBOX2 \
3436            ...
3437
3438    You can also specify the colors for mailboxes with new mails by using:
3439
3440  color sidebar_new red black
3441  color sidebar white black
3442
3443    The available functions are:
3444
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
3451
3452    Reasonable key bindings look e.g. like this:
3453
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
3460
3461  macro index B ':toggle sidebar_visible^M'
3462  macro pager B ':toggle sidebar_visible^M'
3463
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'.
3466
3467 7. External Address Queries
3468
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:
3473
3474  set query_command = "mutt_ldap_query.pl '%s'"
3475
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.
3481
3482    An example multiple response output:
3483
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
3488
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.
3495
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
3504    prompt.
3505
3506 8. Mailbox Formats
3507
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.
3512
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:
3515
3516  From me@cs.hmc.edu Fri, 11 Apr 1997 11:44:56 PST
3517
3518    to denote the start of a new message (this is often referred to as the
3519    ``From_'' line).
3520
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).
3523
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).
3531
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
3537    needed.
3538
3539 9. Mailbox Shortcuts
3540
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.
3544
3545      o ! -- refers to your spoolfile (incoming) mailbox
3546
3547      o > -- refers to your mbox file
3548
3549      o < -- refers to your record file
3550
3551      o ^ -- refers to the current mailbox
3552
3553      o - or !! -- refers to the file you've last visited
3554
3555      o ˜ -- refers to your home directory
3556
3557      o = or + -- refers to your folder directory
3558
3559      o @alias -- refers to the save-hook as determined by the address of the
3560        alias
3561
3562 10. Handling Mailing Lists
3563
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.
3570
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).
3579
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).
3587
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
3596    subscribed to.
3597
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.
3603
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.
3607
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.
3618
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.
3626
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.
3634
3635 11. Editing threads
3636
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.
3641
3642   11.1. Linking threads
3643
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.
3650
3651    You can also connect multiple children at once, tagging them and using the
3652    tag-prefix command (';') or the auto_tag option.
3653
3654   11.2. Breaking threads
3655
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.
3661
3662 12. Delivery Status Notification (DSN) Support
3663
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.''
3667
3668    Users can make use of it in one of the following two ways:
3669
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.
3673
3674      o The SMTP support via libESMTP supports it, too.
3675
3676    To support this, there are two variables:
3677
3678      o dsn-notify is used to request receipts for different results (such as
3679        failed message, message delivered, etc.).
3680
3681      o dsn-return requests how much of your message should be returned with
3682        the receipt (headers or full message).
3683
3684    Please see the reference chapter for possible values.
3685
3686 13. POP3 Support (OPTIONAL)
3687
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.
3691
3692    You can access the remote POP3 mailbox by selecting the folder
3693    pop://popserver/.
3694
3695    You can select an alternative port by specifying it with the server, i.e.:
3696    pop://popserver:port/.
3697
3698    You can also specify different username for each folder, i.e.:
3699    pop://username@popserver[:port]/.
3700
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
3704    seconds.
3705
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]/.
3711
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.
3716
3717    Note: If you only need to fetch all messages to local mailbox you should
3718    consider using a specialized program, such as fetchmail
3719
3720 14. IMAP Support (OPTIONAL)
3721
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.
3725
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.
3732
3733    You can select an alternative port by specifying it with the server, i.e.:
3734    imap://imapserver:port/INBOX.
3735
3736    You can also specify different username for each folder, i.e.:
3737    imap://username@imapserver[:port]/INBOX.
3738
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.
3744
3745    Pine-compatible notation is also supported, i.e.
3746    {[username@]imapserver[:port][/ssl]}path/to/folder
3747
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
3750    paths accordingly.
3751
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.
3755
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.
3758
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.
3762
3763   14.1. The Folder Browser
3764
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
3767    differences:
3768
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.
3773
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).
3778
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).
3783
3784   14.2. Authentication
3785
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".
3793
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
3801    flag.
3802
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.
3805
3806    There are a few variables which control authentication:
3807
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}).
3812
3813      o imap-pass - a password which you may preset, used by all
3814        authentication methods where a password is needed.
3815
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
3819        above).
3820
3821 15. NNTP Support (OPTIONAL)
3822
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
3826    bound to i.
3827
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.
3834
3835   15.1. Again: Scoring
3836
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.
3840
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.
3845
3846    In mutt-ng this is as easy as
3847
3848  score ~* =42
3849
3850
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
3853
3854  score !~* =42
3855
3856
3857    on the contrary applies a score of 42 to all messages not matching those
3858    criteria which are very strict:
3859
3860      o Email addresses must be valid according to RFC 2822, see
3861        <ftp://ftp.rfc-editor.org/in-notes/rfc2822.txt>
3862
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.
3866
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.
3870
3871 16. SMTP Support (OPTIONAL)
3872
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.
3879
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
3882    SMTP server.
3883
3884    Authentication mechanisms are available via the smtp-user and smtp-pass
3885    variables.
3886
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.
3893
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.
3898
3899 17. Managing multiple IMAP/POP/NNTP accounts (OPTIONAL)
3900
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.
3906
3907    Some examples:
3908
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"'
3912
3913 18. Start a WWW Browser on URLs (EXTERNAL)
3914
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:
3920
3921  macro index \cb |urlview\n
3922  macro pager \cb |urlview\n
3923
3924 19. Compressed folders Support (OPTIONAL)
3925
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.
3930
3931    The most common use is to open compressed archived folders e.g. with gzip.
3932
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
3937    format.
3938
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.
3942
3943    For example:
3944
3945  open-hook \\.gz$ "gzip -cd %f > %t"
3946  close-hook \\.gz$ "gzip -c %t > %f"
3947  append-hook \\.gz$ "gzip -c %t >> %f"
3948
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
3953    the folder.
3954
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.
3962
3963   19.1. Open a compressed mailbox for reading
3964
3965    Usage: open-hook regexp "command"
3966
3967    The command is the command that can be used for opening the folders whose
3968    names match regexp.
3969
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
3973    write.
3974
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
3978    left as is.
3979
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
3982    wrong.
3983
3984    Example:
3985
3986  open-hook \\.gz$ "gzip -cd %f > %t"
3987
3988    If the command is empty, this operation is disabled for this file type.
3989
3990   19.2. Write a compressed mailbox
3991
3992    Usage: close-hook regexp "command"
3993
3994    This is used to close the folder that was open with the open-hook command
3995    after some changes were made to it.
3996
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.
4001
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.
4004
4005    Example:
4006
4007  close-hook \\.gz$ "gzip -c %t > %f"
4008
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.
4011
4012    close-hook is not called when you exit from the folder if the folder was
4013    not changed.
4014
4015   19.3. Append a message to a compressed mailbox
4016
4017    Usage: append-hook regexp "command"
4018
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
4023    appended.
4024
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.
4027
4028    Example:
4029
4030  append-hook \\.gz$ "gzip -c %t >> %f"
4031
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).
4036
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.
4039
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.
4043
4044   19.4. Encrypted folders
4045
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
4048    following hooks:
4049
4050  open-hook  \\.pgp$ "pgp -f < %f > %t"
4051  close-hook \\.pgp$ "pgp -fe YourPgpUserIdOrKeyId < %t > %f"
4052
4053    Please note, that PGP does not support appending to an encrypted folder,
4054    so there is no append-hook defined.
4055
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.
4059
4060 Chapter 5. Mutt-ng's MIME Support
4061
4062    Table of Contents
4063
4064    1. Using MIME in Mutt
4065
4066                 1.1. Viewing MIME messages in the pager
4067
4068                 1.2. The Attachment Menu
4069
4070                 1.3. The Compose Menu
4071
4072    2. MIME Type configuration with mime.types
4073
4074    3. MIME Viewer configuration with mailcap
4075
4076                 3.1. The Basics of the mailcap file
4077
4078                 3.2. Secure use of mailcap
4079
4080                 3.3. Advanced mailcap Usage
4081
4082                 3.4. Example mailcap files
4083
4084    4. MIME Autoview
4085
4086    5. MIME Multipart/Alternative
4087
4088    6. MIME Lookup
4089
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.
4098
4099 1. Using MIME in Mutt
4100
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.
4103
4104   1.1. Viewing MIME messages in the pager
4105
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.
4112
4113    Mutt-ng will denote attachments with a couple lines describing them. These
4114    lines are of the form:
4115
4116  [-- Attachment #1: Description --]
4117  [-- Type: text/plain, Encoding: 7bit, Size: 10000 --]
4118
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.
4122
4123    If Mutt-ng cannot deal with a MIME type, it will display a message like:
4124
4125  [-- image/gif is unsupported (use 'v' to view this part) --]
4126
4127   1.2. The Attachment Menu
4128
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.
4138
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.
4142
4143    See the help on the attachment menu for more information.
4144
4145   1.3. The Compose Menu
4146
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.
4154
4155    Attachments appear as follows:
4156
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>
4159
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).
4171
4172 2. MIME Type configuration with mime.types
4173
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
4177
4178    The mime.types file consist of lines containing a MIME type and a space
4179    separated list of extensions. For example:
4180
4181  application/postscript          ps eps
4182  application/pgp                 pgp
4183  audio/x-aiff                    aif aifc aiff
4184
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.
4187
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.
4203
4204 3. MIME Viewer configuration with mailcap
4205
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.
4212
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
4217
4218  ${HOME}/.mailcap:/usr/local/share/mutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap
4219
4220    where $HOME is your home directory.
4221
4222    In particular, the metamail distribution will install a mailcap file,
4223    usually as /usr/local/etc/mailcap, which contains some baseline entries.
4224
4225   3.1. The Basics of the mailcap file
4226
4227    A mailcap file consists of a series of lines which are comments, blank, or
4228    definitions.
4229
4230    A comment line consists of a # character followed by anything you want.
4231
4232    A blank line is blank.
4233
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.
4237
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.
4244
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.
4254
4255    So, in the simplest form, you can send a text/plain message to the
4256    external pager more on stdin:
4257
4258  text/plain; more
4259
4260    Or, you could send the message as a file:
4261
4262  text/plain; more %s
4263
4264    Perhaps you would like to use lynx to interactively view a text/html
4265    message:
4266
4267  text/html; lynx %s
4268
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.
4274
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
4277    use:
4278
4279  text/html; lynx -dump %s | more
4280
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:
4283
4284  text/html; lynx %s
4285  text/*; more
4286
4287    This is the simplest form of a mailcap file.
4288
4289   3.2. Secure use of mailcap
4290
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.
4295
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:
4299
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.
4306
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):
4312
4313  text/test-mailcap-bug; cat %s; copiousoutput; test=charset=%{charset} \
4314          && test "`echo $charset | tr '[A-Z]' '[a-z]'`" != iso-8859-1
4315
4316   3.3. Advanced mailcap Usage
4317
4318     3.3.1. Optional Fields
4319
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:
4323
4324    copiousoutput
4325
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
4332            the Basic section:
4333
4334  text/html; lynx -dump %s ; copiousoutput
4335
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.
4338
4339    needsterminal
4340
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.
4349
4350    compose=<command>
4351
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
4354            menu.
4355
4356    composetyped=<command>
4357
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
4363            the compose menu.
4364
4365    print=<command>
4366
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.
4369
4370    edit=<command>
4371
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.
4376
4377    nametemplate=<template>
4378
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:
4385
4386  text/html; lynx %s; nametemplate=%s.html
4387
4388    test=<command>
4389
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:
4397
4398  text/html; netscape -remote 'openURL(%s)' ; test=RunningX
4399  text/html; lynx %s
4400
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
4406            text/html object.
4407
4408     3.3.2. Search Order
4409
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:
4414
4415  image/*;        xv %s
4416  image/gif;      ; print= anytopnm %s | pnmtops | lpr; \
4417                  nametemplate=%s.gif
4418
4419    Mutt-ng will skip the image/* entry and use the image/gif entry with the
4420    print command.
4421
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.
4427
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
4431
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
4436    viewing.
4437
4438     3.3.3. Command Expansion
4439
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:
4444
4445    %s
4446
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.
4453
4454    %t
4455
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.
4459
4460    %{<parameter>}
4461
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:
4465
4466  Content-Type: text/plain; charset=iso-8859-1
4467
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.
4471
4472    \%
4473
4474            This will be replaced by a %
4475
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.
4479
4480   3.4. Example mailcap files
4481
4482    This mailcap file is fairly simple and standard:
4483
4484  >
4485  # I'm always running X :)
4486  video/*;        xanim %s > /dev/null
4487  image/*;        xv %s > /dev/null
4488
4489  # I'm always running netscape (if my computer had more memory, maybe)
4490  text/html;      netscape -remote 'openURL(%s)'
4491
4492    This mailcap file shows quite a number of examples:
4493
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
4497
4498  # Send html to a running netscape by remote
4499  text/html;      netscape -remote 'openURL(%s)'; test=RunningNetscape
4500
4501  # If I'm not running netscape but I am running X, start netscape on the
4502  # object
4503  text/html;      netscape %s; test=RunningX
4504
4505  # Else use lynx to view it as text
4506  text/html;      lynx %s
4507
4508  # This version would convert the text/html to text/plain
4509  text/html;      lynx -dump %s; copiousoutput
4510
4511  # I use enscript to print text in two columns to a page
4512  text/*;         more %s; print=enscript -2Gr %s
4513
4514  # Netscape adds a flag to tell itself to view jpegs internally
4515  image/jpeg;xv %s; x-mozilla-flags=internal
4516
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
4519  # for images
4520  image/*;xv %s; test=RunningX; \
4521          edit=xpaint %s
4522
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
4526
4527  # Send excel spreadsheets to my NT box
4528  application/ms-excel; open.pl %s
4529
4530 4. MIME Autoview
4531
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.
4535
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.
4540
4541    You then use the auto_view muttrc command to list the content-types that
4542    you wish to view automatically.
4543
4544    For instance, if you set auto_view to:
4545
4546  auto_view text/html application/x-gunzip application/postscript image/gif application/x-tar-gz
4547
4548    Mutt-ng could use the following mailcap entries to automatically view
4549    attachments of these types.
4550
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
4556
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.
4560
4561 5. MIME Multipart/Alternative
4562
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
4568    example:
4569
4570  alternative_order text/enriched text/plain text application/postscript image/*
4571
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.
4575
4576    To remove a MIME type from the alternative_order list, use the
4577    unalternative_order command.
4578
4579 6. MIME Lookup
4580
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:
4590
4591  mime_lookup application/octet-stream application/X-Lotus-Manuscript
4592
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
4595    muttrc.
4596
4597 Chapter 6. Security Considerations
4598
4599    Table of Contents
4600
4601    1. Passwords
4602
4603    2. Temporary Files
4604
4605    3. Information Leaks
4606
4607                 3.1. Message-ID: headers
4608
4609                 3.2. mailto:-style links
4610
4611    4. External applications
4612
4613                 4.1. mailcap
4614
4615                 4.2. Other
4616
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.
4620
4621    Please do not run mutt-ng as the super user.
4622
4623    When configuring mutt-ng, there're some points to note about secure
4624    setups.
4625
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.
4632
4633 1. Passwords
4634
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
4641    passwords on disk.
4642
4643 2. Temporary Files
4644
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.
4650
4651 3. Information Leaks
4652
4653   3.1. Message-ID: headers
4654
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.
4663
4664   3.2. mailto:-style links
4665
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.
4673
4674    For example, following a link like
4675
4676  mailto:joe@host?Attach=~/.gnupg/secring.gpg
4677
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.
4680
4681    When unsetting the strict-mailto variable, mutt-ng will
4682
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
4685
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.)
4688
4689 4. External applications
4690
4691    Mutt-ng in many places has to rely on external applications or for
4692    convenience supports mechanisms involving external applications.
4693
4694   4.1. mailcap
4695
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.)
4699
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...
4706
4707      o manually select trustworth applications with a reasonable calling
4708        sequence
4709
4710      o periodically check the contents of mailcap files, especially after
4711        software installations or upgrades
4712
4713      o keep the software packages referenced in the mailcap file up to date
4714
4715      o leave the mailcap-sanitize variable in its default state to restrict
4716        mailcap expandos to a safe set of characters
4717
4718   4.2. Other
4719
4720    Besides the mailcap mechanism, mutt-ng uses a number of other external
4721    utilities for operation.
4722
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.)
4727
4728    As already noted, most of these problems are not built in but caused by
4729    wrong configuration, so please check your configuration.
4730
4731 Chapter 7. Reference
4732
4733    Table of Contents
4734
4735    1. Command line options
4736
4737    2. Patterns
4738
4739    3. Configuration Commands
4740
4741    4. Configuration variables
4742
4743    5. Functions
4744
4745                 5.1. generic
4746
4747                 5.2. index
4748
4749                 5.3. pager
4750
4751                 5.4. alias
4752
4753                 5.5. query
4754
4755                 5.6. attach
4756
4757                 5.7. compose
4758
4759                 5.8. postpone
4760
4761                 5.9. browser
4762
4763                 5.10. pgp
4764
4765                 5.11. editor
4766
4767 1. Command line options
4768
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.
4772
4773  -A      expand an alias
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
4796
4797    To read messages in a mailbox
4798
4799    mutt [ -nz ] [ -F muttrc ] [ -m type ] [ -f mailbox ]
4800
4801    To compose a new message
4802
4803    mutt [ -n ] [ -F muttrc ] [ -a file ] [ -c address ] [ -i filename ] [ -s
4804    subject ] address [ address ... ]
4805
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,
4808
4809    mutt -s "data set for run #2" professor@bigschool.edu < ˜/run2.dat
4810
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''.
4814
4815 2. Patterns
4816
4817  ~A              all messages
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
4822  ~D              deleted messages
4823  ~d [MIN]-[MAX]  messages with ``date-sent'' in a Date range
4824  ~E              expired messages
4825  ~e EXPR         message which contains EXPR in the ``Sender'' field
4826  ~F              flagged messages
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 *)
4839  ~N              new messages
4840  ~O              old messages
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
4844  ~R              read messages
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.
4848  ~T              tagged messages
4849  ~t USER         messages addressed to USER
4850  ~U              unread messages
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)
4863
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
4869    instead (\\).
4870
4871    *) The forms <[MAX], >[MIN], [MIN]- and -[MAX] are allowed, too.
4872
4873 3. Configuration Commands
4874
4875    The following are the commands understood by mutt.
4876
4877      o account-hook pattern command
4878
4879      o alias key address [ , address, ... ]
4880
4881      o alias [ * | key ... ]
4882
4883      o alternates regexp [ regexp ... ]
4884
4885      o alternates [ * | regexp ... ]
4886
4887      o alternative-order mimetype [ mimetype ... ]
4888
4889      o alternative-order mimetype [ mimetype ... ]
4890
4891      o append-hook regexp command
4892
4893      o auto-view mimetype [ mimetype ... ]
4894
4895      o auto-view mimetype [ mimetype ... ]
4896
4897      o bind map key function
4898
4899      o charset-hook alias charset
4900
4901      o close-hook regexp command
4902
4903      o color object foreground background [ regexp ]
4904
4905      o color index pattern [ pattern ... ]
4906
4907      o exec function [ function ... ]
4908
4909      o fcc-hook pattern mailbox
4910
4911      o fcc-save-hook pattern mailbox
4912
4913      o folder-hook pattern command
4914
4915      o hdr-order header [ header ... ]
4916
4917      o hdr-order header [ header ... ]
4918
4919      o charset-hook charset local-charset
4920
4921      o ignore pattern [ pattern ... ]
4922
4923      o ignore pattern [ pattern ... ]
4924
4925      o lists regexp [ regexp ... ]
4926
4927      o lists regexp [ regexp ... ]
4928
4929      o macro menu key sequence [ description ]
4930
4931      o mailboxes filename [ filename ... ]
4932
4933      o mbox-hook pattern mailbox
4934
4935      o message-hook pattern command
4936
4937      o mime-lookup mimetype [ mimetype ... ]
4938
4939      o mime-lookup mimetype [ mimetype ... ]
4940
4941      o color object attribute [ regexp ]
4942
4943      o color index pattern [ pattern ... ]
4944
4945      o my-hdr string
4946
4947      o my-hdr field [ field ... ]
4948
4949      o open-hook regexp command
4950
4951      o crypt-hook pattern key-id
4952
4953      o push string
4954
4955      o set variable [variable ... ]
4956
4957      o save-hook regexp filename
4958
4959      o score-command pattern value
4960
4961      o score-command pattern [ pattern ... ]
4962
4963      o send-hook regexp command
4964
4965      o reply-hook regexp command
4966
4967      o set [no|inv]variable[=value] [ variable ... ]
4968
4969      o set variable [variable ... ]
4970
4971      o source filename
4972
4973      o spam pattern format
4974
4975      o spam pattern
4976
4977      o lists regexp [ regexp ... ]
4978
4979      o lists regexp [ regexp ... ]
4980
4981      o set variable [variable ... ]
4982
4983      o unhook hook-type
4984
4985 4. Configuration variables
4986
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:
4991
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
5018  inews                   nntp_inews
5019  mime_subject            nntp_mime_subject
5020  news_cache_dir          nntp_cache_dir
5021  news_server             nntp_host
5022  newsrc                  nntp_newsrc
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
5032
5033    The contrib subdirectory contains a script named update-config.pl which
5034    eases migration.
5035
5036    A complete list of current variables follows.
5037
5038 1. abort_noattach
5039
5040    Type: quadoption
5041
5042    Default: no
5043
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.
5049
5050    This variable and $attach_remind_regexp are intended to remind the user to
5051    attach files if the message's text references them.
5052
5053    See also the $attach_remind_regexp variable.
5054
5055 2. abort_nosubject
5056
5057    Type: quadoption
5058
5059    Default: ask-yes
5060
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
5064    aborted.
5065
5066 3. abort_unmodified
5067
5068    Type: quadoption
5069
5070    Default: yes
5071
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
5075    be aborted.
5076
5077 4. agent_string
5078
5079    Type: boolean
5080
5081    Default: yes
5082
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.
5085
5086 5. alias_file
5087
5088    Type: path
5089
5090    Default: "˜/.muttngrc"
5091
5092    The default file in which to save aliases created by the ``create-alias''
5093    function.
5094
5095    Note: Mutt-ng will not automatically source this file; you must explicitly
5096    use the `` source'' command for it to be executed.
5097
5098 6. alias_format
5099
5100    Type: string
5101
5102    Default: "%4n %2f %t %-10a %r"
5103
5104    Specifies the format of the data displayed for the ``alias'' menu. The
5105    following printf(3)-style sequences are available:
5106
5107    %a
5108
5109            alias name
5110
5111    %f
5112
5113            flags - currently, a "d" for an alias marked for deletion
5114
5115    %n
5116
5117            index number
5118
5119    %r
5120
5121            address which alias expands to
5122
5123    %t
5124
5125            character which indicates if the alias is tagged for inclusion
5126
5127 7. allow_8bit
5128
5129    Type: boolean
5130
5131    Default: yes
5132
5133    Controls whether 8-bit data is converted to 7-bit using either
5134    quoted-printable or base64 encoding when sending mail.
5135
5136 8. allow_ansi
5137
5138    Type: boolean
5139
5140    Default: no
5141
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.
5148
5149 9. arrow_cursor
5150
5151    Type: boolean
5152
5153    Default: no
5154
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
5159    menu.
5160
5161 10. ascii_chars
5162
5163    Type: boolean
5164
5165    Default: no
5166
5167    If set, Mutt-ng will use plain ASCII characters when displaying thread and
5168    attachment trees, instead of the default ACS characters.
5169
5170 11. askbcc
5171
5172    Type: boolean
5173
5174    Default: no
5175
5176    If set, Mutt-ng will prompt you for blind-carbon-copy (Bcc) recipients
5177    before editing an outgoing message.
5178
5179 12. askcc
5180
5181    Type: boolean
5182
5183    Default: no
5184
5185    If set, Mutt-ng will prompt you for carbon-copy (Cc) recipients before
5186    editing the body of an outgoing message.
5187
5188 13. assumed_charset
5189
5190    Type: string
5191
5192    Default: "us-ascii"
5193
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
5199    to be in us-ascii.
5200
5201    For example, Japanese users might prefer this:
5202
5203    set assumed_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
5204
5205    However, only the first content is valid for the message body. This
5206    variable is valid only if $strict_mime is unset.
5207
5208 14. attach_format
5209
5210    Type: string
5211
5212    Default: "%u%D%I %t%4n %T%.40d%> [%.7m/%.10M, %.6e%?C?, %C?, %s] "
5213
5214    This variable describes the format of the ``attachment'' menu. The
5215    following printf(3)-style sequences are understood:
5216
5217    %C
5218
5219            charset
5220
5221    %c
5222
5223            requires charset conversion (n or c)
5224
5225    %D
5226
5227            deleted flag
5228
5229    %d
5230
5231            description
5232
5233    %e
5234
5235            MIME Content-Transfer-Encoding: header field
5236
5237    %f
5238
5239            filename
5240
5241    %I
5242
5243            MIME Content-Disposition: header field (I=inline, A=attachment)
5244
5245    %m
5246
5247            major MIME type
5248
5249    %M
5250
5251            MIME subtype
5252
5253    %n
5254
5255            attachment number
5256
5257    %s
5258
5259            size
5260
5261    %t
5262
5263            tagged flag
5264
5265    %T
5266
5267            graphic tree characters
5268
5269    %u
5270
5271            unlink (=to delete) flag
5272
5273    %>X
5274
5275            right justify the rest of the string and pad with character "X"
5276
5277    %|X
5278
5279            pad to the end of the line with character "X"
5280
5281 15. attach_remind_regexp
5282
5283    Type: regular expression
5284
5285    Default: "attach"
5286
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.
5290
5291    This variable and $abort_noattach are intended to remind the user to
5292    attach files if the message's text references them.
5293
5294 16. attach_sep
5295
5296    Type: string
5297
5298    Default: "\n"
5299
5300    The separator to add between attachments when operating (saving, printing,
5301    piping, etc) on a list of tagged attachments.
5302
5303 17. attach_split
5304
5305    Type: boolean
5306
5307    Default: yes
5308
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.
5314
5315 18. attribution
5316
5317    Type: string
5318
5319    Default: "On %d, %n wrote:"
5320
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''.
5324
5325 19. auto_tag
5326
5327    Type: boolean
5328
5329    Default: no
5330
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.
5335
5336 20. autoedit
5337
5338    Type: boolean
5339
5340    Default: no
5341
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.
5346
5347    Also see ``$fast_reply''.
5348
5349 21. beep
5350
5351    Type: boolean
5352
5353    Default: yes
5354
5355    When this variable is set, Mutt-ng will beep when an error occurs.
5356
5357 22. beep_new
5358
5359    Type: boolean
5360
5361    Default: no
5362
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
5365    ``$beep'' variable.
5366
5367 23. bounce
5368
5369    Type: quadoption
5370
5371    Default: ask-yes
5372
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.
5377
5378 24. bounce_delivered
5379
5380    Type: boolean
5381
5382    Default: yes
5383
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
5386    variable.
5387
5388 25. braille_friendly
5389
5390    Type: boolean
5391
5392    Default: no
5393
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.
5399
5400 26. certificate_file
5401
5402    Type: path
5403
5404    Default: "˜/.mutt_certificates"
5405
5406    Availability: SSL or GNUTLS
5407
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.
5412
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.
5416
5417    Example: set certificate_file=˜/.muttng/certificates
5418
5419 27. charset
5420
5421    Type: string
5422
5423    Default: ""
5424
5425    Character set your terminal uses to display and enter textual data.
5426
5427 28. check_new
5428
5429    Type: boolean
5430
5431    Default: yes
5432
5433    Note: this option only affects maildir and MH style mailboxes.
5434
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.
5440
5441 29. collapse_unread
5442
5443    Type: boolean
5444
5445    Default: yes
5446
5447    When unset, Mutt-ng will not collapse a thread if it contains any unread
5448    messages.
5449
5450 30. compose_format
5451
5452    Type: string
5453
5454    Default: "-- Mutt-ng: Compose [Approx. msg size: %l Atts: %a]%>-"
5455
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:
5459
5460    %a
5461
5462            total number of attachments
5463
5464    %h
5465
5466            local hostname
5467
5468    %l
5469
5470            approximate size (in bytes) of the current message
5471
5472    %v
5473
5474            Mutt-ng version string
5475
5476    See the text describing the ``$status_format'' option for more information
5477    on how to set ``$compose_format''.
5478
5479 31. config_charset
5480
5481    Type: string
5482
5483    Default: ""
5484
5485    When defined, Mutt-ng will recode commands in rc files from this encoding.
5486
5487 32. confirmappend
5488
5489    Type: boolean
5490
5491    Default: yes
5492
5493    When set, Mutt-ng will prompt for confirmation when appending messages to
5494    an existing mailbox.
5495
5496 33. confirmcreate
5497
5498    Type: boolean
5499
5500    Default: yes
5501
5502    When set, Mutt-ng will prompt for confirmation when saving messages to a
5503    mailbox which does not yet exist before creating it.
5504
5505 34. connect_timeout
5506
5507    Type: number
5508
5509    Default: 30
5510
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
5514    succeed.
5515
5516 35. content_type
5517
5518    Type: string
5519
5520    Default: "text/plain"
5521
5522    Sets the default Content-Type: header field for the body of newly composed
5523    messages.
5524
5525 36. copy
5526
5527    Type: quadoption
5528
5529    Default: yes
5530
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''.
5534
5535 37. crypt_autoencrypt
5536
5537    Type: boolean
5538
5539    Default: no
5540
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.
5547    (Crypto only)
5548
5549 38. crypt_autopgp
5550
5551    Type: boolean
5552
5553    Default: yes
5554
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''.
5559
5560 39. crypt_autosign
5561
5562    Type: boolean
5563
5564    Default: no
5565
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)
5572
5573 40. crypt_autosmime
5574
5575    Type: boolean
5576
5577    Default: yes
5578
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''.
5583
5584 41. crypt_replyencrypt
5585
5586    Type: boolean
5587
5588    Default: yes
5589
5590    If set, automatically PGP or OpenSSL encrypt replies to messages which are
5591    encrypted. (Crypto only)
5592
5593 42. crypt_replysign
5594
5595    Type: boolean
5596
5597    Default: no
5598
5599    If set, automatically PGP or OpenSSL sign replies to messages which are
5600    signed.
5601
5602    Note: this does not work on messages that are encrypted and signed!
5603    (Crypto only)
5604
5605 43. crypt_replysignencrypted
5606
5607    Type: boolean
5608
5609    Default: no
5610
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)
5617
5618 44. crypt_timestamp
5619
5620    Type: boolean
5621
5622    Default: yes
5623
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.
5627    (Crypto only)
5628
5629 45. crypt_use_gpgme
5630
5631    Type: boolean
5632
5633    Default: no
5634
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.
5638
5639    Note: You need to use this option in your .muttngrc configuration file as
5640    it won't have any effect when used interactively.
5641
5642 46. crypt_verify_sig
5643
5644    Type: quadoption
5645
5646    Default: yes
5647
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)
5651
5652 47. date_format
5653
5654    Type: string
5655
5656    Default: "!%a, %b %d, %Y at %I:%M:%S%p %Z"
5657
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
5660    the date.
5661
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).
5667
5668 48. debug_level
5669
5670    Type: number
5671
5672    Default: 0
5673
5674    Availability: debug
5675
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.
5679
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.
5682
5683 49. default_hook
5684
5685    Type: string
5686
5687    Default: "˜f %s !˜P | (˜P ˜C %s)"
5688
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.
5697
5698 50. delete
5699
5700    Type: quadoption
5701
5702    Default: ask-yes
5703
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.
5708
5709 51. delete_space
5710
5711    Type: boolean
5712
5713    Default: no
5714
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.
5719
5720    Note: this variable only has an effect on outgoing messages (if
5721    $text_flowed is set) but not on incomming.
5722
5723 52. delete_untag
5724
5725    Type: boolean
5726
5727    Default: yes
5728
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.
5732
5733 53. digest_collapse
5734
5735    Type: boolean
5736
5737    Default: yes
5738
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.
5742
5743 54. display_filter
5744
5745    Type: path
5746
5747    Default: ""
5748
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.
5752
5753 55. dotlock_program
5754
5755    Type: path
5756
5757    Default: "$muttng_bindir/muttng_dotlock"
5758
5759    Availability: Standalone and Dotlock
5760
5761    Contains the path of the muttng_dotlock(1) binary to be used by Mutt-ng.
5762
5763 56. dsn_notify
5764
5765    Type: string
5766
5767    Default: ""
5768
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.
5771
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.
5777
5778    Example: set dsn_notify="failure,delay"
5779
5780 57. dsn_return
5781
5782    Type: string
5783
5784    Default: ""
5785
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.
5788
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.
5792
5793    Example: set dsn_return=hdrs
5794
5795 58. duplicate_threads
5796
5797    Type: boolean
5798
5799    Default: yes
5800
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.
5805
5806 59. edit_headers
5807
5808    Type: boolean
5809
5810    Default: no
5811
5812    This option allows you to edit the header of your outgoing messages along
5813    with the body of your message.
5814
5815    Which empty header fields to show is controlled by the $editor_headers
5816    option.
5817
5818 60. editor
5819
5820    Type: path
5821
5822    Default: ""
5823
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.
5827
5828 61. editor_headers
5829
5830    Type: string
5831
5832    Default: "From: To: Cc: Bcc: Subject: Reply-To: Newsgroups: Followup-To:
5833    X-Comment-To:"
5834
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.
5837
5838    Note: if $edit_headers had to be turned on by force because $strict_mailto
5839    is unset, this option has no effect.
5840
5841 62. encode_from
5842
5843    Type: boolean
5844
5845    Default: no
5846
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.
5851
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.
5856
5857 63. entropy_file
5858
5859    Type: path
5860
5861    Default: ""
5862
5863    Availability: SSL
5864
5865    The file which includes random data that is used to initialize SSL library
5866    functions.
5867
5868 64. envelope_from
5869
5870    Type: boolean
5871
5872    Default: no
5873
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.
5879
5880 65. escape
5881
5882    Type: string
5883
5884    Default: "˜"
5885
5886    Escape character to use for functions in the builtin editor.
5887
5888 66. fast_reply
5889
5890    Type: boolean
5891
5892    Default: no
5893
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.
5897
5898    Note: this variable has no effect when the ``$autoedit'' variable is set.
5899
5900 67. fcc_attach
5901
5902    Type: boolean
5903
5904    Default: yes
5905
5906    This variable controls whether or not attachments on outgoing messages are
5907    saved along with the main body of your message.
5908
5909 68. fcc_clear
5910
5911    Type: boolean
5912
5913    Default: no
5914
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)
5917
5918 69. file_charset
5919
5920    Type: string
5921
5922    Default: ""
5923
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
5927    handling:
5928
5929    set file_charset="iso-2022-jp:euc-jp:shift_jis:utf-8"
5930
5931    Note: ``iso-2022-*'' must be put at the head of the value as shown above
5932    if included.
5933
5934 70. folder
5935
5936    Type: path
5937
5938    Default: "˜/Mail"
5939
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.
5945
5946 71. folder_format
5947
5948    Type: string
5949
5950    Default: "%2C %t %N %F %2l %-8.8u %-8.8g %8s %d %f"
5951
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:
5955
5956    %C
5957
5958            current file number
5959
5960    %d
5961
5962            date/time folder was last modified
5963
5964    %f
5965
5966            filename
5967
5968    %F
5969
5970            file permissions
5971
5972    %g
5973
5974            group name (or numeric gid, if missing)
5975
5976    %l
5977
5978            number of hard links
5979
5980    %N
5981
5982            N if folder has new mail, blank otherwise
5983
5984    %s
5985
5986            size in bytes
5987
5988    %t
5989
5990            * if the file is tagged, blank otherwise
5991
5992    %u
5993
5994            owner name (or numeric uid, if missing)
5995
5996    %>X
5997
5998            right justify the rest of the string and pad with character "X"
5999
6000    %|X
6001
6002            pad to the end of the line with character "X"
6003
6004 72. followup_to
6005
6006    Type: boolean
6007
6008    Default: yes
6009
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.
6014
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
6023    you.
6024
6025 73. force_buffy_check
6026
6027    Type: boolean
6028
6029    Default: no
6030
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.
6034
6035    Also see the following variables: ``$timeout'', ``$mail_check'' and
6036    ``$imap_mail_check''.
6037
6038 74. force_name
6039
6040    Type: boolean
6041
6042    Default: no
6043
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.
6047
6048    Also see the ``$record'' variable.
6049
6050 75. forward_decode
6051
6052    Type: boolean
6053
6054    Default: yes
6055
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.
6060
6061 76. forward_decrypt
6062
6063    Type: boolean
6064
6065    Default: yes
6066
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
6070    unset. (PGP only)
6071
6072 77. forward_edit
6073
6074    Type: quadoption
6075
6076    Default: yes
6077
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.
6081
6082 78. forward_format
6083
6084    Type: string
6085
6086    Default: "[%a: %s]"
6087
6088    This variable controls the default subject when forwarding a message. It
6089    uses the same format sequences as the ``$index_format'' variable.
6090
6091 79. forward_quote
6092
6093    Type: boolean
6094
6095    Default: no
6096
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''.
6099
6100 80. from
6101
6102    Type: e-mail address
6103
6104    Default: ""
6105
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.
6109
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.
6113
6114    Defaults to the contents of the environment variable $EMAIL.
6115
6116 81. gecos_mask
6117
6118    Type: regular expression
6119
6120    Default: "^[^,]*"
6121
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=".*".
6127
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''.
6133
6134 82. hdrs
6135
6136    Type: boolean
6137
6138    Default: yes
6139
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.
6144
6145 83. header
6146
6147    Type: boolean
6148
6149    Default: no
6150
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
6153    applies.
6154
6155 84. header_cache
6156
6157    Type: path
6158
6159    Default: ""
6160
6161    Availability: Header Cache
6162
6163    The $header_cache variable points to the header cache database.
6164
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
6168    will be used.
6169
6170 85. header_cache_compress
6171
6172    Type: boolean
6173
6174    Default: no
6175
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.
6179
6180 86. help
6181
6182    Type: boolean
6183
6184    Default: yes
6185
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.
6188
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
6193    a major problem.
6194
6195 87. hidden_host
6196
6197    Type: boolean
6198
6199    Default: no
6200
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.
6205
6206 88. hide_limited
6207
6208    Type: boolean
6209
6210    Default: no
6211
6212    When set, Mutt-ng will not show the presence of messages that are hidden
6213    by limiting, in the thread tree.
6214
6215 89. hide_missing
6216
6217    Type: boolean
6218
6219    Default: yes
6220
6221    When set, Mutt-ng will not show the presence of missing messages in the
6222    thread tree.
6223
6224 90. hide_thread_subject
6225
6226    Type: boolean
6227
6228    Default: yes
6229
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
6232    sibling.
6233
6234 91. hide_top_limited
6235
6236    Type: boolean
6237
6238    Default: no
6239
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.
6243
6244 92. hide_top_missing
6245
6246    Type: boolean
6247
6248    Default: yes
6249
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.
6253
6254 93. history
6255
6256    Type: number
6257
6258    Default: 10
6259
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
6262    changed.
6263
6264 94. honor_followup_to
6265
6266    Type: quadoption
6267
6268    Default: yes
6269
6270    This variable controls whether or not a Mail-Followup-To: header field is
6271    honored when group-replying to a message.
6272
6273 95. hostname
6274
6275    Type: string
6276
6277    Default: ""
6278
6279    Specifies the hostname to use after the ``@'' in local e-mail addresses
6280    and during generation of Message-Id: headers.
6281
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.
6284
6285 96. ignore_list_reply_to
6286
6287    Type: boolean
6288
6289    Default: no
6290
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.
6298
6299 97. imap_authenticators
6300
6301    Type: string
6302
6303    Default: ""
6304
6305    Availability: IMAP
6306
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.
6312
6313    If this parameter is unset (the default) Mutt-ng will try all available
6314    methods, in order from most-secure to least-secure.
6315
6316    Example: set imap_authenticators="gssapi:cram-md5:login"
6317
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.
6321
6322 98. imap_check_subscribed
6323
6324    Type: boolean
6325
6326    Default: no
6327
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.
6331
6332 99. imap_delim_chars
6333
6334    Type: string
6335
6336    Default: "/."
6337
6338    Availability: IMAP
6339
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.
6343
6344 100. imap_headers
6345
6346    Type: string
6347
6348    Default: ""
6349
6350    Availability: IMAP
6351
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.
6357
6358    Note: This is a space separated list.
6359
6360 101. imap_home_namespace
6361
6362    Type: string
6363
6364    Default: ""
6365
6366    Availability: IMAP
6367
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.
6371
6372 102. imap_keepalive
6373
6374    Type: number
6375
6376    Default: 900
6377
6378    Availability: IMAP
6379
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.
6383
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.
6387
6388    Reduce this number if you find yourself getting disconnected from your
6389    IMAP server due to inactivity.
6390
6391 103. imap_list_subscribed
6392
6393    Type: boolean
6394
6395    Default: no
6396
6397    Availability: IMAP
6398
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.
6402
6403 104. imap_login
6404
6405    Type: string
6406
6407    Default: ""
6408
6409    Availability: IMAP
6410
6411    Your login name on the IMAP server.
6412
6413    This variable defaults to the value of ``$imap_user.''
6414
6415 105. imap_mail_check
6416
6417    Type: number
6418
6419    Default: 300
6420
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
6424    folders.
6425
6426 106. imap_pass
6427
6428    Type: string
6429
6430    Default: ""
6431
6432    Availability: IMAP
6433
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.
6436
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.
6440
6441 107. imap_passive
6442
6443    Type: boolean
6444
6445    Default: yes
6446
6447    Availability: IMAP
6448
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.
6453
6454 108. imap_peek
6455
6456    Type: boolean
6457
6458    Default: yes
6459
6460    Availability: IMAP
6461
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.
6466
6467 109. imap_reconnect
6468
6469    Type: quadoption
6470
6471    Default: ask-yes
6472
6473    Availability: IMAP
6474
6475    Controls whether or not Mutt-ng will try to reconnect to IMAP server when
6476    the connection is lost.
6477
6478 110. imap_servernoise
6479
6480    Type: boolean
6481
6482    Default: yes
6483
6484    Availability: IMAP
6485
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.
6490
6491 111. imap_user
6492
6493    Type: string
6494
6495    Default: ""
6496
6497    Availability: IMAP
6498
6499    The name of the user whose mail you intend to access on the IMAP server.
6500
6501    This variable defaults to your user name on the local machine.
6502
6503 112. implicit_autoview
6504
6505    Type: boolean
6506
6507    Default: no
6508
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.
6513
6514 113. include
6515
6516    Type: quadoption
6517
6518    Default: ask-yes
6519
6520    Controls whether or not a copy of the message(s) you are replying to is
6521    included in your reply.
6522
6523 114. include_onlyfirst
6524
6525    Type: boolean
6526
6527    Default: no
6528
6529    Controls whether or not Mutt-ng includes only the first attachment of the
6530    message you are replying.
6531
6532 115. indent_string
6533
6534    Type: string
6535
6536    Default: "> "
6537
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.
6541
6542 116. index_format
6543
6544    Type: string
6545
6546    Default: "%4C %Z %{%b %d} %-15.15L (%?l?%4l&%4c?) %s"
6547
6548    This variable allows you to customize the message index display to your
6549    personal taste.
6550
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:
6554
6555    %a
6556
6557            address of the author
6558
6559    %A
6560
6561            reply-to address (if present; otherwise: address of author)
6562
6563    %b
6564
6565            filename of the original message folder (think mailBox)
6566
6567    %B
6568
6569            the list to which the letter was sent, or else the folder name
6570            (%b).
6571
6572    %c
6573
6574            number of characters (bytes) in the message
6575
6576    %C
6577
6578            current message number
6579
6580    %d
6581
6582            date and time of the message in the format specified by
6583            ``date_format'' converted to sender's time zone
6584
6585    %D
6586
6587            date and time of the message in the format specified by
6588            ``date_format'' converted to the local time zone
6589
6590    %e
6591
6592            current message number in thread
6593
6594    %E
6595
6596            number of messages in current thread
6597
6598    %f
6599
6600            entire From: line (address + real name)
6601
6602    %F
6603
6604            author name, or recipient name if the message is from you
6605
6606    %H
6607
6608            spam attribute(s) of this message
6609
6610    %g
6611
6612            newsgroup name (if compiled with nntp support)
6613
6614    %i
6615
6616            message-id of the current message
6617
6618    %l
6619
6620            number of lines in the message (does not work with maildir, mh,
6621            and possibly IMAP folders)
6622
6623    %L
6624
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.
6628
6629    %m
6630
6631            total number of message in the mailbox
6632
6633    %M
6634
6635            number of hidden messages if the thread is collapsed.
6636
6637    %N
6638
6639            message score
6640
6641    %n
6642
6643            author's real name (or address if missing)
6644
6645    %O
6646
6647            (_O_riginal save folder) Where Mutt-ng would formerly have stashed
6648            the message: list name or recipient name if no list
6649
6650    %s
6651
6652            subject of the message
6653
6654    %S
6655
6656            status of the message (N/D/d/!/r/*)
6657
6658    %t
6659
6660            `to:' field (recipients)
6661
6662    %T
6663
6664            the appropriate character from the $to_chars string
6665
6666    %u
6667
6668            user (login) name of the author
6669
6670    %v
6671
6672            first name of the author, or the recipient if the message is from
6673            you
6674
6675    %W
6676
6677            name of organization of author (`organization:' field)
6678
6679    %y
6680
6681            `x-label:' field, if present
6682
6683    %Y
6684
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'.
6688
6689    %Z
6690
6691            message status flags
6692
6693    %{fmt}
6694
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
6698
6699    %[fmt]
6700
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
6704
6705    %(fmt)
6706
6707            the local date and time when the message was received. ``fmt'' is
6708            expanded by the library function ``strftime''; a leading bang
6709            disables locales
6710
6711    %<fmt>
6712
6713            the current local time. ``fmt'' is expanded by the library
6714            function ``strftime''; a leading bang disables locales.
6715
6716    %>X
6717
6718            right justify the rest of the string and pad with character "X"
6719
6720    %|X
6721
6722            pad to the end of the line with character "X"
6723
6724    See also: ``$to_chars''.
6725
6726 117. ispell
6727
6728    Type: path
6729
6730    Default: "ispell"
6731
6732    How to invoke ispell (GNU's spell-checking software).
6733
6734 118. keep_flagged
6735
6736    Type: boolean
6737
6738    Default: no
6739
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''
6742    command.
6743
6744 119. list_reply
6745
6746    Type: quadoption
6747
6748    Default: no
6749
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.
6753
6754 120. locale
6755
6756    Type: string
6757
6758    Default: "C"
6759
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.
6762
6763 121. mail_check
6764
6765    Type: number
6766
6767    Default: 5
6768
6769    This variable configures how often (in seconds) Mutt-ng should look for
6770    new mail.
6771
6772    Note: This does not apply to IMAP mailboxes, see $imap_mail_check.
6773
6774 122. mailcap_path
6775
6776    Type: string
6777
6778    Default: ""
6779
6780    This variable specifies which files to consult when attempting to display
6781    MIME bodies not directly supported by Mutt-ng.
6782
6783 123. mailcap_sanitize
6784
6785    Type: boolean
6786
6787    Default: yes
6788
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.
6792
6793    DON'T CHANGE THIS SETTING UNLESS YOU ARE REALLY SURE WHAT YOU ARE DOING!
6794
6795 124. maildir_header_cache_verify
6796
6797    Type: boolean
6798
6799    Default: yes
6800
6801    Availability: Header Cache
6802
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.
6806
6807 125. maildir_trash
6808
6809    Type: boolean
6810
6811    Default: no
6812
6813    If set, messages marked as deleted will be saved with the maildir
6814    (T)rashed flag instead of physically deleted.
6815
6816    NOTE: this only applies to maildir-style mailboxes. Setting it will have
6817    no effect on other mailbox types.
6818
6819    It is similiar to the trash option.
6820
6821 126. mark_old
6822
6823    Type: boolean
6824
6825    Default: yes
6826
6827    Controls whether or not Mutt-ng marks new unread messages as old if you
6828    exit a mailbox without reading them.
6829
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
6832    they are old.
6833
6834 127. markers
6835
6836    Type: boolean
6837
6838    Default: yes
6839
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.
6843
6844 128. mask
6845
6846    Type: regular expression
6847
6848    Default: "!^\.[^.]"
6849
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.
6853
6854 129. max_display_recips
6855
6856    Type: number
6857
6858    Default: 0
6859
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.
6864
6865 130. max_line_length
6866
6867    Type: number
6868
6869    Default: 0
6870
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.
6875
6876 131. mbox
6877
6878    Type: path
6879
6880    Default: "˜/mbox"
6881
6882    This specifies the folder into which read mail in your ``$spoolfile''
6883    folder will be appended.
6884
6885 132. mbox_type
6886
6887    Type: folder magic
6888
6889    Default: mbox
6890
6891    The default mailbox type used when creating new folders. May be any of
6892    mbox, MMDF, MH and Maildir.
6893
6894 133. menu_context
6895
6896    Type: number
6897
6898    Default: 0
6899
6900    This variable controls the number of lines of context that are given when
6901    scrolling through menus. (Similar to ``$pager_context''.)
6902
6903 134. menu_move_off
6904
6905    Type: boolean
6906
6907    Default: yes
6908
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.
6912
6913 135. menu_scroll
6914
6915    Type: boolean
6916
6917    Default: no
6918
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).
6923
6924 136. message_format
6925
6926    Type: string
6927
6928    Default: "%s"
6929
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''.
6933
6934 137. meta_key
6935
6936    Type: boolean
6937
6938    Default: no
6939
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''.
6946
6947 138. metoo
6948
6949    Type: boolean
6950
6951    Default: no
6952
6953    If unset, Mutt-ng will remove your address (see the ``alternates''
6954    command) from the list of recipients when replying to a message.
6955
6956 139. mh_purge
6957
6958    Type: boolean
6959
6960    Default: no
6961
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.
6965
6966 140. mh_seq_flagged
6967
6968    Type: string
6969
6970    Default: "flagged"
6971
6972    The name of the MH sequence used for flagged messages.
6973
6974 141. mh_seq_replied
6975
6976    Type: string
6977
6978    Default: "replied"
6979
6980    The name of the MH sequence used to tag replied messages.
6981
6982 142. mh_seq_unseen
6983
6984    Type: string
6985
6986    Default: "unseen"
6987
6988    The name of the MH sequence used for unseen messages.
6989
6990 143. mime_forward
6991
6992    Type: quadoption
6993
6994    Default: no
6995
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.
6998
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
7002    ask-yes.
7003
7004    Also see ``$forward_decode'' and ``$mime_forward_decode''.
7005
7006 144. mime_forward_decode
7007
7008    Type: boolean
7009
7010    Default: no
7011
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.
7015
7016 145. mime_forward_rest
7017
7018    Type: quadoption
7019
7020    Default: yes
7021
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.
7025
7026 146. mix_entry_format
7027
7028    Type: string
7029
7030    Default: "%4n %c %-16s %a"
7031
7032    Availability: Mixmaster
7033
7034    This variable describes the format of a remailer line on the mixmaster
7035    chain selection screen. The following printf(3)-like sequences are
7036    supported:
7037
7038    %n
7039
7040            The running number on the menu.
7041
7042    %c
7043
7044            Remailer capabilities.
7045
7046    %s
7047
7048            The remailer's short name.
7049
7050    %a
7051
7052            The remailer's e-mail address.
7053
7054 147. mixmaster
7055
7056    Type: path
7057
7058    Default: "mixmaster"
7059
7060    Availability: Mixmaster
7061
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.
7065
7066 148. move
7067
7068    Type: quadoption
7069
7070    Default: ask-no
7071
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''
7074    command.
7075
7076 149. msgid_format
7077
7078    Type: string
7079
7080    Default: "%Y%m%d%h%M%s.G%P%p"
7081
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:
7086
7087    %d
7088
7089            the current day of month
7090
7091    %h
7092
7093            the current hour
7094
7095    %m
7096
7097            the current month
7098
7099    %M
7100
7101            the current minute
7102
7103    %O
7104
7105            the current UNIX timestamp (octal)
7106
7107    %p
7108
7109            the process ID
7110
7111    %P
7112
7113            the current Message-ID prefix (a character rotating with every
7114            Message-ID being generated)
7115
7116    %r
7117
7118            a random integer value (decimal)
7119
7120    %R
7121
7122            a random integer value (hexadecimal)
7123
7124    %s
7125
7126            the current second
7127
7128    %T
7129
7130            the current UNIX timestamp (decimal)
7131
7132    %X
7133
7134            the current UNIX timestamp (hexadecimal)
7135
7136    %Y
7137
7138            the current year (Y2K compliant)
7139
7140    %%
7141
7142            the '%' character
7143
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.
7146
7147 150. muttng_bindir
7148
7149    Type: system property
7150
7151    Value: /opt/freebsd4/mutt-ng/bin
7152
7153    This is a read-only system property and specifies the directory containing
7154    the muttng binary.
7155
7156 151. muttng_docdir
7157
7158    Type: system property
7159
7160    Value: /opt/freebsd4/mutt-ng/doc/muttng
7161
7162    This is a read-only system property and specifies the directory containing
7163    the muttng documentation.
7164
7165 152. muttng_folder_name
7166
7167    Type: system property
7168
7169    Value:
7170
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 ``/''.
7174
7175 153. muttng_folder_path
7176
7177    Type: system property
7178
7179    Value:
7180
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).
7183
7184 154. muttng_hcache_backend
7185
7186    Type: system property
7187
7188    Value: qdbm
7189
7190    This is a read-only system property and specifies the header chaching's
7191    database backend.
7192
7193 155. muttng_pwd
7194
7195    Type: system property
7196
7197    Value:
7198
7199    This is a read-only system property and, at runtime, specifies the current
7200    working directory of the muttng binary.
7201
7202 156. muttng_revision
7203
7204    Type: system property
7205
7206    Value: 474
7207
7208    This is a read-only system property and specifies muttng's subversion
7209    revision string.
7210
7211 157. muttng_sysconfdir
7212
7213    Type: system property
7214
7215    Value: /opt/freebsd4/mutt-ng/etc
7216
7217    This is a read-only system property and specifies the directory containing
7218    the muttng system-wide configuration.
7219
7220 158. muttng_version
7221
7222    Type: system property
7223
7224    Value: devel
7225
7226    This is a read-only system property and specifies muttng's version string.
7227
7228 159. narrow_tree
7229
7230    Type: boolean
7231
7232    Default: no
7233
7234    This variable, when set, makes the thread tree narrower, allowing deeper
7235    threads to fit on the screen.
7236
7237 160. nntp_ask_followup_to
7238
7239    Type: boolean
7240
7241    Default: no
7242
7243    Availability: NNTP
7244
7245    If set, Mutt-ng will prompt you for the Followup-To: header field before
7246    editing the body of an outgoing news article.
7247
7248 161. nntp_ask_x_comment_to
7249
7250    Type: boolean
7251
7252    Default: no
7253
7254    Availability: NNTP
7255
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.
7258
7259 162. nntp_cache_dir
7260
7261    Type: path
7262
7263    Default: "˜/.muttng"
7264
7265    Availability: NNTP
7266
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.
7270
7271    As for the header caching in connection with IMAP and/or Maildir, this
7272    drastically increases speed and lowers traffic.
7273
7274 163. nntp_catchup
7275
7276    Type: quadoption
7277
7278    Default: ask-yes
7279
7280    Availability: NNTP
7281
7282    If this variable is set, Mutt-ng will mark all articles in a newsgroup as
7283    read when you leaving it.
7284
7285 164. nntp_context
7286
7287    Type: number
7288
7289    Default: 1000
7290
7291    Availability: NNTP
7292
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.
7296
7297    If there're more articles than defined with $nntp_context, all older ones
7298    will be removed/not shown in the index.
7299
7300 165. nntp_followup_to_poster
7301
7302    Type: quadoption
7303
7304    Default: ask-yes
7305
7306    Availability: NNTP
7307
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.
7311
7312 166. nntp_group_index_format
7313
7314    Type: string
7315
7316    Default: "%4C %M%N %5s %-45.45f %d"
7317
7318    Availability: NNTP
7319
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:
7323
7324  %C      current newsgroup number
7325  %d      description of newsgroup (retrieved from server)
7326  %f      newsgroup name
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"
7333
7334
7335 167. nntp_host
7336
7337    Type: string
7338
7339    Default: ""
7340
7341    Availability: NNTP
7342
7343    This variable specifies the name (or address) of the NNTP server to be
7344    used.
7345
7346    It defaults to the value specified via the environment variable
7347    $NNTPSERVER or contained in the file /etc/nntpserver.
7348
7349    You can also specify a username and an alternative port for each
7350    newsserver, e.g.
7351
7352    [nntp[s]://][username[:password]@]newsserver[:port]
7353
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.
7357
7358 168. nntp_inews
7359
7360    Type: path
7361
7362    Default: ""
7363
7364    Availability: NNTP
7365
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:
7369
7370  %s      newsserver name
7371
7372
7373    Example: set inews="/usr/local/bin/inews -hS"
7374
7375 169. nntp_load_description
7376
7377    Type: boolean
7378
7379    Default: yes
7380
7381    Availability: NNTP
7382
7383    This variable controls whether or not descriptions for newsgroups are to
7384    be loaded when subscribing to a newsgroup.
7385
7386 170. nntp_mail_check
7387
7388    Type: number
7389
7390    Default: 60
7391
7392    Availability: NNTP
7393
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.).
7397
7398 171. nntp_mime_subject
7399
7400    Type: boolean
7401
7402    Default: yes
7403
7404    Availability: NNTP
7405
7406    If unset, an 8-bit ``Subject:'' header field in a news article will not be
7407    encoded according to RFC2047.
7408
7409    Note: Only change this setting if you know what you are doing.
7410
7411 172. nntp_newsrc
7412
7413    Type: path
7414
7415    Default: "˜/.newsrc"
7416
7417    Availability: NNTP
7418
7419    This file contains information about subscribed newsgroup and articles
7420    read so far.
7421
7422    To ease the use of multiple news servers, the following printf(3)-style
7423    sequence is understood:
7424
7425  %s      newsserver name
7426
7427
7428 173. nntp_pass
7429
7430    Type: string
7431
7432    Default: ""
7433
7434    Availability: NNTP
7435
7436    Your password for NNTP account.
7437
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
7440    permissions.
7441
7442 174. nntp_post_moderated
7443
7444    Type: quadoption
7445
7446    Default: ask-yes
7447
7448    Availability: NNTP
7449
7450    If set to yes, Mutt-ng will post articles to newsgroup that have not
7451    permissions to post (e.g. moderated).
7452
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.
7455
7456 175. nntp_reconnect
7457
7458    Type: quadoption
7459
7460    Default: ask-yes
7461
7462    Availability: NNTP
7463
7464    Controls whether or not Mutt-ng will try to reconnect to a newsserver when
7465    the was connection lost.
7466
7467 176. nntp_save_unsubscribed
7468
7469    Type: boolean
7470
7471    Default: no
7472
7473    Availability: NNTP
7474
7475    When set, info about unsubscribed newsgroups will be saved into the
7476    ``newsrc'' file and into the news cache.
7477
7478 177. nntp_show_new_news
7479
7480    Type: boolean
7481
7482    Default: yes
7483
7484    Availability: NNTP
7485
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.
7490
7491 178. nntp_show_only_unread
7492
7493    Type: boolean
7494
7495    Default: no
7496
7497    Availability: NNTP
7498
7499    If set, only subscribed newsgroups that contain unread articles will be
7500    displayed in the newsgroup browser.
7501
7502 179. nntp_user
7503
7504    Type: string
7505
7506    Default: ""
7507
7508    Availability: NNTP
7509
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.
7512
7513 180. nntp_x_comment_to
7514
7515    Type: boolean
7516
7517    Default: no
7518
7519    Availability: NNTP
7520
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
7523    to.
7524
7525 181. operating_system
7526
7527    Type: string
7528
7529    Default: ""
7530
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.
7534
7535    It may, for example, look as: ``mutt-ng 1.5.9i (Linux)''.
7536
7537 182. pager
7538
7539    Type: path
7540
7541    Default: "builtin"
7542
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
7546    to use.
7547
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.
7552
7553 183. pager_context
7554
7555    Type: number
7556
7557    Default: 0
7558
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).
7563
7564 184. pager_format
7565
7566    Type: string
7567
7568    Default: "-%Z- %C/%m: %-20.20n %s"
7569
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.
7573
7574 185. pager_index_lines
7575
7576    Type: number
7577
7578    Default: 0
7579
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.
7590
7591 186. pager_stop
7592
7593    Type: boolean
7594
7595    Default: no
7596
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.
7599
7600 187. pgp_auto_decode
7601
7602    Type: boolean
7603
7604    Default: no
7605
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.
7612
7613 188. pgp_autoinline
7614
7615    Type: boolean
7616
7617    Default: no
7618
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
7622    is not required.
7623
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''.
7628
7629    Also note that using the old-style PGP message format is strongly
7630    deprecated. (PGP only)
7631
7632 189. pgp_check_exit
7633
7634    Type: boolean
7635
7636    Default: yes
7637
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
7640    failed. (PGP only)
7641
7642 190. pgp_clearsign_command
7643
7644    Type: string
7645
7646    Default: ""
7647
7648    This format is used to create a old-style ``clearsigned'' PGP message.
7649
7650    Note that the use of this format is strongly deprecated. (PGP only)
7651
7652 191. pgp_decode_command
7653
7654    Type: string
7655
7656    Default: ""
7657
7658    This format strings specifies a command which is used to decode
7659    application/pgp attachments.
7660
7661    The PGP command formats have their own set of printf(3)-like sequences:
7662
7663    %p
7664
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.
7667
7668    %f
7669
7670            Expands to the name of a file containing a message.
7671
7672    %s
7673
7674            Expands to the name of a file containing the signature part of a
7675            multipart/signed attachment when verifying it.
7676
7677    %a
7678
7679            The value of $pgp_sign_as.
7680
7681    %r
7682
7683            One or more key IDs.
7684
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)
7689
7690 192. pgp_decrypt_command
7691
7692    Type: string
7693
7694    Default: ""
7695
7696    This command is used to decrypt a PGP encrypted message. (PGP only)
7697
7698 193. pgp_encrypt_only_command
7699
7700    Type: string
7701
7702    Default: ""
7703
7704    This command is used to encrypt a body part without signing it. (PGP only)
7705
7706 194. pgp_encrypt_sign_command
7707
7708    Type: string
7709
7710    Default: ""
7711
7712    This command is used to both sign and encrypt a body part. (PGP only)
7713
7714 195. pgp_entry_format
7715
7716    Type: string
7717
7718    Default: "%4n %t%f %4l/0x%k %-4a %2c %u"
7719
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:
7723
7724    %n
7725
7726            number
7727
7728    %k
7729
7730            key id
7731
7732    %u
7733
7734            user id
7735
7736    %a
7737
7738            algorithm
7739
7740    %l
7741
7742            key length
7743
7744    %f
7745
7746            flags
7747
7748    %c
7749
7750            capabilities
7751
7752    %t
7753
7754            trust/validity of the key-uid association
7755
7756    %[<s>]
7757
7758            date of the key where <s> is an strftime(3) expression
7759
7760    (PGP only)
7761
7762 196. pgp_export_command
7763
7764    Type: string
7765
7766    Default: ""
7767
7768    This command is used to export a public key from the user's key ring. (PGP
7769    only)
7770
7771 197. pgp_getkeys_command
7772
7773    Type: string
7774
7775    Default: ""
7776
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)
7779
7780 198. pgp_good_sign
7781
7782    Type: regular expression
7783
7784    Default: ""
7785
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)
7790
7791 199. pgp_ignore_subkeys
7792
7793    Type: boolean
7794
7795    Default: yes
7796
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)
7800
7801 200. pgp_import_command
7802
7803    Type: string
7804
7805    Default: ""
7806
7807    This command is used to import a key from a message into the user's public
7808    key ring. (PGP only)
7809
7810 201. pgp_list_pubring_command
7811
7812    Type: string
7813
7814    Default: ""
7815
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.
7818
7819    This format is also generated by the pgpring utility which comes with
7820    Mutt-ng. (PGP only)
7821
7822 202. pgp_list_secring_command
7823
7824    Type: string
7825
7826    Default: ""
7827
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.
7830
7831    This format is also generated by the pgpring utility which comes with
7832    Mutt-ng. (PGP only)
7833
7834 203. pgp_long_ids
7835
7836    Type: boolean
7837
7838    Default: no
7839
7840    If set, use 64 bit PGP key IDs. Unset uses the normal 32 bit Key IDs. (PGP
7841    only)
7842
7843 204. pgp_mime_auto
7844
7845    Type: quadoption
7846
7847    Default: ask-yes
7848
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).
7852
7853    Also note that using the old-style PGP message format is strongly
7854    deprecated. (PGP only)
7855
7856 205. pgp_replyinline
7857
7858    Type: boolean
7859
7860    Default: no
7861
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.
7868
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''.
7873
7874    Also note that using the old-style PGP message format is strongly
7875    deprecated. (PGP only)
7876
7877 206. pgp_retainable_sigs
7878
7879    Type: boolean
7880
7881    Default: no
7882
7883    If set, signed and encrypted messages will consist of nested
7884    multipart/signed and multipart/encrypted body parts.
7885
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)
7889
7890 207. pgp_show_unusable
7891
7892    Type: boolean
7893
7894    Default: yes
7895
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)
7899
7900 208. pgp_sign_as
7901
7902    Type: string
7903
7904    Default: ""
7905
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)
7909
7910 209. pgp_sign_command
7911
7912    Type: string
7913
7914    Default: ""
7915
7916    This command is used to create the detached PGP signature for a
7917    multipart/signed PGP/MIME body part. (PGP only)
7918
7919 210. pgp_sort_keys
7920
7921    Type: sort order
7922
7923    Default: address
7924
7925    Specifies how the entries in the ``pgp keys'' menu are sorted. The
7926    following are legal values:
7927
7928    address
7929
7930            sort alphabetically by user id
7931
7932    keyid
7933
7934            sort alphabetically by key id
7935
7936    date
7937
7938            sort by key creation date
7939
7940    trust
7941
7942            sort by the trust of the key
7943
7944    If you prefer reverse order of the above values, prefix it with
7945    ``reverse-''. (PGP only)
7946
7947 211. pgp_strict_enc
7948
7949    Type: boolean
7950
7951    Default: yes
7952
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)
7957
7958 212. pgp_timeout
7959
7960    Type: number
7961
7962    Default: 300
7963
7964    The number of seconds after which a cached passphrase will expire if not
7965    used. Default: 300. (PGP only)
7966
7967 213. pgp_use_gpg_agent
7968
7969    Type: boolean
7970
7971    Default: no
7972
7973    If set, Mutt-ng will use a possibly-running gpg-agent process. (PGP only)
7974
7975 214. pgp_verify_command
7976
7977    Type: string
7978
7979    Default: ""
7980
7981    This command is used to verify PGP signatures. (PGP only)
7982
7983 215. pgp_verify_key_command
7984
7985    Type: string
7986
7987    Default: ""
7988
7989    This command is used to verify key information from the key selection
7990    menu. (PGP only)
7991
7992 216. pipe_decode
7993
7994    Type: boolean
7995
7996    Default: no
7997
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.
8001
8002 217. pipe_sep
8003
8004    Type: string
8005
8006    Default: "\n"
8007
8008    The separator to add between messages when piping a list of tagged
8009    messages to an external Unix command.
8010
8011 218. pipe_split
8012
8013    Type: boolean
8014
8015    Default: no
8016
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.
8023
8024 219. pop_auth_try_all
8025
8026    Type: boolean
8027
8028    Default: yes
8029
8030    Availability: POP
8031
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.
8036
8037 220. pop_authenticators
8038
8039    Type: string
8040
8041    Default: ""
8042
8043    Availability: POP
8044
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''.
8049
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
8052    to least-secure.
8053
8054    Example: set pop_authenticators="digest-md5:apop:user"
8055
8056 221. pop_delete
8057
8058    Type: quadoption
8059
8060    Default: ask-no
8061
8062    Availability: POP
8063
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.
8067
8068 222. pop_host
8069
8070    Type: string
8071
8072    Default: ""
8073
8074    Availability: POP
8075
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.:
8078
8079    [pop[s]://][username[:password]@]popserver[:port]
8080
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
8083    permissions.
8084
8085 223. pop_last
8086
8087    Type: boolean
8088
8089    Default: no
8090
8091    Availability: POP
8092
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.
8096
8097 224. pop_mail_check
8098
8099    Type: number
8100
8101    Default: 60
8102
8103    Availability: POP
8104
8105    This variable configures how often (in seconds) POP should look for new
8106    mail.
8107
8108 225. pop_pass
8109
8110    Type: string
8111
8112    Default: ""
8113
8114    Availability: POP
8115
8116    Specifies the password for your POP account. If unset, Mutt-ng will prompt
8117    you for your password when you open POP mailbox.
8118
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
8121    permissions.
8122
8123 226. pop_reconnect
8124
8125    Type: quadoption
8126
8127    Default: ask-yes
8128
8129    Availability: POP
8130
8131    Controls whether or not Mutt-ng will try to reconnect to a POP server when
8132    the connection is lost.
8133
8134 227. pop_user
8135
8136    Type: string
8137
8138    Default: ""
8139
8140    Availability: POP
8141
8142    Your login name on the POP server.
8143
8144    This variable defaults to your user name on the local machine.
8145
8146 228. post_indent_string
8147
8148    Type: string
8149
8150    Default: ""
8151
8152    Similar to the ``$attribution'' variable, Mutt-ng will append this string
8153    after the inclusion of a message which is being replied to.
8154
8155 229. postpone
8156
8157    Type: quadoption
8158
8159    Default: ask-yes
8160
8161    Controls whether or not messages are saved in the ``$postponed'' mailbox
8162    when you elect not to send immediately.
8163
8164 230. postponed
8165
8166    Type: path
8167
8168    Default: "˜/postponed"
8169
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''
8173    variable.
8174
8175 231. preconnect
8176
8177    Type: string
8178
8179    Default: ""
8180
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:
8185
8186    preconnect="ssh -f -q -L 1234:mailhost.net:143 mailhost.net sleep 20 <
8187    /dev/null > /dev/null"
8188
8189    Mailbox ``foo'' on mailhost.net can now be reached as
8190    ``{localhost:1234}foo''.
8191
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.
8194
8195 232. print
8196
8197    Type: quadoption
8198
8199    Default: ask-no
8200
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.
8203
8204 233. print_command
8205
8206    Type: path
8207
8208    Default: "lpr"
8209
8210    This specifies the command pipe that should be used to print messages.
8211
8212 234. print_decode
8213
8214    Type: boolean
8215
8216    Default: yes
8217
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.
8224
8225 235. print_split
8226
8227    Type: boolean
8228
8229    Default: no
8230
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.
8236
8237    Those who use the enscript(1) program's mail-printing mode will most
8238    likely want to set this option.
8239
8240 236. prompt_after
8241
8242    Type: boolean
8243
8244    Default: yes
8245
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.
8250
8251 237. query_command
8252
8253    Type: path
8254
8255    Default: ""
8256
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.
8260
8261 238. quit
8262
8263    Type: quadoption
8264
8265    Default: yes
8266
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.
8271
8272 239. quote_empty
8273
8274    Type: boolean
8275
8276    Default: yes
8277
8278    Controls whether or not empty lines will be quoted using
8279    ``indent_string''.
8280
8281 240. quote_quoted
8282
8283    Type: boolean
8284
8285    Default: no
8286
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''.
8290
8291 241. quote_regexp
8292
8293    Type: regular expression
8294
8295    Default: "^([ \t]*[|>:}#])+"
8296
8297    A regular expression used in the internal-pager to determine quoted
8298    sections of text in the body of a message.
8299
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.
8303
8304 242. read_inc
8305
8306    Type: number
8307
8308    Default: 10
8309
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.
8317
8318    Also see the ``$write_inc'' variable.
8319
8320 243. read_only
8321
8322    Type: boolean
8323
8324    Default: no
8325
8326    If set, all folders are opened in read-only mode.
8327
8328 244. realname
8329
8330    Type: string
8331
8332    Default: ""
8333
8334    This variable specifies what ``real'' or ``personal'' name should be used
8335    when sending messages.
8336
8337    By default, this is the GECOS field from /etc/passwd.
8338
8339    Note: This variable will not be used when the user has set a real name in
8340    the $from variable.
8341
8342 245. recall
8343
8344    Type: quadoption
8345
8346    Default: ask-yes
8347
8348    Controls whether or not Mutt-ng recalls postponed messages when composing
8349    a new message. Also see ``$postponed''.
8350
8351    Setting this variable to yes is not generally useful, and thus not
8352    recommended.
8353
8354 246. record
8355
8356    Type: path
8357
8358    Default: ""
8359
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.)
8364
8365    The value of $record is overridden by the ``$force_name'' and
8366    ``$save_name'' variables, and the ``fcc-hook'' command.
8367
8368 247. reply_regexp
8369
8370    Type: regular expression
8371
8372    Default: "^(re([\[0-9\]+])*|aw):[ \t]*"
8373
8374    A regular expression used to recognize reply messages when threading and
8375    replying. The default value corresponds to the English ``Re:'' and the
8376    German ``Aw:''.
8377
8378 248. reply_self
8379
8380    Type: boolean
8381
8382    Default: no
8383
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
8386    than to yourself.
8387
8388 249. reply_to
8389
8390    Type: quadoption
8391
8392    Default: ask-yes
8393
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.
8397
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.
8401
8402 250. resolve
8403
8404    Type: boolean
8405
8406    Default: yes
8407
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
8410    executed.
8411
8412 251. reverse_alias
8413
8414    Type: boolean
8415
8416    Default: no
8417
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
8421    alias:
8422
8423    alias juser abd30425@somewhere.net (Joe User)
8424
8425    and then you receive mail which contains the following header:
8426
8427    From: abd30425@somewhere.net
8428
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).
8432
8433 252. reverse_name
8434
8435    Type: boolean
8436
8437    Default: no
8438
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.
8446
8447 253. reverse_realname
8448
8449    Type: boolean
8450
8451    Default: yes
8452
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.
8457
8458 254. rfc2047_parameters
8459
8460    Type: boolean
8461
8462    Default: no
8463
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:
8467
8468    =?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?=
8469
8470    When this variable is set interactively, the change doesn't have the
8471    desired effect before you have changed folders.
8472
8473    Note that this use of RFC 2047's encoding is explicitly, prohibited by the
8474    standard, but nevertheless encountered in the wild.
8475
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.
8479
8480 255. save_address
8481
8482    Type: boolean
8483
8484    Default: no
8485
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.
8489
8490 256. save_empty
8491
8492    Type: boolean
8493
8494    Default: yes
8495
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.
8499
8500    Note: This only applies to mbox and MMDF folders, Mutt-ng does not delete
8501    MH and Maildir directories.
8502
8503 257. save_name
8504
8505    Type: boolean
8506
8507    Default: no
8508
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.
8515
8516    Also see the ``$force_name'' variable.
8517
8518 258. score
8519
8520    Type: boolean
8521
8522    Default: yes
8523
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.
8527
8528 259. score_threshold_delete
8529
8530    Type: number
8531
8532    Default: -1
8533
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.
8538
8539 260. score_threshold_flag
8540
8541    Type: number
8542
8543    Default: 9999
8544
8545    Messages which have been assigned a score greater than or equal to this
8546    variable's value are automatically marked ``flagged''.
8547
8548 261. score_threshold_read
8549
8550    Type: number
8551
8552    Default: -1
8553
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.
8558
8559 262. send_charset
8560
8561    Type: string
8562
8563    Default: "us-ascii:iso-8859-1:utf-8"
8564
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.
8571
8572 263. sendmail
8573
8574    Type: path
8575
8576    Default: "/usr/sbin/sendmail -oem -oi"
8577
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.
8581
8582 264. sendmail_wait
8583
8584    Type: number
8585
8586    Default: 0
8587
8588    Specifies the number of seconds to wait for the ``$sendmail'' process to
8589    finish before giving up and putting delivery in the background.
8590
8591    Mutt-ng interprets the value of this variable as follows:
8592
8593    >0
8594
8595            number of seconds to wait for sendmail to finish before continuing
8596
8597    0
8598
8599            wait forever for sendmail to finish
8600
8601    <0
8602
8603            always put sendmail in the background without waiting
8604
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.
8608
8609 265. shell
8610
8611    Type: path
8612
8613    Default: ""
8614
8615    Command to use when spawning a subshell. By default, the user's login
8616    shell from /etc/passwd is used.
8617
8618 266. sidebar_boundary
8619
8620    Type: string
8621
8622    Default: "."
8623
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.''
8627
8628 267. sidebar_delim
8629
8630    Type: string
8631
8632    Default: "|"
8633
8634    This specifies the delimiter between the sidebar (if visible) and other
8635    screens.
8636
8637 268. sidebar_newmail_only
8638
8639    Type: boolean
8640
8641    Default: no
8642
8643    If set, only folders with new mail will be shown in the sidebar.
8644
8645 269. sidebar_number_format
8646
8647    Type: string
8648
8649    Default: "%m%?n?(%n)?%?f?[%f]?"
8650
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.)
8655
8656    The following printf(3)-like sequences are supported all of which may be
8657    printed non-zero:
8658
8659    %d
8660
8661            Number of deleted messages. 1)
8662
8663    %F
8664
8665            Number of flagged messages.
8666
8667    %m
8668
8669            Total number of messages.
8670
8671    %M
8672
8673            Total number of messages shown, i.e. not hidden by a limit. 1)
8674
8675    %n
8676
8677            Number of new messages.
8678
8679    %t
8680
8681            Number of tagged messages. 1)
8682
8683    1) These expandos only have a non-zero value for the current mailbox and
8684    will always be zero otherwise.
8685
8686 270. sidebar_shorten_hierarchy
8687
8688    Type: boolean
8689
8690    Default: no
8691
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
8697    not get shortened.
8698
8699    At which characters this compression is done is controled via the
8700    $sidebar_boundary variable.
8701
8702 271. sidebar_visible
8703
8704    Type: boolean
8705
8706    Default: no
8707
8708    This specifies whether or not to show the sidebar (a list of folders
8709    specified with the ``mailboxes'' command).
8710
8711 272. sidebar_width
8712
8713    Type: number
8714
8715    Default: 0
8716
8717    The width of the sidebar.
8718
8719 273. sig_dashes
8720
8721    Type: boolean
8722
8723    Default: yes
8724
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
8729    your signature.
8730
8731    For example, Mutt-ng has the ability to highlight the signature in a
8732    different color in the builtin pager.
8733
8734 274. sig_on_top
8735
8736    Type: boolean
8737
8738    Default: no
8739
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.
8744
8745 275. signature
8746
8747    Type: path
8748
8749    Default: "˜/.signature"
8750
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.
8754
8755 276. signoff_string
8756
8757    Type: string
8758
8759    Default: ""
8760
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.
8763
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
8766    the signoff string.
8767
8768 277. simple_search
8769
8770    Type: string
8771
8772    Default: "˜f %s | ˜s %s"
8773
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.
8777
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:
8781
8782    ˜f joe | ˜s joe
8783
8784 278. sleep_time
8785
8786    Type: number
8787
8788    Default: 1
8789
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.
8794
8795 279. smart_wrap
8796
8797    Type: boolean
8798
8799    Default: yes
8800
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.
8804
8805 280. smileys
8806
8807    Type: regular expression
8808
8809    Default: "(>From )|(:[-^]?[][)(><}{|/DP])"
8810
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
8813
8814 281. smime_ask_cert_label
8815
8816    Type: boolean
8817
8818    Default: yes
8819
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)
8823
8824 282. smime_ca_location
8825
8826    Type: path
8827
8828    Default: ""
8829
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)
8832
8833 283. smime_certificates
8834
8835    Type: path
8836
8837    Default: ""
8838
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)
8845
8846 284. smime_decrypt_command
8847
8848    Type: string
8849
8850    Default: ""
8851
8852    This format string specifies a command which is used to decrypt
8853    application/x-pkcs7-mime attachments.
8854
8855    The OpenSSL command formats have their own set of printf(3)-like sequences
8856    similar to PGP's:
8857
8858    %f
8859
8860            Expands to the name of a file containing a message.
8861
8862    %s
8863
8864            Expands to the name of a file containing the signature part of a
8865            multipart/signed attachment when verifying it.
8866
8867    %k
8868
8869            The key-pair specified with $smime_default_key
8870
8871    %c
8872
8873            One or more certificate IDs.
8874
8875    %a
8876
8877            The algorithm used for encryption.
8878
8879    %C
8880
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".
8884
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)
8888
8889 285. smime_decrypt_use_default_key
8890
8891    Type: boolean
8892
8893    Default: yes
8894
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)
8899
8900 286. smime_default_key
8901
8902    Type: string
8903
8904    Default: ""
8905
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
8908    only)
8909
8910 287. smime_encrypt_command
8911
8912    Type: string
8913
8914    Default: ""
8915
8916    This command is used to create encrypted S/MIME messages. (S/MIME only)
8917
8918 288. smime_encrypt_with
8919
8920    Type: string
8921
8922    Default: ""
8923
8924    This sets the algorithm that should be used for encryption. Valid choices
8925    are ``des'', ``des3'', ``rc2-40'', ``rc2-64'', ``\frc2-128''.
8926
8927    If unset ``3des'' (TripleDES) is used. (S/MIME only)
8928
8929 289. smime_get_cert_command
8930
8931    Type: string
8932
8933    Default: ""
8934
8935    This command is used to extract X509 certificates from a PKCS7 structure.
8936    (S/MIME only)
8937
8938 290. smime_get_cert_email_command
8939
8940    Type: string
8941
8942    Default: ""
8943
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)
8947
8948 291. smime_get_signer_cert_command
8949
8950    Type: string
8951
8952    Default: ""
8953
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)
8957
8958 292. smime_import_cert_command
8959
8960    Type: string
8961
8962    Default: ""
8963
8964    This command is used to import a certificate via smime_keysng. (S/MIME
8965    only)
8966
8967 293. smime_is_default
8968
8969    Type: boolean
8970
8971    Default: no
8972
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.
8975
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.
8979
8980    (Note that this variable can be overridden by unsetting $crypt_autosmime.)
8981    (S/MIME only)
8982
8983 294. smime_keys
8984
8985    Type: path
8986
8987    Default: ""
8988
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)
8995
8996 295. smime_pk7out_command
8997
8998    Type: string
8999
9000    Default: ""
9001
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)
9004
9005 296. smime_sign_command
9006
9007    Type: string
9008
9009    Default: ""
9010
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)
9013
9014 297. smime_sign_opaque_command
9015
9016    Type: string
9017
9018    Default: ""
9019
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)
9023
9024 298. smime_timeout
9025
9026    Type: number
9027
9028    Default: 300
9029
9030    The number of seconds after which a cached passphrase will expire if not
9031    used. (S/MIME only)
9032
9033 299. smime_verify_command
9034
9035    Type: string
9036
9037    Default: ""
9038
9039    This command is used to verify S/MIME signatures of type multipart/signed.
9040    (S/MIME only)
9041
9042 300. smime_verify_opaque_command
9043
9044    Type: string
9045
9046    Default: ""
9047
9048    This command is used to verify S/MIME signatures of type
9049    application/x-pkcs7-mime. (S/MIME only)
9050
9051 301. smtp_envelope
9052
9053    Type: string
9054
9055    Default: ""
9056
9057    Availability: SMTP
9058
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
9061    used.
9062
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.
9066
9067 302. smtp_host
9068
9069    Type: string
9070
9071    Default: ""
9072
9073    Availability: SMTP
9074
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.
9078
9079 303. smtp_pass
9080
9081    Type: string
9082
9083    Default: ""
9084
9085    Availability: SMTP
9086
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.
9089
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
9092    permissions.
9093
9094 304. smtp_port
9095
9096    Type: number
9097
9098    Default: 25
9099
9100    Availability: SMTP
9101
9102    Defines the port that the SMTP host is listening on for mail delivery.
9103    Must be specified as a number.
9104
9105    Defaults to 25, the standard SMTP port, but RFC 2476-compliant SMTP
9106    servers will probably desire 587, the mail submission port.
9107
9108 305. smtp_use_tls
9109
9110    Type: string
9111
9112    Default: ""
9113
9114    Availability: SMTP (and SSL)
9115
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.
9121
9122 306. smtp_user
9123
9124    Type: string
9125
9126    Default: ""
9127
9128    Availability: SMTP
9129
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.
9132
9133 307. sort
9134
9135    Type: sort order
9136
9137    Default: date
9138
9139    Specifies how to sort messages in the index menu. Valid values are:
9140
9141     date or date-sent
9142     date-received
9143     from
9144     mailbox-order (unsorted)
9145     score
9146     size
9147     spam
9148     subject
9149     threads
9150     to
9151
9152
9153    You may optionally use the ``reverse-'' prefix to specify reverse sorting
9154    order (example: set sort=reverse-date-sent).
9155
9156 308. sort_alias
9157
9158    Type: sort order
9159
9160    Default: alias
9161
9162    Specifies how the entries in the ``alias'' menu are sorted. The following
9163    are legal values:
9164
9165     address (sort alphabetically by email address)
9166     alias (sort alphabetically by alias name)
9167     unsorted (leave in order specified in .muttrc)
9168
9169
9170 309. sort_aux
9171
9172    Type: sort order
9173
9174    Default: date
9175
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
9183    an ordering.
9184
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.)
9188
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).
9192
9193 310. sort_browser
9194
9195    Type: sort order
9196
9197    Default: alpha
9198
9199    Specifies how to sort entries in the file browser. By default, the entries
9200    are sorted alphabetically. Valid values:
9201
9202     alpha (alphabetically)
9203     date
9204     size
9205     unsorted
9206
9207
9208    You may optionally use the ``reverse-'' prefix to specify reverse sorting
9209    order (example: set sort_browser=reverse-date).
9210
9211 311. sort_re
9212
9213    Type: boolean
9214
9215    Default: yes
9216
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.
9225
9226 312. spam_separator
9227
9228    Type: string
9229
9230    Default: ","
9231
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.
9236
9237 313. spoolfile
9238
9239    Type: path
9240
9241    Default: ""
9242
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.
9247
9248 314. ssl_ca_certificates_file
9249
9250    Type: path
9251
9252    Default: ""
9253
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.
9257
9258    Example: set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crt
9259
9260 315. ssl_client_cert
9261
9262    Type: path
9263
9264    Default: ""
9265
9266    Availability: SSL
9267
9268    The file containing a client certificate and its associated private key.
9269
9270 316. ssl_force_tls
9271
9272    Type: boolean
9273
9274    Default: no
9275
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
9280    ``$ssl_starttls''.
9281
9282 317. ssl_min_dh_prime_bits
9283
9284    Type: number
9285
9286    Default: 0
9287
9288    Availability: GNUTLS
9289
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.
9293
9294 318. ssl_starttls
9295
9296    Type: quadoption
9297
9298    Default: yes
9299
9300    Availability: SSL or GNUTLS
9301
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.
9305
9306 319. ssl_use_sslv2
9307
9308    Type: boolean
9309
9310    Default: yes
9311
9312    Availability: SSL
9313
9314    This variables specifies whether to attempt to use SSLv2 in the SSL
9315    authentication process.
9316
9317 320. ssl_use_sslv3
9318
9319    Type: boolean
9320
9321    Default: yes
9322
9323    Availability: SSL or GNUTLS
9324
9325    This variables specifies whether to attempt to use SSLv3 in the SSL
9326    authentication process.
9327
9328 321. ssl_use_tlsv1
9329
9330    Type: boolean
9331
9332    Default: yes
9333
9334    Availability: SSL or GNUTLS
9335
9336    This variables specifies whether to attempt to use TLSv1 in the SSL
9337    authentication process.
9338
9339 322. ssl_usesystemcerts
9340
9341    Type: boolean
9342
9343    Default: yes
9344
9345    Availability: SSL
9346
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
9349    trusted CA.
9350
9351 323. status_chars
9352
9353    Type: string
9354
9355    Default: "-*%A"
9356
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).
9367
9368 324. status_format
9369
9370    Type: string
9371
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)---"
9375
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:
9379
9380    %b
9381
9382            number of mailboxes with new mail *
9383
9384    %B
9385
9386            the short pathname of the current mailbox
9387
9388    %d
9389
9390            number of deleted messages *
9391
9392    %f
9393
9394            the full pathname of the current mailbox
9395
9396    %F
9397
9398            number of flagged messages *
9399
9400    %h
9401
9402            local hostname
9403
9404    %l
9405
9406            size (in bytes) of the current mailbox *
9407
9408    %L
9409
9410            size (in bytes) of the messages shown (i.e., which match the
9411            current limit) *
9412
9413    %m
9414
9415            the number of messages in the mailbox *
9416
9417    %M
9418
9419            the number of messages shown (i.e., which match the current limit)
9420            *
9421
9422    %n
9423
9424            number of new messages in the mailbox *
9425
9426    %o
9427
9428            number of old unread messages *
9429
9430    %p
9431
9432            number of postponed messages *
9433
9434    %P
9435
9436            percentage of the way through the index
9437
9438    %r
9439
9440            modified/read-only/won't-write/attach-message indicator, according
9441            to $status_chars
9442
9443    %s
9444
9445            current sorting mode ($sort)
9446
9447    %S
9448
9449            current aux sorting method ($sort_aux)
9450
9451    %t
9452
9453            number of tagged messages *
9454
9455    %u
9456
9457            number of unread messages *
9458
9459    %v
9460
9461            Mutt-ng version string
9462
9463    %V
9464
9465            currently active limit pattern, if any *
9466
9467    %>X
9468
9469            right justify the rest of the string and pad with "X"
9470
9471    %|X
9472
9473            pad to the end of the line with "X"
9474
9475    * = can be optionally printed if nonzero
9476
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
9482
9483    %?<sequence_char>?<optional_string>?
9484
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.
9489
9490    Here is an example illustrating how to optionally print the number of new
9491    messages in a mailbox:
9492
9493    %?n?%n new messages.?
9494
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
9497    construct:
9498
9499    %?<sequence_char>?<if_string>&<else_string>?
9500
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
9504    would use:
9505
9506    %_h
9507
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.
9511
9512 325. status_on_top
9513
9514    Type: boolean
9515
9516    Default: no
9517
9518    Setting this variable causes the ``status bar'' to be displayed on the
9519    first line of the screen rather than near the bottom.
9520
9521 326. strict_mailto
9522
9523    Type: boolean
9524
9525    Default: yes
9526
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.
9530
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.
9535
9536 327. strict_mime
9537
9538    Type: boolean
9539
9540    Default: yes
9541
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.
9546
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.
9550
9551 328. strict_threads
9552
9553    Type: boolean
9554
9555    Default: no
9556
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.
9563
9564 329. strip_was
9565
9566    Type: boolean
9567
9568    Default: no
9569
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)
9573
9574 330. strip_was_regex
9575
9576    Type: regular expression
9577
9578    Default: "\([Ww][Aa][RrSs]: .*\)[ ]*$"
9579
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
9582    afterwards.
9583
9584 331. stuff_quoted
9585
9586    Type: boolean
9587
9588    Default: no
9589
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.
9593
9594 332. suspend
9595
9596    Type: boolean
9597
9598    Default: yes
9599
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.''
9603
9604 333. text_flowed
9605
9606    Type: boolean
9607
9608    Default: no
9609
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.
9614
9615    Note that $indent_string is ignored when this option is set.
9616
9617 334. thorough_search
9618
9619    Type: boolean
9620
9621    Default: no
9622
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.
9627
9628 335. thread_received
9629
9630    Type: boolean
9631
9632    Default: no
9633
9634    When set, Mutt-ng uses the date received rather than the date sent to
9635    thread messages by subject.
9636
9637 336. tilde
9638
9639    Type: boolean
9640
9641    Default: no
9642
9643    When set, the internal-pager will pad blank lines to the bottom of the
9644    screen with a tilde (˜).
9645
9646 337. timeout
9647
9648    Type: number
9649
9650    Default: 600
9651
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.
9655
9656 338. tmpdir
9657
9658    Type: path
9659
9660    Default: ""
9661
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.
9666
9667 339. to_chars
9668
9669    Type: string
9670
9671    Default: " +TCFL"
9672
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).
9683
9684 340. trash
9685
9686    Type: path
9687
9688    Default: ""
9689
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
9692    purged.
9693
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.
9696
9697 341. tunnel
9698
9699    Type: string
9700
9701    Default: ""
9702
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:
9706
9707    tunnel="ssh -q mailhost.net /usr/local/libexec/imapd"
9708
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.
9711
9712 342. umask
9713
9714    Type: number
9715
9716    Default: 0077
9717
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.
9720
9721 343. uncollapse_jump
9722
9723    Type: boolean
9724
9725    Default: no
9726
9727    When set, Mutt-ng will jump to the next unread message, if any, when the
9728    current thread is uncollapsed.
9729
9730 344. use_8bitmime
9731
9732    Type: boolean
9733
9734    Default: no
9735
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
9739    able to send mail.
9740
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
9743    libESMTP to do so.
9744
9745 345. use_domain
9746
9747    Type: boolean
9748
9749    Default: yes
9750
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
9753    qualified.
9754
9755 346. use_from
9756
9757    Type: boolean
9758
9759    Default: yes
9760
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.
9764
9765 347. use_idn
9766
9767    Type: boolean
9768
9769    Default: yes
9770
9771    Availability: IDN
9772
9773    When set, Mutt-ng will show you international domain names decoded.
9774
9775    Note: You can use IDNs for addresses even if this is unset. This variable
9776    only affects decoding.
9777
9778 348. use_ipv6
9779
9780    Type: boolean
9781
9782    Default: yes
9783
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.
9787
9788 349. visual
9789
9790    Type: path
9791
9792    Default: ""
9793
9794    Specifies the visual editor to invoke when the ˜v command is given in the
9795    builtin editor.
9796
9797 350. wait_key
9798
9799    Type: boolean
9800
9801    Default: yes
9802
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.
9805
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.
9809
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.
9812
9813 351. weed
9814
9815    Type: boolean
9816
9817    Default: yes
9818
9819    When set, Mutt-ng will weed headers when displaying, forwarding, printing,
9820    or replying to messages.
9821
9822 352. wrap_search
9823
9824    Type: boolean
9825
9826    Default: yes
9827
9828    Controls whether searches wrap around the end of the mailbox.
9829
9830    When set, searches will wrap around the first (or last) message. When
9831    unset, searches will not wrap.
9832
9833 353. wrapmargin
9834
9835    Type: number
9836
9837    Default: 0
9838
9839    Controls the size of the margin remaining at the right side of the
9840    terminal when Mutt-ng's pager does smart wrapping.
9841
9842 354. write_bcc
9843
9844    Type: boolean
9845
9846    Default: yes
9847
9848    Controls whether Mutt-ng writes out the Bcc header when preparing messages
9849    to be sent. Exim users may wish to unset this.
9850
9851 355. write_inc
9852
9853    Type: number
9854
9855    Default: 10
9856
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.
9860
9861    Also see the ``$read_inc'' variable.
9862
9863 356. xterm_icon
9864
9865    Type: string
9866
9867    Default: "M%?n?AIL&ail?"
9868
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
9871    ``$status_format''.
9872
9873 357. xterm_leave
9874
9875    Type: string
9876
9877    Default: ""
9878
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.
9883
9884    Based on the xterm FAQ, the following might work:
9885
9886    set xterm_leave = "`test x$DISPLAY != x && xprop -id $WINDOWID | grep
9887    WM_NAME | cut -d '"' -f 2`"
9888
9889 358. xterm_set_titles
9890
9891    Type: boolean
9892
9893    Default: no
9894
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.
9898
9899 359. xterm_title
9900
9901    Type: string
9902
9903    Default: "Mutt-ng with %?m?%m messages&no messages?%?n? [%n New]?"
9904
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''.
9908
9909 5. Functions
9910
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.
9915
9916   5.1. generic
9917
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
9921    (except as noted).
9922
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
9932  help                       ?   this screen
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
9954
9955   5.2. index
9956
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
10024
10025   5.3. pager
10026
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
10052  help                       ?   this screen
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
10099
10100   5.4. alias
10101
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
10105
10106   5.5. query
10107
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
10116
10117   5.6. attach
10118
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
10137
10138   5.7. compose
10139
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
10173
10174   5.8. postpone
10175
10176  delete-entry               d   delete the current entry
10177  undelete-entry             u   undelete the current entry
10178
10179   5.9. browser
10180
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)
10195
10196   5.10. pgp
10197
10198  view-name                  %   view the key's user id
10199  verify-key                 c   verify a PGP public key
10200
10201   5.11. editor
10202
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
10225
10226 Chapter 8. Miscellany
10227
10228    Table of Contents
10229
10230    1. Acknowledgments
10231
10232 1. Acknowledgments
10233
10234    Kari Hurtta <kari.hurtta@fmi.fi> co-developed the original MIME >parsing
10235    code back in the ELM-ME days.
10236
10237    The following people have been very helpful to the development of Mutt:
10238
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>
10264
10265    Mutt-ng is developed by the following people:
10266
10267    Andreas Krennmair <ak@synflood.at>, Nico Golde <nico@ngolde.de>, Rocco
10268    Rutte <pdmef@cs.tu-berlin.de>
10269
10270    The following people have been very helpful to the development of Mutt-ng:
10271
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>