Bump v13
[s-mailx.git] / nail.1
blobc9b7ea81da52fe793b67b7425cbd80b5ca8bf035
1 .\" Copyright (c) 1980, 1990, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\" Copyright (c) 2000
4 .\"     Gunnar Ritter.  All rights reserved.
5 .\" Copyright (c) 2012 Steffen "Daode" Nurpmeso.
6 .\" All rights reserved.
7 .\"
8 .\" Redistribution and use in source and binary forms, with or without
9 .\" modification, are permitted provided that the following conditions
10 .\" are met:
11 .\" 1. Redistributions of source code must retain the above copyright
12 .\"    notice, this list of conditions and the following disclaimer.
13 .\" 2. Redistributions in binary form must reproduce the above copyright
14 .\"    notice, this list of conditions and the following disclaimer in the
15 .\"    documentation and/or other materials provided with the distribution.
16 .\" 3. All advertising materials mentioning features or use of this software
17 .\"    must display the following acknowledgement:
18 .\"     This product includes software developed by the University of
19 .\"     California, Berkeley and its contributors.
20 .\"     This product includes software developed by Gunnar Ritter
21 .\"     and his contributors.
22 .\" 4. Neither the name of the University nor the names of its contributors
23 .\"    may be used to endorse or promote products derived from this software
24 .\"    without specific prior written permission.
25 .\"
26 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS '\fIAS IS\fR' AND
27 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
30 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 .\" SUCH DAMAGE.
37 .\"
38 .\"--MKMAN-START--
39 .ds UU S-NAIL
40 .ds uu S-nail
41 .ds UA \\fIS-nail\\fR
42 .ds ua \\fIs-nail\\fR
43 .ds ba \\fBs-nail\\fR
44 .ds UR s-nail.rc
45 .\"--MKMAN-END--
46 .\" If not ~/.mailrc, it breaks POSIX compatibility.  And adjust main.c.
47 .ds ur ~/.mailrc
48 .\"
49 .\" ##  --  >8  --  8<  --  ##
50 .\"
51 .TH "\*(UU" 1 "2012-10-25" "\*(uu" "User Commands"
52 .SH NAME
53 \*(UA \- send and receive Internet mail
54 .SH SYNOPSIS
55 .PD 0
56 .HP
57 .ad l
58 \*(ba [\fB\-BDdEFintv~\fR]
59 [\fB\-A\fI\ account\fR]
60 [\fB\-a\fI\ attachment\fR]
61 [\fB\-b\fI\ bcc-addr\fR] [\fB\-c\fI\ cc-addr\fR]
62 [\fB\-O\fI\ mta-option [\fB\-O\fI mta-option-argument]\fR]
63 [\fB\-q\fI\ quote-file\fR]
64 [\fB\-r\fI\ from-addr\fR]
65 [\fB\-S\fI\ variable\fR[\fB=\fIvalue\fR]]
66 [\fB\-s\fI\ subject\fR]
67 \fIto-addr\fR .\ .\ .
68 .HP
69 .ad l
70 \*(ba [\fB\-BDdEeHIiNnRv~\fR]
71 [\fB\-A\fI\ account\fR]
72 [\fB\-S\fI\ variable\fR[\fB=\fIvalue\fR]]
73 [\fB\-T\fI\ name\fR]
74 \fB\-f\fR [\fIfile\fR]
75 .HP
76 .ad l
77 \*(ba [\fB\-BDdEeiNnRv~\fR]
78 [\fB\-A\fI\ account\fR]
79 [\fB\-S\fI\ variable\fR[\fB=\fIvalue\fR]]
80 [\fB\-u\fI\ user\fR]
81 .br
82 .PD
83 .ad b
84 .SH DESCRIPTION
85 \*(UA is an intelligent mail processing system, which has a command syntax
86 reminiscent of
87 .IR ed (1)
88 with lines replaced by messages.
89 It is based on Heirloom mailx, that is based on Berkeley Mail 8.1,
90 is intended to provide the functionality of the POSIX
91 .B mailx
92 command,
93 and offers extensions for IDNA, MIME, IMAP, POP3, SMTP, and S/MIME.
94 \*(UA provides enhanced features for interactive use, such as caching
95 and disconnected operation for IMAP, message threading, scoring, and
96 filtering.
97 It is also usable as a mail batch language, both for sending and
98 receiving mail.
99 .PP
100 The following options are accepted:
103 .BI \-A \ name
104 Executes an 
105 .I account
106 command (see below) for \fIname\fR after the startup files have been
107 read.
109 .BI \-a \ file
110 Attach the given file to the message.
112 .B \-B
113 Make standard input and standard output line-buffered.
115 .BI \-b \ address
116 Send blind carbon copies to the given list of addresses.
117 \fISending mail\fR below goes into more detail on that.
119 .BI \-c \ address
120 Send carbon copies to the given list of addresses.
122 .B \-D
123 Start in
124 .I disconnected
125 mode; see the description for the
126 .I disconnected
127 variable option.
129 .B \-d
130 Enables debugging messages and disables the actual delivery of messages.
131 Unlike
132 .IR \-v ,
133 this option is intended for \*(UA development only.
135 .B \-E
136 If an outgoing message does not contain any text in its first or only
137 message part, do not send but discard it silently,
138 effectively setting the
139 .I skipemptybody
140 variable at program startup.
141 This is useful for sending messages from scripts started by
142 .IR cron (8).
144 .B \-e
145 Just check if mail is present in the system mailbox.
146 If yes, return an exit status of zero, a non-zero value otherwise.
148 .B \-F
149 Save the message to send in a file named after the local part of the
150 first recipient's address.
152 \fB\-f\fR [\fIfile\fR]
153 Read in the contents of the user's mbox (or the specified file)
154 for processing;
155 when \*(UA is quit, it writes undeleted messages back to this file.
156 The string \fIfile\fR is handled as described for the
157 .I folder
158 command below.
159 Note that \fIfile\fR is not a direct argument to the \fB-f\fR option,
160 but instead taken from the command line after option processing has been
161 completed.
163 .B \-H
164 Print header summaries for all messages and exit.
166 .B \-I
167 Shows the `Newsgroup:' or `Article-Id:' fields in the header summary.
168 Only applicable in combination with
169 .IR \-f .
171 .B \-i
172 Ignore tty interrupt signals.
173 This is particularly useful when using \*(UA on noisy phone lines.
175 .B \-N
176 Inhibits the initial display of message headers when reading mail
177 or editing a mail folder.
179 .B \-n
180 Inhibits reading \*(UR upon startup.
181 This option should be activated for \*(UA scripts that are invoked on
182 more than one machine, because the contents of that file may differ
183 between them.
185 .BI \-O \ option
186 Pass the given option through to the mail-transfer-agent (MTA).
187 This option has no effect when SMTP is used for sending mail.
188 E.g., to specify the hop count to an old \fIsendmail(1)\fR, use
189 `\fI-O-h -Onumber\fR', which will be passed as `\fI-h number\fR'.
190 Options set like that persist for a complete (interactive) session,
191 i.e., will be used for all interactions with the MTA.
193 .BI \-q \ file
194 Start the message with the contents of the specified file.
195 May be given in send mode only.
197 .B \-R
198 Opens any folders read-only.
200 .BI \-r \ address
201 Sets the \fIFrom\fR address.
202 Overrides any \fIfrom\fR variable specified in environment, in startup
203 files or via \fI\-S\fR option processing.
204 Tilde escapes are disabled.
205 The \fI\-r\fI address\fR option is passed through to the MTA
206 (mail-transfer-agent) unless SMTP is used,
207 and persists for a complete (interactive) session,
208 i.e., will be used for all interactions with the MTA.
210 \fB\-S\fI\ variable\fR[\fB=\fIvalue\fR]
211 Sets the internal option
212 .I variable
213 and, in case of a string option, assigns \fIvalue\fR to it.
214 These assignments become active immediately,
215 but also cannot be overwritten by resource file content.
217 .BI \-s \ subject
218 Specify subject on command line (only the first argument after the
219 .I \-s
220 flag is used as a subject; be careful to quote subjects containing spaces).
222 .BI \-T \ name
223 Writes the `Message-Id:' and `Article-Id:' header fields of each message
224 read in the file
225 .IR name .
226 Implies
227 .IR \-I .
228 Compressed files are handled as described for the \fIfolder\fR command
229 below.
231 .B \-t
232 The message to be sent is expected to contain a message header with
233 `To:', `Cc:', or `Bcc:' fields giving its recipients and `Subject:'
234 giving the subject of the message.
235 Recipients and subject specified on the command line are ignored.
237 .BI \-u \ user
238 Reads the mailbox of the given user name.
240 .B \-V
241 Print \*(UA's version and exit.
243 .B \-v
244 Verbose mode.
245 The details of delivery are displayed on the user's terminal.
247 .B \-~
248 Enable tilde escapes even if not in interactive mode.
250 .SS "Sending mail"
251 To send a message to one or more people, \*(UA can be invoked with
252 arguments which are the names of people to whom the mail will be sent.
253 These names may be \fIalias\fRes, plain addresses or full address
254 specifications including user names and comments, in which case care
255 for proper quoting may be necessary.
256 If this manual refers to a \fIlist of addresses\fR,
257 then \*(UA expects a comma-separated list of such names.
258 The section \fIRecipient address specifications\fR below explains the
259 interpretation of names in more detail.
260 The user is then expected to type in his message, followed by an
261 `control-D' at the beginning of a line.
262 The section \fIReplying to or originating mail\fI, describes some
263 features of \*(UA available to help when composing letters.
264 .SS "Reading mail"
265 In normal usage \*(UA is given no arguments and checks the user's mail
266 out of the post office, then prints out a one line header of each
267 message found.
268 The current message is initially the first message (numbered 1) and can
269 be printed using the print command which can be abbreviated `p').
270 The user can move among the messages much as he moves between lines in
271 .IR ed (1),
272 with the commands `+' and `\-' moving backwards and forwards,
273 and simple numbers.
274 .SS "Disposing of mail"
275 After examining a message the user can delete `d') the message or reply
276 `r') to it.
277 Deletion causes the \*(UA program to forget about the message.
278 This is not irreversible;
279 the message can be undeleted `u') by giving its number,
280 or the \*(UA session can be aborted by giving the exit `x') command.
281 Deleted messages will, however, usually disappear never to be seen
282 again.
283 .SS "Specifying messages"
284 Commands such as print and delete can be given a list of message numbers
285 as arguments to apply to a number of messages at once.
286 Thus `\fIdelete 1 2\fR' deletes messages 1 and 2, while
287 `\fIdelete 1-5\fR' deletes messages 1 through 5.
288 In sorted or threaded mode (see the
289 .I sort
291 .I thread
292 commands),
293 `\fIdelete 1-5\fR' deletes the messages that are located between (and
294 including) messages 1 through 5 in the sorted/threaded order, as shown
295 in the header summary.
296 The following special message names exist:
298 .B :n
299 All new messages.
301 .B :o
302 All old messages (any not in state read or new).
304 .B :u
305 All unread messages.
307 .B :d
308 All deleted messages (for the
309 .I undelete
310 command).
312 .B :r
313 All read messages.
315 .B :f
316 All `flagged' messages.
318 .B :a
319 All answered messages
320 (cf. the
321 .I markanswered
322 variable).
324 .B :t
325 All messages marked as draft.
327 .B :k
328 All `killed' messages.
330 .B :j
331 All messages classified as junk.
333 .B .
334 The current message.
336 .B ;
337 The message that was previously the current message.
339 .B ,
340 The parent message of the current message,
341 that is the message with the Message-ID
342 given in the `In-Reply-To:' field
343 or the last entry of the `References:' field
344 of the current message.
346 .B \-
347 The next previous undeleted message,
348 or the next previous deleted message for the
349 .I undelete
350 command.
351 In sorted/threaded mode,
352 the next previous such message in the sorted/threaded order.
354 .B +
355 The next undeleted message,
356 or the next deleted message for the
357 .I undelete
358 command.
359 In sorted/threaded mode,
360 the next such message in the sorted/threaded order.
362 .B ^
363 The first undeleted message,
364 or the first deleted message
365 for the
366 .I undelete
367 command.
368 In sorted/threaded mode,
369 the first such message in the sorted/threaded order.
371 .B $
372 The last message.
373 In sorted/threaded mode,
374 the last message in the sorted/threaded order.
376 .BI & x
377 In threaded mode,
378 selects the message addressed with
379 .IR x ,
380 where
381 .I x
382 is any other message specification,
383 and all messages from the thread that begins at it.
384 Otherwise, it is identical to
385 .IR x .
387 .I x
388 is omitted,
389 the thread beginning with the current message is selected.
391 .B *
392 All messages.
394 .B `
395 All messages that were included in the message list
396 for the previous command.
398 .BI / string
399 All messages that contain
400 .I string
401 in the subject field (case ignored).
402 See also the
403 .I searchheaders
404 variable.
406 .I string
407 is empty,
408 the string from the previous specification of that type is used again.
410 .I address
411 All messages from
412 .IR address .
413 By default, this is a case-sensitive search
414 for the complete email address.
415 If the
416 .I allnet
417 variable is set,
418 only the local part of the addresses is evaluated for the comparison.
419 Otherwise if the
420 .I showname
421 variable is set,
422 a case-sensitive search for the complete real name
423 of a sender is performed.
424 The IMAP-style
425 .BI (from\  address)
426 expression can be used instead
427 if substring matches are desired.
429 .BI ( criterion )
430 All messages that satisfy the given IMAP-style SEARCH
431 .IR criterion .
432 This addressing mode is available with all types of folders;
433 for folders not located on IMAP servers,
434 or for servers unable to execute the SEARCH command,
435 \*(UA will perform the search locally.
436 Strings must be enclosed by double quotes `"' in their entirety
437 if they contain white space or parentheses;
438 within the quotes,
439 only backslash `\e' is recognized as an escape character.
440 All string searches are case-insensitive.
441 When the description indicates
442 that the `envelope' representation of an address field is used,
443 this means that the search string is checked against
444 both a list constructed as
447 \fB("\fIreal name\fB" "\fIsource-route\fB" "\fIlocal-part\fB" "\fIdomain-part\fB")\fR
450 for each address,
451 and the addresses without real names
452 from the respective header field.
453 Criteria can be nested using parentheses.
455 \fB(\fIcriterion1 criterion2\fR .\|.\|. \fIcriterionN\fB)\fR
456 All messages that satisfy all of the given criteria.
458 .BI (or " criterion1 criterion2" )
459 All messages that satisfy either
460 .I criterion1
462 .IR criterion2 ,
463 or both.
464 To connect more than two criteria using `or',
465 (or) specifications have to be nested using additional parentheses,
466 as with `(or\ a\ (or\ b\ c))';
467 `(or\ a\ b\ c)' means ((a or b) and c).
468 For a simple `or' operation of independent criteria
469 on the lowest nesting level,
470 it is possible to achieve similar effects by using
471 three separate criteria, as with
472 `(a)\ (b)\ (c)'.
474 .BI (not " criterion" )
475 All messages that do not satisfy
476 .IR criterion .
478 .BI (bcc " string" )
479 All messages that contain
480 .I string
481 in the `envelope' representation of the
482 .I Bcc:
483 field.
485 .BI (cc " string" )
486 All messages that contain
487 .I string
488 in the `envelope' representation of the
489 .I Cc:
490 field.
492 .BI (from " string" )
493 All messages that contain
494 .I string
495 in the `envelope' representation of the
496 .I From:
497 field.
499 .BI (subject " string" )
500 All messages that contain
501 .I string
502 in the
503 .I Subject:
504 field.
506 .BI (to " string" )
507 All messages that contain
508 .I string
509 in the `envelope' representation of the
510 .I To:
511 field.
513 .BI (header " name string" )
514 All messages that contain
515 .I string
516 in the specified
517 .I Name:
518 field.
520 .BI (body " string" )
521 All messages that contain
522 .I string
523 in their body.
525 .BI (text " string" )
526 All messages that contain
527 .I string
528 in their header or body.
530 .BI (larger " size" )
531 All messages that are larger than
532 .I size
533 (in bytes).
535 .BI (smaller " size" )
536 All messages that are smaller than
537 .I size
538 (in bytes).
540 .BI (before " date" )
541 All messages that were received before
542 .IR date ;
543 .I date
544 must be in the form
545 \fId\fR[\fId\fR]\fB-\fImon\fB-\fIyyyy\fR,
546 where \fId\fR[\fId\fR] is the day of the month
547 as one or two digits,
548 .I mon
549 is the name of the month\(emone of
550 `Jan', `Feb', `Mar',
551 `Apr', `May', `Jun',
552 `Jul', `Aug', `Sep',
553 `Oct', `Nov', or `Dec',
555 .I yyyy
556 is the year as four digits;
557 e.\|g. "30-Aug-2004".
559 .BI (on " date" )
560 All messages that were received on the specified date.
562 .BI (since " date" )
563 All messages that were received since the specified date.
565 .BI (sentbefore " date" )
566 All messages that were sent on the specified date.
568 .BI (senton " date" )
569 All messages that were sent on the specified date.
571 .BI (sentsince " date" )
572 All messages that were sent since the specified date.
574 .B ()
575 The same criterion as for the previous search.
576 This specification cannot be used as part of another criterion.
577 If the previous command line contained more than one independent criterion,
578 the last of those criteria is used.
580 A practical method to read a set of messages
581 is to issue a
582 .I from
583 command with the search criteria first
584 to check for appropriate messages,
585 and to read each single message then by typing `\fB`\fR' repeatedly.
586 .SS "Replying to or originating mail"
588 .I reply
589 command can be used
590 to set up a response to a message,
591 sending it back to the person who it was from.
592 Text the user types in then,
593 up to an end-of-file,
594 defines the contents of the message.
595 While the user is composing a message,
596 \*(UA treats lines beginning with the character `~' specially.
597 For instance, typing `~m' (alone on a line)
598 will place a copy of the current message into the response
599 right shifting it by a tabstop
600 (see
601 .I indentprefix
602 variable, below).
603 Other escapes will set up subject fields,
604 add and delete recipients to the message,
605 attach files to it
606 and allow the user to escape to an editor
607 to revise the message
608 or to a shell to run some commands.
609 (These options are given in the summary below.)
610 .SS "Ending a mail processing session"
611 The user can end a \*(UA session
612 with the quit (`q') command.
613 Messages which have been examined
614 go to the user's mbox file
615 unless they have been deleted
616 in which case they are discarded.
617 Unexamined messages go back
618 to the post office.
619 (See the \-f option above).
620 .SS "Personal and systemwide distribution lists"
621 It is also possible to create
622 a personal distribution lists so that,
623 for instance, the user can send mail
624 to `\fIcohorts\fR' and have it go
625 to a group of people.
626 Such lists can be defined by placing a line like
629         \fBalias\fI cohorts bill ozalp jkf mark kridle@ucbcory\fR
632 in the file \*(ur in the user's home directory.
633 The currently defined list of such aliases can be displayed with the alias
634 command in \*(UA.
635 System wide distribution lists can be created by editing /etc/aliases, see
636 \fIaliases(5)\fR and \fIsendmail(1)\fR;
637 these are kept in a different syntax and are used by the MTA, not \*(UA.
638 In mail the user sends, personal aliases will be expanded in mail sent to
639 others so that they will be able to reply to the recipients.
640 System wide aliases are not expanded when the mail is sent,
641 but any reply returned to the machine will have the system wide alias
642 expanded as all mail goes through \fIsendmail(1)\fR.
643 .SS "Recipient address specifications"
644 When an address is used to name a recipient
645 (in any of To, Cc, or Bcc),
646 names of local mail folders
647 and pipes to external commands
648 can also be specified;
649 the message text is then written to them.
650 The rules are: Any name which starts with a
651 .RB ` | '
652 character specifies a pipe,
653 the command string following the `|' is executed
654 and the message is sent to its standard input;
655 any other name which contains a
656 .RB ` @ '
657 character is treated as a mail address;
658 any other name which starts with a
659 .RB ` + '
660 character specifies a folder name;
661 any other name which contains a
662 .RB ` / '
663 character
664 but no
665 .RB ` ! '
667 .RB ` % '
668 character before also specifies a folder name;
669 what remains is treated as a mail address.
670 Compressed folders are handled as described for the
671 .I folder
672 command below.
673 .SS "Network mail (Internet / ARPA, UUCP, Berknet)"
675 .IR mailaddr (7)
676 for a description of network addresses.
677 \*(UA has a number of options which can be set in the \*(ur file
678 to alter its behavior;
679 thus `\fIset askcc\fR' enables the askcc feature.
680 (These options are summarized below).
681 .SS "MIME types"
682 For any outgoing attachment,
683 \*(UA tries to determine the content type.
684 It does this by reading MIME type files
685 whose lines have the following syntax:
688         \fItype\fB/\fIsubtype      extension \fR[\fIextension \fR.\ .\ .]\fR
691 where type/subtype are strings describing the file contents,
692 and extension is the part of a filename starting after the last dot.
693 Any line not immediately beginning with an ASCII alphabetical character is
694 ignored by \*(UA.
695 If there is a match with the extension of the file to attach,
696 the given type/subtype pair is used.
697 Otherwise, or if the filename has no extension,
698 the content types text/plain or application/octet-stream are used,
699 the first for text or international text files,
700 the second for any file that contains formatting characters
701 other than newlines and horizontal tabulators.
702 .SS "Character sets"
703 \*(UA normally detects the character set of the terminal
704 using the LC_CTYPE locale setting.
705 If the locale cannot be used appropriately,
706 the \fIttycharset\fR variable should be set
707 to provide an explicit value.
708 When reading messages,
709 their text is converted to the terminal character set if possible.
710 Unprintable characters and illegal byte sequences are detected
711 and replaced by Unicode substitute characters or question marks
712 unless the
713 .I print-all-chars
714 is set at initialization time.
716 The character set for outgoing messages
717 is not necessarily the same
718 as the one used on the terminal.
719 If an outgoing text message
720 contains characters not representable in US-ASCII,
721 the character set being used
722 must be declared within its header.
723 Permissible values can be declared
724 using the \fIsendcharsets\fR variable,
725 separated by commas;
726 \*(UA tries each of the values in order
727 and uses the first appropriate one.
728 If the message contains characters that cannot be represented
729 in any of the given character sets,
730 the message will not be sent,
731 and its text will be saved to the `dead.letter' file.
732 Messages that contain NUL bytes are not converted.
734 Outgoing attachments are converted if they are plain text.
735 If the
736 .I sendcharsets
737 variable contains more than one character set name,
739 .I ~@
740 tilde escape will ask for the character sets for individual attachments
741 if it is invoked without arguments.
743 Best results are usually achieved
744 when \*(UA is run in a UTF-8 locale
745 on a UTF-8 capable terminal.
746 In this setup,
747 characters from various countries can be displayed,
748 while it is still possible to use more simple
749 character sets for sending
750 to retain maximum compatibility with older mail clients.
751 .SS "Commands"
752 Each command is typed on a line by itself,
753 and may take arguments following the command word.
754 The command need not be typed in its entirety \(en
755 the first command which matches the typed prefix is used.
756 For commands which take message lists as arguments,
757 if no message list is given,
758 then the next message forward which satisfies
759 the command's requirements is used.
760 If there are no messages forward of the current message,
761 the search proceeds backwards,
762 and if there are no good messages at all,
763 \*(UA types `\fIapplicable messages\fR' and aborts the command.
764 If the command begins with a \fI#\fR sign,
765 the line is ignored.
767 The arguments to commands can be quoted, using the following methods:
768 .IP \(bu
769 An argument can be enclosed between paired double-quotes
770 "\|" or single-quotes '\|'; any white space, shell
771 word expansion, or backslash characters within the quotes
772 are treated literally as part of the argument.
773 A double-quote will be treated literally within
774 single-quotes and vice versa. These special properties of
775 the quote marks occur only when they are paired at the
776 beginning and end of the argument.
777 .IP \(bu
778 A backslash outside of the enclosing quotes is discarded
779 and the following character is treated literally as part of
780 the argument.
781 .IP \(bu
782 An unquoted backslash at the end of a command line is
783 discarded and the next line continues the command.
785 Filenames, where expected, are subjected to the following
786 transformations, in sequence:
787 .IP \(bu
788 If the filename begins with an unquoted plus sign, and
790 .I folder
791 variable is defined,
792 the plus sign will be replaced by the value of the
793 .I folder
794 variable followed by a slash. If the
795 .I folder
796 variable is
797 unset or is set to null, the filename will be unchanged.
798 .IP \(bu
799 Shell word expansions are applied to the filename.
800 If more than a single pathname results
801 from this expansion and the command is expecting one
802 file, an error results.
804 The following commands are provided:
806 .B \-
807 Print out the preceding message.
808 If given a numeric argument n,
809 goes to the n'th previous message and prints it.
811 .B ?
812 Prints a brief summary of commands.
814 .B !
815 Executes the shell (see
816 .IR sh (1)
818 .IR csh (1))
819 command which follows.
821 .B |
822 A synonym for the \fIpipe\fR command.
824 .B account
825 (ac) Creates, selects or lists
826 an email account.
827 An account is formed by a group of commands,
828 primarily of those to set variables.
829 With two arguments,
830 of which the second is a `{',
831 the first argument gives an account name,
832 and the following lines create a group of commands for that account
833 until a line containing a single `}' appears.
834 With one argument,
835 the previously created group of commands
836 for the account name is executed,
837 and a
838 .I folder
839 command is executed for the system mailbox or inbox
840 of that account.
841 Without arguments,
842 the list of accounts and their contents are printed.
843 As an example,
846     \fBaccount\fI myisp\fR \fB{\fR
847         set folder=imaps://mylogin@imap.myisp.example
848         set record=+Sent
849         set from="myname@myisp.example (My Name)"
850         set smtp=smtp.myisp.example
851     \fB}\fR
854 creates an account named `myisp'
855 which can later be selected by specifying `account myisp'.
857 .B alias
858 (a) With no arguments,
859 prints out all currently-defined aliases.
860 With one argument, prints out that alias.
861 With more than one argument,
862 creates a new alias or changes an old one.
864 .B alternates
865 (alt) The alternates command is useful
866 if the user has accounts on several machines.
867 It can be used to inform \*(UA
868 that the listed addresses all belong to the invoking user.
869 When he replies to messages,
870 \*(UA will not send a copy of the message
871 to any of the addresses
872 listed on the alternates list.
873 If the alternates command is given
874 with no argument,
875 the current set of alternate names is displayed.
877 .B answered
878 (ans) Takes a message list and marks each message
879 as a having been answered.
880 This mark has no technical meaning in the mail system;
881 it just causes messages to be marked in the header summary,
882 and makes them specially addressable.
884 .B cache
885 Only applicable to cached IMAP mailboxes;
886 takes a message list and reads the specified messages
887 into the IMAP cache.
889 .B call
890 Calls a macro (see the
891 .I define
892 command).
894 .B cd
895 Same as chdir.
897 .B certsave
898 Only applicable to S/MIME signed messages.
899 Takes a message list and a file name
900 and saves the certificates contained within the message signatures
901 to the named file in both human-readable and PEM format.
902 The certificates can later be used to send encrypted messages
903 to the messages' originators by setting the
904 .I smime-encrypt-user@host
905 variable.
907 .B chdir
908 (ch) Changes the user's working directory to that specified,
909 if given.
910 If no directory is given,
911 then changes to the user's login directory.
913 .B classify
914 (cl) Takes a list of messages and
915 examines their contents for characteristics of junk mail
916 using Bayesian filtering.
917 Messages considered to be junk are then marked as such.
918 The junk mail database is not changed.
920 .B collapse
921 (coll)
922 Only applicable to threaded mode.
923 Takes a message list
924 and makes all replies to these messages invisible
925 in header summaries,
926 unless they are in state `new'.
928 .B connect
929 (conn) If operating in disconnected mode on an IMAP mailbox,
930 switch to online mode and connect to the mail server
931 while retaining the mailbox status.
932 See the description of the
933 .I disconnected
934 variable for more information.
936 .B copy
937 (c) The copy command does the same thing that
938 .I save
939 does,
940 except that it does not mark the messages
941 it is used on for deletion when the user quits.
942 Compressed files and IMAP mailboxes are handled as described for the
943 .I folder
944 command.
946 .B Copy
947 (C) Similar to
948 .IR copy ,
949 but saves the messages in a file named after the local part
950 of the sender address of the first message.
952 .B decrypt
953 (dec) For unencrypted messages,
954 this command is identical to
955 .IR copy .
956 Encrypted messages are first decrypted, if possible,
957 and then copied.
959 .B Decrypt
960 (Dec) Similar to
961 .IR decrypt ,
962 but saves the messages in a file named after the local part
963 of the sender address of the first message.
965 .B define
966 (def) Defines a macro.
967 A macro definition is a sequence of commands in the following form:
970     \fBdefine\fR \fIname\fB {\fR
971         \fIcommand1\fR
972         \fIcommand2\fR
973         .\|.\|.
974         \fIcommandN\fR
975     \fB}\fR
978 Once defined, a macro can be explicitly invoked using the
979 .I call
980 command,
981 or can be implicitly invoked by setting the
982 .I folder-hook
984 .I folder-hook-fullname
985 variables.
987 .B defines
988 Prints the currently defined macros including their contents.
990 .B delete
991 (d) Takes a list of messages as argument
992 and marks them all as deleted.
993 Deleted messages will not be saved in mbox,
994 nor will they be available for most other commands.
996 .B discard
997 Same as ignore.
999 .B disconnect
1000 (disco) If operating in online mode on an IMAP mailbox,
1001 switch to disconnected mode while retaining the mailbox status.
1002 See the description of the
1003 .I disconnected
1004 variable for more information.
1005 A list of messages may optionally be given as argument;
1006 the respective messages are then read into the cache
1007 before the connection is closed.
1008 Thus `disco *' makes the entire current mailbox
1009 available for disconnected use.
1011 .BR dp \ or \ dt
1012 Deletes the current message
1013 and prints the next message.
1014 If there is no next message,
1015 \*(UA says `\fIat EOF\fR'.
1017 .B draft
1018 Takes a message list and marks each message
1019 as a draft.
1020 This mark has no technical meaning in the mail system;
1021 it just causes messages to be marked in the header summary,
1022 and makes them specially addressable.
1024 .B echo
1025 Echoes its arguments,
1026 resolving special names
1027 as documented for the folder command.
1028 The escape sequences
1029 `\fB\ea\fR',
1030 `\fB\eb\fR',
1031 `\fB\ec\fR',
1032 `\fB\ef\fR',
1033 `\fB\en\fR',
1034 `\fB\er\fR',
1035 `\fB\et\fR',
1036 `\fB\ev\fR',
1037 `\fB\e\e\fR', and
1038 `\fB\e0\fInum\fR'
1039 are interpreted
1040 as with the
1041 .IR echo (1)
1042 command.
1044 .B edit
1045 (e) Takes a list of messages
1046 and points the text editor
1047 at each one in turn.
1048 Modified contents are discarded
1049 unless the
1050 .I writebackedited
1051 variable is set.
1053 .B else
1054 Marks the end of the then-part
1055 of an if statement
1056 and the beginning of the part
1057 to take effect if the condition
1058 of the if statement is false.
1060 .B endif
1061 Marks the end of an if statement.
1063 .B exit
1064 (ex or x) Effects an immediate return to the Shell
1065 without modifying the user's system mailbox,
1066 his mbox file,
1067 or his edit file in \-f.
1069 .B file
1070 (fi) The same as folder.
1072 .B flag
1073 (fl) Takes a message list
1074 and marks the messages as `flagged' for urgent/special attention.
1075 This mark has no technical meaning in the mail system;
1076 it just causes messages to be highlighted in the header summary,
1077 and makes them specially addressable.
1079 .B folders
1080 With no arguments,
1081 list the names of the folders in the folder directory.
1082 With an existing folder as an argument,
1083 lists then names of folders below the named folder;
1084 e.\|g. the command `folders @'
1085 lists the folders on the base level of the current IMAP server.
1086 See also the
1087 .I imap-list-depth
1088 variable.
1090 .B folder
1091 (fold) The folder command switches
1092 to a new mail file or folder.
1093 With no arguments, it tells the user
1094 which file he is currently reading.
1095 If an argument is given,
1096 it will write out changes
1097 (such as deletions) the user has made
1098 in the current file and read in
1099 the new file.
1100 Some special conventions are recognized for the name.
1101 \fB#\fR means the previous file,
1102 \fB%\fR means the invoking user's system mailbox,
1103 \fB%\fIuser\fR means \fIuser's\fR system mailbox,
1104 \fB&\fR means the invoking user's mbox file,
1105 and \fB+\fIfile\fI means a \fIfile\fR in the folder directory.
1106 \fB%:\fIfilespec\fR expands to the same value as \fIfilespec\fR,
1107 but the file is handled as a system mailbox
1108 e.\ g. by the mbox and save commands.
1109 If the name matches one of the strings defined with the
1110 .I shortcut
1111 command,
1112 it is replaced by its long form and expanded.
1113 If the name ends with \fB.gz\fR or \fB.bz2\fR,
1114 it is treated as compressed with
1115 .IR gzip (1)
1117 .IR bzip2 (1),
1118 respectively.
1119 Likewise, if \fIname\fR does not exist,
1120 but either \fIname\fB.gz\fR or \fIname\fB.bz2\fR exists,
1121 the compressed file is used.
1122 If \fIname\fR refers to a directory
1123 with the subdirectories `tmp', `new', and `cur',
1124 it is treated as a folder in
1125 .I maildir
1126 format.
1127 A name of the form
1130        \fIprotocol\fB://\fR[\fIuser\fB@\fR]\fIhost\fR[\fB:\fIport\fR][\fB/\fIfile\fR]
1133 is taken as an Internet mailbox specification.
1134 The supported protocols are currently
1135 .B imap
1136 (IMAP v4r1),
1137 .B imaps
1138 (IMAP with SSL/TLS encryption),
1139 .B pop3
1140 (POP3),
1142 .B pop3s
1143 (POP3 with SSL/TLS encryption).
1145 .I user
1146 contains special characters, in particular `/' or `%',
1147 they must be escaped in URL notation,
1148 as `%2F' or `%25'.
1149 The optional
1150 .I file
1151 part applies to IMAP only;
1152 if it is omitted,
1153 the default `INBOX' is used.
1154 If \*(UA is connected to an IMAP server,
1155 a name of the form \fB@\fImailbox\fR
1156 refers to the \fImailbox\fR on that server.
1157 If the `folder' variable refers to an IMAP account,
1158 the special name `%' selects the `INBOX' on that account.
1160 .B Followup
1161 (F) Similar to
1162 .IR Respond ,
1163 but saves the message in a file
1164 named after the local part of the first recipient's address.
1166 .B followup
1167 (fo) Similar to
1168 .IR respond ,
1169 but saves the message in a file
1170 named after the local part of the first recipient's address.
1172 .B followupall
1173 Similar to
1174 .IR followup ,
1175 but responds to all recipients regardless of the
1176 .I flipr
1178 .I Replyall
1179 variables.
1181 .B followupsender
1182 Similar to
1183 .IR Followup ,
1184 but responds to the sender only regardless of the
1185 .I flipr
1187 .I Replyall
1188 variables.
1190 .B forward
1191 (fwd)
1192 Takes a message and the address of a recipient
1193 and forwards the message to him.
1194 The text of the original message is included in the new one,
1195 with the value of the
1196 .I fwdheading
1197 variable printed before.
1199 .I fwdignore
1201 .I fwdretain
1202 commands specify which header fields are included in the new message.
1203 Only the first part of a multipart message is included unless the
1204 .I forward-as-attachment
1205 option is set.
1207 .B Forward
1208 (Fwd)
1209 Similar to
1210 .IR forward ,
1211 but saves the message in a file named after
1212 the local part of the recipient's address.
1214 .B from
1215 (f) Takes a list of messages
1216 and prints their message headers,
1217 piped through the pager if the output does not fit on the screen.
1219 .B fwdignore
1220 Specifies which header fields are to be ignored with the
1221 .I forward
1222 command.
1223 This command has no effect when the
1224 .I forward-as-attachment
1225 option is set.
1227 .B fwdretain
1228 Specifies which header fields are to be retained with the
1229 .I forward
1230 command.
1231 .I fwdretain
1232 overrides
1233 .IR fwdignore .
1234 This command has no effect when the
1235 .I forward-as-attachment
1236 option is set.
1238 .B good
1239 (go) Takes a list of messages
1240 and marks all of them as not being junk mail.
1241 Data from these messages is then inserted
1242 into the junk mail database for future classification.
1244 .B headers
1245 (h) Lists the current range of headers,
1246 which is an 18-message group.
1247 If a `+' argument is given,
1248 then the next 18-message group is printed,
1249 and if a `\-' argument is given,
1250 the previous 18-message group is printed.
1252 .B help
1253 A synonym for ?.
1255 .B hold
1256 (ho, also preserve) Takes a message list
1257 and marks each message therein to be saved
1258 in the user's system mailbox
1259 instead of in mbox.
1260 Does not override the delete command.
1261 \*(UA deviates from the POSIX standard with this command,
1262 as a `next' command issued after `hold'
1263 will display the following message,
1264 not the current one.
1266 .B if
1267 Commands in \*(UA's startup files
1268 can be executed conditionally
1269 depending on whether the user is sending
1270 or receiving mail with the if command.
1271 For example:
1274     \fBif \fIreceive\fR
1275         \fIcommands .\ .\ .\fR
1276     \fBendif\fR
1279 An else form is also available:
1282     \fBif \fIreceive\fR
1283         \fIcommands .\ .\ .\fR
1284     \fBelse\fR
1285         \fIcommands .\ .\ .\fR
1286     \fBendif\fR
1289 Note that the only allowed conditions are
1290 .BR receive ,
1291 .BR send ,
1293 .B term
1294 (execute command if standard input is a tty).
1296 .B ignore
1297 Add the list of header fields named to the ignored list.
1298 Header fields in the ignore list are not printed
1299 on the terminal when a message is printed.
1300 This command is very handy for suppression
1301 of certain machine-generated header fields.
1302 The Type and Print commands can be used
1303 to print a message in its entirety,
1304 including ignored fields.
1305 If ignore is executed with no arguments,
1306 it lists the current set of ignored fields.
1308 .B imap
1309 Sends command strings directly to the current IMAP server.
1310 \*(UA operates always in IMAP \fIselected state\fR
1311 on the current mailbox;
1312 commands that change this
1313 will produce undesirable results
1314 and should be avoided.
1315 Useful IMAP commands are:
1318 .B create
1319 Takes the name of an IMAP mailbox as an argument
1320 and creates it.
1322 .B getquotaroot
1323 .\" RFC 2087
1324 Takes the name of an IMAP mailbox as an argument
1325 and prints the quotas that apply to the mailbox.
1326 Not all IMAP servers support this command.
1328 .B namespace
1329 .\" RFC 2342
1330 Takes no arguments and prints the Personal Namespaces,
1331 the Other User's Namespaces,
1332 and the Shared Namespaces.
1333 Each namespace type is printed in parentheses;
1334 if there are multiple namespaces of the same type,
1335 inner parentheses separate them.
1336 For each namespace,
1337 a namespace prefix and a hierarchy separator is listed.
1338 Not all IMAP servers support this command.
1341 .B inc
1342 Same as
1343 .IR newmail .
1345 .B junk
1346 (j) Takes a list of messages
1347 and marks all of them as junk mail.
1348 Data from these messages is then inserted
1349 into the junk mail database for future classification.
1351 .B kill
1352 (k) Takes a list of messages and `kills' them.
1353 Killed messages are not printed in header summaries,
1354 and are ignored by the
1355 .I next
1356 command.
1358 .I kill
1359 command also sets the score of the messages to negative infinity,
1360 so that subsequent
1361 .I score
1362 commands will not unkill them again.
1363 Killing is only effective for the current session on a folder;
1364 when it is quit, all messages are automatically unkilled.
1366 .B list
1367 Prints the names of all available commands.
1369 .B Mail
1370 (M) Similar to
1371 .IR mail ,
1372 but saves the message in a file
1373 named after the local part of the first recipient's address.
1375 .B mail
1376 (m) Takes as arguments the usual recipient addresses,
1377 or asks on standard input if none were given;
1378 then collects remain mail content and sends it out.
1380 .B mbox
1381 Indicate that a list of messages be sent
1382 to mbox in the user's home directory when
1383 \*(UA is quit.
1384 This is the default action for messages
1385 if unless the
1386 .I hold
1387 option is set.
1388 \*(UA deviates from the POSIX standard with this command,
1389 as a `next' command issued after `mbox'
1390 will display the following message,
1391 not the current one.
1393 .B move
1394 (mv) Acts like
1395 .IR copy ,
1396 but marks the messages for deletion
1397 if they were transferred successfully.
1399 .B Move
1400 (Mv) Similar to
1401 .IR move ,
1402 but moves the messages to a file named after the local part
1403 of the sender address of the first message.
1405 .B newmail
1406 Checks for new mail in the current folder
1407 without committing any changes before.
1408 If new mail is present, a message is printed.
1409 If the
1410 .I header
1411 variable is set,
1412 the headers of each new message are also printed.
1414 .B next
1415 (n) like + or CR) Goes to the next message
1416 in sequence and types it.
1417 With an argument list, types the next matching message.
1419 .B New
1420 Same as
1421 .IR unread .
1423 .B new
1424 Same as
1425 .IR unread .
1427 .B online
1428 Same as
1429 .IR connect .
1431 .B noop
1432 If the current folder is located on an IMAP or POP3 server,
1433 a NOOP command is sent.
1434 Otherwise, no operation is performed.
1436 .B Pipe
1437 (Pi) Like
1438 .I pipe
1439 but also
1440 pipes ignored header fields
1441 and all parts of MIME
1442 .I multipart/alternative
1443 messages.
1445 .B pipe
1446 (pi) Takes a message list and a shell command
1447 and pipes the messages through the command.
1448 Without an argument,
1449 the current message is piped
1450 through the command given by the \fIcmd\fR variable.
1451 If the \fI page\fR variable is set,
1452 every message is followed by a formfeed character.
1454 .B preserve
1455 (pre) A synonym for
1456 .IR hold .
1458 .B Print
1459 (P) Like
1460 .I print
1461 but also
1462 prints out ignored header fields
1463 and all parts of MIME
1464 .I multipart/alternative
1465 messages.
1466 See also
1467 .IR print ,
1468 .IR ignore ,
1470 .IR retain .
1472 .B print
1473 (p) Takes a message list and types out each message
1474 on the user's terminal.
1475 If the message is a MIME multipart message,
1476 all parts with a content type of `text' or `message' are shown,
1477 the other are hidden except for their headers.
1478 Messages are decrypted and converted to the terminal character set
1479 if necessary.
1481 .B probability
1482 (prob) For each word given as argument,
1483 the contents of its junk mail database entry are printed.
1485 .B quit
1486 (q) Terminates the session, saving all undeleted,
1487 unsaved messages in the user's mbox file in his login directory,
1488 preserving all messages marked with hold or preserve
1489 or never referenced in his system mailbox,
1490 and removing all other messages from his system mailbox.
1491 If new mail has arrived during the session,
1492 the message `\fIYou have new mail\fR' is given.
1493 If given while editing a mailbox file with the \-f flag,
1494 then the edit file is rewritten.
1495 A return to the Shell is effected,
1496 unless the rewrite of edit file fails,
1497 in which case the user can escape
1498 with the exit command.
1500 .B redirect
1501 (red) Same as
1502 .IR resend .
1504 .B Redirect
1505 (Red) Same as
1506 .IR Resend .
1508 .B remove
1509 (rem) Removes the named folders.
1510 The user is asked for confirmation
1511 in interactive mode.
1513 .B rename
1514 (ren) Takes the name of an existing folder
1515 and the name for the new folder
1516 and renames the first to the second one.
1517 Both folders must be of the same type
1518 and must be located on the current server for IMAP.
1520 .B Reply
1521 (R) Reply to originator.
1522 Does not reply to other recipients
1523 of the original message.
1525 .BR reply
1526 (r) Takes a message list and sends mail
1527 to the sender and all recipients of the specified message.
1528 The default message must not be deleted.
1530 .B replyall
1531 Similar to
1532 .IR reply ,
1533 but responds to all recipients regardless of the
1534 .I flipr
1536 .I Replyall
1537 variables.
1539 .B replysender
1540 Similar to
1541 .IR Reply ,
1542 but responds to the sender only regardless of the
1543 .I flipr
1545 .I Replyall
1546 variables.
1548 .B Resend
1549 Like
1550 .IR resend ,
1551 but does not add any header lines.
1552 This is not a way to hide the sender's identity,
1553 but useful for sending a message again
1554 to the same recipients.
1556 .B resend
1557 Takes a list of messages and a user name
1558 and sends each message to the named user.
1559 `Resent-From:' and related header fields are prepended
1560 to the new copy of the message.
1562 .B Respond
1563 Same as
1564 .IR Reply .
1566 .B respond
1567 Same as
1568 .IR reply .
1570 .B respondall
1571 Same as
1572 .IR replyall .
1574 .B respondsender
1575 Same as
1576 .IR replysender .
1578 .B retain
1579 Add the list of header fields named to the retained list.
1580 Only the header fields in the retain list are shown
1581 on the terminal when a message is printed.
1582 All other header fields are suppressed.
1583 The Type and Print commands can be used
1584 to print a message in its entirety.
1585 If retain is executed with no arguments,
1586 it lists the current set of retained fields.
1588 .B Save
1590 Similar to
1591 .IR save ,
1592 but saves the messages
1593 in a file named after the local part
1594 of the sender of the first message
1595 instead of taking a filename argument.
1597 .B save
1598 (s) Takes a message list and a filename
1599 and appends each message
1600 in turn to the end of the file.
1601 If no filename is given,
1602 the mbox file is used.
1603 The filename in quotes,
1604 followed by the line count and character count
1605 is echoed on the user's terminal.
1606 If editing a system mailbox,
1607 the messages are marked for deletion.
1608 Compressed files and IMAP mailboxes are handled as described for the
1609 .I \-f
1610 command line option above.
1612 .B savediscard
1613 Same as saveignore.
1615 .B saveignore
1616 Saveignore is to save what ignore is to print and type.
1617 Header fields thus marked are filtered out
1618 when saving a message by save
1619 or when automatically saving to mbox.
1620 This command should only be applied to header fields
1621 that do not contain information needed to decode the message,
1622 as MIME content fields do.
1623 If saving messages on an IMAP account,
1624 ignoring fields makes it impossible
1625 to copy the data directly on the server,
1626 thus operation usually becomes much slower.
1628 .B saveretain
1629 Saveretain is to save what retain is to print and type.
1630 Header fields thus marked are the only ones
1631 saved with a message when saving by save
1632 or when automatically saving to mbox.
1633 Saveretain overrides saveignore.
1634 The use of this command is strongly discouraged
1635 since it may strip header fields
1636 that are needed to decode the message correctly.
1638 .B score
1639 (sc) Takes a message list and a floating point number
1640 and adds the number to the score of each given message.
1641 All messages start at score 0 when a folder is opened.
1642 When the score of a message becomes negative, it is `killed'
1643 with the effects described for the
1644 .I kill
1645 command;
1646 otherwise if it was negative before and becomes positive,
1647 it is `unkilled'.
1648 Scores only refer to the currently opened instance of a folder.
1650 .B set
1651 (se) With no arguments, prints all variable values,
1652 piped through the pager if the output does not fit on the screen.
1653 Otherwise, sets option.
1654 Arguments are of the form option=value
1655 (no space before or after =)
1656 or option.
1657 Quotation marks may be placed around any part of the
1658 assignment statement to quote blanks
1659 or tabs, i.\|e. `\fIset indentprefix="\->"\fR'.
1660 If an argument begins with
1661 .BR no ,
1662 as in `\fBset no\fIsave\fR',
1663 the effect is the same as invoking the
1664 .I unset
1665 command with the remaining part of the variable
1666 (`\fIunset \fIsave\fR').
1668 .B seen
1669 Takes a message list and marks all messages as having been read.
1671 .B shell
1672 (sh) Invokes an interactive version of the shell.
1674 .B shortcut
1675 Defines a shortcut name and its string for expansion,
1676 as described for the
1677 .I folder
1678 command.
1679 With no arguments,
1680 a list of defined shortcuts is printed.
1682 .B show
1683 (Sh) Like
1684 .IR print ,
1685 but performs neither MIME decoding nor decryption
1686 so that the raw message text is shown.
1688 .B size
1689 Takes a message list and prints out
1690 the size in characters of each message.
1692 .B sort
1693 Create a sorted representation of the current folder,
1694 and change the
1695 .I next
1696 command and the addressing modes
1697 such that they refer to messages in the sorted order.
1698 Message numbers are the same as in regular mode.
1699 If the
1700 .I header
1701 variable is set,
1702 a header summary in the new order is also printed.
1703 Possible sorting criteria are:
1706 .B date
1707 Sort the messages by their `Date:' field,
1708 that is by the time they were sent.
1710 .B from
1711 Sort messages by the value of their `From:' field,
1712 that is by the address of the sender.
1713 If the
1714 .I showname
1715 variable is set,
1716 the sender's real name (if any) is used.
1718 .B size
1719 Sort the messages by their size.
1721 .B score
1722 Sort the messages by their score.
1724 .B status
1725 Sort the messages by their message status
1726 (new, read, old, etc.).
1728 .B subject
1729 Sort the messages by their subject.
1731 .B thread
1732 Create a threaded order,
1733 as with the
1734 .I thread
1735 command.
1737 .B to
1738 Sort messages by the value of their `To:' field,
1739 that is by the address of the recipient.
1740 If the
1741 .I showname
1742 variable is set,
1743 the recipient's real name (if any) is used.
1746 If no argument is given,
1747 the current sorting criterion is printed.
1749 .B source
1750 The source command reads commands from a file.
1752 .B thread
1753 (th) Create a threaded representation of the current folder,
1754 i.\|e. indent messages that are replies to other messages
1755 in the header display,
1756 and change the
1757 .I next
1758 command and the addressing modes
1759 such that they refer to messages in the threaded order.
1760 Message numbers are the same as in unthreaded mode.
1761 If the
1762 .I header
1763 variable is set,
1764 a header summary in threaded order is also printed.
1766 .B top
1767 Takes a message list and prints the top few lines of each.
1768 The number of lines printed is controlled
1769 by the variable toplines
1770 and defaults to five.
1772 .B touch
1773 Takes a message list
1774 and marks the messages for saving in the
1775 .I mbox
1776 file.
1777 \*(UA deviates from the POSIX standard with this command,
1778 as a `next' command issued after `mbox'
1779 will display the following message,
1780 not the current one.
1782 .B Type
1783 (T) Identical to the Print command.
1785 .B type
1786 (t) A synonym for print.
1788 .B unalias
1789 Takes a list of names defined by alias commands
1790 and discards the remembered groups of users.
1791 The group names no longer have any significance.
1793 .B unanswered
1794 Takes a message list and marks each message
1795 as not having been answered.
1797 .B uncollapse
1798 (unc)
1799 Only applicable to threaded mode.
1800 Takes a message list
1801 and makes the message and all replies to it visible
1802 in header summaries again.
1803 When a message becomes the current message,
1804 it is automatically made visible.
1805 Also when a message with collapsed replies is printed,
1806 all of these are automatically uncollapsed.
1808 .B undef
1809 Undefines each of the named macros.
1810 It is not an error to use a name that does not belong to
1811 one of the currently defined macros.
1813 .B undelete
1814 (u) Takes a message list and marks each message as not being deleted.
1816 .B undraft
1817 Takes a message list and marks each message
1818 as a draft.
1820 .B unflag
1821 Takes a message list and marks each message as not being `flagged'.
1823 .B unfwdignore
1824 Removes the header field names
1825 from the list of ignored fields for the
1826 .I forward
1827 command.
1829 .B unfwdretain
1830 Removes the header field names
1831 from the list of retained fields for the
1832 .I forward
1833 command.
1835 .B ungood
1836 Takes a message list and undoes the effect of a
1837 .I good
1838 command that was previously applied on exactly these messages.
1840 .B unignore
1841 Removes the header field names
1842 from the list of ignored fields.
1844 .B unjunk
1845 Takes a message list and undoes the effect of a
1846 .I junk
1847 command that was previously applied on exactly these messages.
1849 .B unkill
1850 Takes a message list and `unkills' each message.
1851 Also sets the score of the messages to 0.
1853 .B Unread
1854 Same as
1855 .IR unread .
1857 .B unread
1858 (U) Takes a message list and marks each message
1859 as not having been read.
1861 .B unretain
1862 Removes the header field names
1863 from the list of retained fields.
1865 .B unsaveignore
1866 Removes the header field names
1867 from the list of ignored fields for saving.
1869 .B unsaveretain
1870 Removes the header field names
1871 from the list of retained fields for saving.
1873 .B unset
1874 Takes a list of option names and discards their remembered
1875 values;
1876 the inverse of set.
1878 .B unshortcut
1879 Deletes the shortcut names given as arguments.
1881 .B unsort
1882 Disable sorted or threaded mode (see the
1883 .I sort
1885 .I thread
1886 commands), return to normal message order
1887 and,
1888 if the
1889 .I header
1890 variable is set,
1891 print a header summary.
1893 .B unthread
1894 (unth) Same as
1895 .IR unsort .
1897 .B verify
1898 (verif)
1899 Takes a message list and verifies each message.
1900 If a message is not an S/MIME signed message,
1901 verification will fail for it.
1902 The verification process checks
1903 if the message was signed using a valid certificate,
1904 if the message sender's email address matches
1905 one of those contained within the certificate,
1906 and if the message content has been altered.
1908 .B visual
1909 (v) Takes a message list and invokes the display editor
1910 on each message.
1911 Modified contents are discarded
1912 unless the
1913 .I writebackedited
1914 variable is set.
1916 .B write
1917 (w) For conventional messages the body without all headers is written.
1918 The output is decrypted and converted to its native format as necessary.
1919 If the output file exists, the text is appended.
1920 If a message is in MIME multipart format its first part is written to
1921 the specified file as for conventional messages,
1922 and the user is asked for a filename to save each other part.
1923 For convience saving of each part may be skipped by giving an empty value;
1924 the same result can also be achieved by writing it to '/dev/null'.
1925 For the second and subsequent parts a leading '|' character causes the
1926 part to be piped to the remainder of the user input interpreted as
1927 a shell command;
1928 otherwise the user input is expanded as usually for folders,
1929 e.g., tilde expansion is performed.
1930 In non-interactive mode, only the parts of the multipart message
1931 that have a filename given in the part header are written,
1932 the others are discarded.
1933 The original message is never marked for deletion in the originating
1934 mail folder.
1935 For attachments,
1936 the contents of the destination file are overwritten if the file
1937 previously existed.
1938 No special handling of compressed files is performed.
1940 .B xit
1941 (x) A synonym for exit.
1943 .B z
1944 \*(UA presents message headers in windowfuls
1945 as described under the headers command.
1946 The z command scrolls to the next window of messages.
1947 If an argument is given,
1948 it specifies the window to use.
1949 A number prefixed by `+' or `\-' indicates
1950 that the window is calculated in relation
1951 to the current position.
1952 A number without a prefix specifies an
1953 absolute window number,
1954 and a `$' lets \*(UA scroll
1955 to the last window of messages.
1957 .B Z
1958 Similar to
1959 .IR z ,
1960 but scrolls to the next or previous window
1961 that contains at least one new or `flagged' message.
1962 .SS "Tilde escapes"
1963 Here is a summary of the tilde escapes,
1964 which are used when composing
1965 messages to perform special functions.
1966 Tilde escapes are only recognized
1967 at the beginning of lines.
1968 The name `\fItilde escape\fR' is somewhat of a misnomer
1969 since the actual escape character can be set
1970 by the option escape.
1972 .BI ~! command
1973 Execute the indicated shell command,
1974 then return to the message.
1976 .B ~.
1977 Same effect as typing the end-of-file character.
1979 .BI ~< filename
1980 Identical to ~r.
1982 .BI ~<! command
1983 Command is executed using the shell.
1984 Its standard output is inserted into the message.
1986 \fB~@\fR [\fIfilename\fR .\ .\ . ]
1987 With no arguments, edit the attachment list.
1988 First, the user can edit all existing attachment data.
1989 If an attachment's file name is left empty,
1990 that attachment is deleted from the list.
1991 When the end of the attachment list is reached,
1992 \*(UA will ask for further attachments,
1993 until an empty file name is given.
1994 If \fIfilename\fP arguments are specified,
1995 all of them are appended to the end of the attachment list.
1996 Filenames which contain white space
1997 can only be specified
1998 with the first method (no \fIfilename\fP arguments).
2000 .B ~A
2001 Inserts the string contained in the
2002 .I Sign
2003 variable
2004 (same as `~i Sign').
2005 The escape sequences `\fB\et\fR' (tabulator) and `\fB\en\fR' (newline)
2006 are understood.
2008 .B ~a
2009 Inserts the string contained in the
2010 .B sign
2011 variable
2012 (same as `~i sign').
2013 The escape sequences `\fB\et\fR' (tabulator) and `\fB\en\fR' (newline)
2014 are understood.
2016 .BI ~b "name .\ .\ ."
2017 Add the given names to the list of carbon copy recipients
2018 but do not make the names visible in the Cc: line
2019 (`blind' carbon copy).
2021 .BI ~c "name .\ .\ ."
2022 Add the given names to the list of carbon copy recipients.
2024 .B ~d
2025 Read the file `dead.letter' from the user's home directory
2026 into the message.
2028 .B ~e
2029 Invoke the text editor on the message collected so far.
2030 After the editing session is finished,
2031 the user may continue appending text
2032 to the message.
2034 .BI ~f messages
2035 Read the named messages into the message being sent.
2036 If no messages are specified,
2037 read in the current message.
2038 Message headers currently being ignored
2039 (by the ignore or retain command)
2040 are not included.
2041 For MIME multipart messages,
2042 only the first printable part is included.
2044 .BI ~F messages
2045 Identical to ~f, except all message headers and
2046 all MIME parts are included.
2048 .B ~h
2049 Edit the message header fields
2050 `To:', `Cc:', `Bcc:', and `Subject:'
2051 by typing each one in turn
2052 and allowing the user to append text
2053 to the end or modify the field
2054 by using the current terminal erase and kill characters.
2056 .B ~H
2057 Edit the message header fields
2058 `From:', `Reply-To:', `Sender:', and `Organization:'
2059 in the same manner as described for
2060 .IR ~h .
2061 The default values for these fields originate from the
2062 .IR from ,
2063 .IR replyto ,
2065 .I ORGANIZATION
2066 variables.
2067 If this tilde command has been used,
2068 changing the variables has no effect on the current message anymore.
2070 .BI ~i variable
2071 Insert the value of the specified variable
2072 into the message adding a newline character at the end.
2073 If the variable is unset or empty,
2074 the message remains unaltered.
2075 The escape sequences `\fB\et\fR' (tabulator) and `\fB\en\fR' (newline)
2076 are understood.
2078 .BI ~m messages
2079 Read the named messages into the message being sent,
2080 indented by a tab or by the value of indentprefix.
2081 If no messages are specified,
2082 read the current message.
2083 Message headers currently being ignored
2084 (by the ignore or retain command)
2085 are not included.
2086 For MIME multipart messages,
2087 only the first printable part is included.
2089 .BI ~M messages
2090 Identical to ~m, except all message headers and
2091 all MIME parts are included.
2093 .B ~p
2094 Print out the message collected so far,
2095 prefaced by the message header fields
2096 and followed by the attachment list, if any.
2097 If the message text is longer than the screen size,
2098 it is piped through the pager.
2100 .B ~q
2101 Abort the message being sent,
2102 copying the message to
2103 `dead.letter' in the user's home directory
2104 if save is set.
2106 .BI ~r filename
2107 Read the named file into the message.
2109 .BI ~s string
2110 Cause the named string to become the current subject field.
2112 .BI ~t "name .\ .\ ."
2113 Add the given names to the direct recipient list.
2115 .B ~v
2116 Invoke an alternate editor
2117 (defined by the VISUAL option)
2118 on the message collected so far.
2119 Usually, the alternate editor
2120 will be a screen editor.
2121 After the editor is quit,
2122 the user may resume appending text
2123 to the end of the message.
2125 .BI ~w filename
2126 Write the message onto the named file.
2127 If the file exists,
2128 the message is appended to it.
2130 .B ~x
2131 Same as ~q,
2132 except that the message is not saved to the `dead.letter' file.
2134 .BI ~| command
2135 Pipe the message through the command as a filter.
2136 If the command gives no output or terminates abnormally,
2137 retain the original text of the message.
2138 The command
2139 .IR fmt (1)
2140 is often used
2141 as command to rejustify the message.
2143 .BI ~: \*(ua-command
2144 Execute the given \*(UA command.
2145 Not all commands, however, are allowed.
2147 .BI ~_ \*(ua-command
2148 Identical to ~:.
2150 .BI ~~ string
2151 Insert the string of text in the message
2152 prefaced by a single ~.
2153 If the escape character has been changed,
2154 that character must be doubled
2155 in order to send it at the beginning of a line.
2156 .SS "Variable options"
2157 Options are controlled via set and unset commands,
2158 see their entries for a syntax description.
2159 An option is also set
2160 if it is passed to \*(UA
2161 as part of the environment
2162 (this is not restricted to specific variables as in the POSIX standard).
2163 A value given in a startup file overrides
2164 a value imported from the environment.
2165 Options may be either binary,
2166 in which case it is only significant
2167 to see whether they are set or not;
2168 or string, in which case the actual value is of interest.
2169 .SS "Binary options"
2171 The binary options include the following:
2173 .B add-file-recipients
2174 When file or pipe recipients have been specified,
2175 mention them in the corresponding address fields of the message instead of
2176 silently stripping them from their recipient list.
2177 By default such addressees are not mentioned.
2179 .B allnet
2180 Causes only the local part to be evaluated
2181 when comparing addresses.
2183 .B append
2184 Causes messages saved in mbox to be appended to the end
2185 rather than prepended.
2186 This should always be set.
2188 .BR ask \ or \ asksub
2189 Causes \*(UA to prompt for the subject
2190 of each message sent.
2191 If the user responds with simply a newline,
2192 no subject field will be sent.
2194 .B askatend
2195 Causes the prompts for `Cc:' and `Bcc:' lists
2196 to appear after the message has been edited.
2198 .B askattach
2199 If set, \*(UA asks for files to attach at the end of each message.
2200 Responding with a newline indicates not to include an attachment.
2202 .B askcc
2203 Causes the user to be prompted
2204 for additional carbon copy recipients
2205 (at the end of each message if
2206 .I askatend
2208 .I bsdcompat
2209 is set).
2210 Responding with a newline
2211 indicates the user's satisfaction with the current list.
2213 .B askbcc
2214 Causes the user to be prompted
2215 for additional blind carbon copy recipients
2216 (at the end of each message if
2217 .I askatend
2219 .I bsdcompat
2220 is set).
2221 Responding with a newline
2222 indicates the user's satisfaction with the current list.
2224 .B asksign
2225 Causes the user to be prompted
2226 if the message is to be signed
2227 at the end of each message.
2229 .I smime-sign
2230 variable is ignored when this variable is set.
2232 .B autocollapse
2233 Causes threads to be collapsed automatically when
2234 threaded mode is entered
2235 (see the
2236 .I collapse
2237 command).
2239 .B autoinc
2240 Same as
2241 .IR newmail .
2243 .B autoprint
2244 Causes the delete command to behave like dp \-
2245 thus, after deleting a message,
2246 the next one will be typed automatically.
2248 .B autothread
2249 Causes threaded mode (see the
2250 .I thread
2251 command) to be entered automatically
2252 when a folder is opened.
2254 .B bang
2255 Enables the substitution of `\fB!\fR'
2256 by the contents of the last command line
2257 in shell escapes.
2259 .B bsdannounce
2260 Causes automatic display of a header summary after executing a
2261 .I folder
2262 command.
2264 .B bsdcompat
2265 Sets some cosmetical features to traditional BSD style;
2266 has the same affect as setting `askatend' and
2267 all other variables prefixed with `bsd',
2268 setting prompt to `&\ ', and changing the default pager to
2269 .IR more .
2271 .B bsdflags
2272 Changes the letters printed in the first column of a header summary
2273 to traditional BSD style.
2275 .B bsdheadline
2276 Changes the display of columns in a header summary
2277 to traditional BSD style.
2279 .B bsdmsgs
2280 Changes some informational messages
2281 to traditional BSD style.
2283 .B bsdorder
2284 Causes the `Subject:' field to appear
2285 immediately after the `To:' field
2286 in message headers and with the
2287 .I ~h
2288 tilde command.
2290 .B bsdset
2291 Changes the output format of the
2292 .I set
2293 command to traditional BSD style.
2295 .B chained-junk-tokens
2296 Normally, the Bayesian junk mail filter bases its classifications
2297 on single word tokens extracted from messages.
2298 If this option is set,
2299 adjacent words are combined to pairs,
2300 which are then used as additional tokens.
2301 This usually improves the accuracy of the filter,
2302 but also increases the junk mail database
2303 five- to tenfold.
2305 .B datefield
2306 The date in a header summary
2307 is normally the date of the mailbox `From\ ' line of the message.
2308 If this variable is set,
2309 the date as given in the `Date:' header field is used,
2310 converted to local time.
2312 .B debug
2313 Prints debugging messages and disables the actual delivery of messages.
2314 Unlike
2315 .IR verbose ,
2316 this option is intended for \*(UA development only.
2318 .B disconnected
2319 When an IMAP mailbox is selected and this variable is set,
2320 no connection to the server is initiated.
2321 Instead, data is obtained from the local cache (see
2322 .IR imap-cache ).
2323 Mailboxes that are not present in the cache
2324 and messages that have not yet entirely been fetched from the server
2325 are not available;
2326 to fetch all messages in a mailbox at once,
2327 the command `copy * /dev/null' can be used
2328 while still in
2329 .I online
2330 mode.
2331 Changes that are made to IMAP mailboxes in disconnected mode
2332 are queued and committed later
2333 when a connection to that server is opened in online mode.
2334 This procedure is not completely reliable
2335 since it cannot be guaranteed that the IMAP unique identifiers (UIDs)
2336 on the server still match the ones in the cache at that time.
2337 Data is saved to `dead.letter' when this problem occurs.
2339 \fBdisconnected-\fIuser\fB@\fIhost\fR
2340 The specified account is handled as described for the
2341 .I disconnected
2342 variable above,
2343 but other accounts are not affected.
2345 .B dot
2346 The binary option dot causes \*(UA to interpret
2347 a period alone on a line
2348 as the terminator of a message the user is sending.
2350 .B editheaders
2351 When a message is edited while being composed,
2352 its header is included in the editable text.
2353 `To:', `Cc:', `Bcc:', `Subject:', `From:', `Reply-To:', `Sender:',
2354 and 'Organization:'
2355 fields are accepted within the header,
2356 other fields are ignored.
2358 .B emptybox
2359 If set, an empty mailbox file is not removed.
2360 This may improve the interoperability with other mail user agents
2361 when using a common folder directory.
2363 .B emptystart
2364 If the mailbox is empty,
2365 \*(UA normally prints \fI`No mail for user'\fR
2366 and exits immediately.
2367 If this option is set,
2368 \*(UA starts even with an empty mailbox.
2370 .B flipr
2371 Exchanges the
2372 .I Respond
2373 with the
2374 .I respond
2375 commands and vice-versa.
2377 .B forward-as-attachment
2378 Original messages are normally sent as inline text with the
2379 .I forward
2380 command,
2381 and only the first part of a multipart message is included.
2382 With this option,
2383 messages are sent as MIME
2384 .I message/rfc822
2385 attachments,
2386 and all of their parts are included.
2388 .I fwdignore
2390 .I fwdretain
2391 options are ignored when the
2392 .I forward-as-attachment
2393 option is set.
2395 .B fullnames
2396 When replying to a message,
2397 \*(UA normally removes the comment parts of email addresses,
2398 which by convention contain the full names of the recipients.
2399 If this variable is set,
2400 such stripping is not performed,
2401 and comments are retained.
2403 .B header
2404 Causes the header summary to be written at startup
2405 and after commands that affect the number of messages
2406 or the order of messages in the current folder;
2407 enabled by default.
2409 .B hold
2410 This option is used to hold messages
2411 in the system mailbox by default.
2413 .B idna-disable
2414 Unless this is set domain names that fail to pass their content test are
2415 handed over to the IDNA (internationalized domain names for applications)
2416 converter, and, in case the encoding succeeds,
2417 are replaced with the converted version.
2418 Because the domain names are expected to be in locale encoding,
2419 a locale which uses the UTF-8 charset is required to represent all
2420 possible international domain names.
2421 (Note that the \fIttycharset\fR option does not affect IDNA encoding.)
2423 .B idna-strict-checks
2424 If this is set (and \fIidna-disable\fR is not),
2425 then the IDNA-conversion is enforced to apply stricter error checking in
2426 respect to the content of domain names.
2427 Also, a successfully encoded (and thus normalized) domain name is
2428 converted back to the locale version, so that special TLD (top-level
2429 domain) checks can be performed on it;
2430 e.g., the \fI.no\fR TLD does not allow the Euro currency symbol,
2431 but only this strict check will catch this error.
2433 .B ignore
2434 Causes interrupt signals from the terminal
2435 to be ignored and echoed as @'s.
2437 .B ignoreeof
2438 An option related to dot is ignoreeof
2439 which makes \*(UA refuse to
2440 accept a control-d as the end of a message.
2441 Ignoreeof also applies to \*(UA command mode.
2443 .B imap-use-starttls
2444 Causes \*(UA to issue a STARTTLS command
2445 to make an unencrypted IMAP session SSL/TLS encrypted.
2446 This functionality is not supported by all servers,
2447 and is not used if the session is already encrypted by the IMAPS method.
2449 \fBimap-use-starttls-\fIuser\fB@\fIhost\fR
2450 Activates
2451 .I imap-use-starttls
2452 for a specific account.
2454 .B keep
2455 This option causes \*(UA to truncate the user's system mailbox
2456 instead of deleting it when it is empty.
2457 This should always be set,
2458 since it prevents malicious users
2459 from creating fake mail folders
2460 in a world-writable spool directory.
2462 .B keepsave
2463 When a message is saved,
2464 it is usually discarded
2465 from the originating folder
2466 when \*(UA is quit.
2467 Setting this option
2468 causes all saved message to be retained.
2470 .B markanswered
2471 When a message is replied to
2472 and this variable is set,
2473 it is marked as having been answered.
2474 This mark has no technical meaning in the mail system;
2475 it just causes messages to be marked in the header summary,
2476 and makes them specially addressable.
2478 .B metoo
2479 Usually, when a group is expanded
2480 that contains the sender,
2481 the sender is removed from the expansion.
2482 Setting this option causes
2483 the sender to be included in the group.
2485 .B newmail
2486 Checks for new mail in the current folder
2487 each time the prompt is printed.
2488 For IMAP mailboxes,
2489 the server is then polled for new mail,
2490 which may result in delayed operation
2491 if the connection to the server is slow.
2493 .I maildir
2494 folder must be re-scanned to determine
2495 if new mail has arrived.
2497 If this variable is set to the special value
2498 .BR nopoll ,
2499 an IMAP server is not actively asked for new mail,
2500 but new mail may still be detected and announced
2501 with any other IMAP command that is sent to the server.
2503 .I maildir
2504 folder is not scanned then.
2506 In any case,
2507 the IMAP server may send notifications about messages
2508 that have been deleted on the server
2509 by another process or client.
2510 In this case, `Expunged \fIn\fR messages' is printed
2511 regardless of this variable,
2512 and message numbers may have changed.
2514 .B noheader
2515 Setting the option noheader is the same
2516 as giving the \-N flag on the command line.
2518 .B outfolder
2519 Causes the filename given in the
2520 .I record
2521 variable
2522 and the sender-based filenames for the
2523 .I Copy
2525 .I Save
2526 commands
2527 to be interpreted relative to the directory given in the
2528 .I folder
2529 variable rather than to the current directory
2530 unless it is an absolute pathname.
2532 .B page
2533 If set, each message the \fIpipe\fR command prints out
2534 is followed by a formfeed character.
2536 .B piperaw
2537 Send messages to the
2538 .I pipe
2539 command without performing MIME and character set conversions.
2541 .B pop3-use-apop
2542 If this variable is set,
2543 the APOP authentication method is used
2544 when a connection to a POP3 server is initiated.
2545 The advantage of this method over the usual USER/PASS authentication is
2546 that the password is not sent over the network in clear text.
2547 The connection fails
2548 if the server does not support the APOP command.
2550 \fBpop3-use-apop-\fIuser\fB@\fIhost\fR
2551 Enables
2552 .I pop3-use-apop
2553 for a specific account.
2555 .B pop3-use-starttls
2556 Causes \*(UA to issue a STLS command
2557 to make an unencrypted POP3 session SSL/TLS encrypted.
2558 This functionality is not supported by all servers,
2559 and is not used if the session is already encrypted by the POP3S method.
2561 \fBpop3-use-starttls-\fIuser\fB@\fIhost\fR
2562 Activates
2563 .I pop3-use-starttls
2564 for a specific account.
2566 .B print-all-chars
2567 This option causes all characters to be considered printable.
2568 It is only effective if given in a startup file.
2569 With this option set,
2570 some character sequences in messages
2571 may put the user's terminal in an undefined state
2572 when printed;
2573 it should only be used as a last resort
2574 if no working system locale can be found.
2576 .B print-alternatives
2577 When a MIME message part of type
2578 .I multipart/alternative
2579 is displayed and it contains a subpart of type
2580 .IR text/plain ,
2581 other parts are normally discarded.
2582 Setting this variable causes all subparts to be displayed,
2583 just as if the surrounding part was of type
2584 .IR multipart/mixed .
2586 .B quiet
2587 Suppresses the printing of the version when first invoked.
2589 .B recipients-in-cc
2590 On group replies, specify only the sender of the original mail
2591 in \fI`To:'\fR and mention it's other recipients in the secondary
2592 \fI`Cc:'\fR.
2594 .B record-resent
2595 If both this variable and the
2596 .I record
2597 variable are set,
2599 .I resend
2601 .I Resend
2602 commands save messages to the
2603 .I record
2604 folder as it is normally only done for newly composed messages.
2606 .B reply-in-same-charset
2607 If this variable is set,
2608 \*(UA first tries to use the same character set
2609 of the original message for replies.
2610 If this fails,
2612 .I sendcharsets
2613 variable is evaluated as usual.
2615 .B Replyall
2616 Reverses the sense of reply and Reply commands.
2618 .B rfc822-no-body-from_
2619 By default \*(UA shows a so-called "From " line when a message contains
2620 another message via the message/rfc822 MIME mechanism.
2621 This may be misleading since it intransparently adds content on the
2622 one hand,
2623 and also silently maps any missing information from the envelope mail
2624 onto the embedded one on the other.
2625 If this value is set then no "From " line is shown for embedded
2626 message/rfc822 mail messages.
2628 .B rfc822-show-all
2629 Messages or MIME message parts that embed complete mail messages via the
2630 message/rfc822 MIME mechanism do not print/show/quote headers of the
2631 embedded message but after filtering them through the normal mechanism.
2632 If this value is set then an embedded mail is treated as a unity.
2634 .B save
2635 When the user aborts a message
2636 with two RUBOUT (interrupt characters)
2637 \*(UA copies the partial letter
2638 to the file `dead.letter' in the home directory.
2639 This option is set by default.
2641 .B searchheaders
2642 If this option is set, then
2643 a message-list specifier in the form `\fI/x:y\fR'
2644 will expand to all messages containing
2645 the substring `\fIy\fR' in the header field `\fIx\fR'.
2646 The string search is case insensitive.
2648 .B sendwait
2649 When sending a message,
2650 wait until the mail-transfer-agent exits
2651 before accepting further commands.
2652 If the mail-transfer-agent returns a non-zero exit status,
2653 the exit status of \*(ua will also be non-zero.
2655 .B showlast
2656 Setting this option causes \*(UA to start at the
2657 last message instead of the first one when opening a mail folder.
2659 .B showname
2660 Causes \*(UA
2661 to use the sender's real name instead of the plain address
2662 in the header field summary and in message specifications.
2664 .B showto
2665 Causes the recipient of the message to be shown in the header summary
2666 if the message was sent by the user.
2668 .B skipemptybody
2669 If an outgoing message does not contain any text
2670 in its first or only message part,
2671 do not send it but discard it silently
2672 (see also the
2673 .I \-E
2674 option).
2676 .B smime-force-encryption
2677 Causes \*(UA
2678 to refuse sending unencrypted messages.
2680 .B smime-sign
2681 If this variable is set,
2682 outgoing messages are S/MIME signed with the user's private key.
2683 Signing a message enables a recipient to verify
2684 that the sender used a valid certificate,
2685 that the email addresses in the certificate
2686 match those in the message header,
2687 and that the message content has not been altered.
2688 It does not change the message text,
2689 and people will be able to read the message as usual.
2691 .B smime-no-default-ca
2692 Do not load the default CA locations
2693 when verifying S/MIME signed messages.
2694 Only applicable if S/MIME support is built using OpenSSL.
2696 .B smtp-use-starttls
2697 Causes \*(UA to issue a STARTTLS command
2698 to make an SMTP session SSL/TLS encrypted.
2699 Not all servers support this command;
2700 because of common implementation defects,
2701 it cannot be automatically determined
2702 whether a server supports it or not.
2704 .B ssl-no-default-ca
2705 Do not load the default CA locations
2706 to verify SSL/TLS server certificates.
2707 Only applicable if SSL/TLS support is built using OpenSSL.
2709 .B ssl-v2-allow
2710 Accept SSLv2 connections.
2711 These are normally not allowed
2712 because this protocol version is insecure.
2714 .B verbose
2715 Setting the option verbose is the same
2716 as using the \-v flag on the command line.
2717 When \*(UA runs in verbose mode,
2718 details of the actual message delivery
2719 and protocol conversations for IMAP, POP3, and SMTP,
2720 as well as of other internal processes,
2721 are displayed on the user's terminal,
2722 This is sometimes useful to debug problems.
2723 \*(UA prints all data that is sent to remote servers in clear texts,
2724 including passwords,
2725 so care should be taken that no unauthorized option
2726 can view the screen if this option is enabled.
2728 .B writebackedited
2729 If this variable is set,
2730 messages modified using the
2731 .I edit
2733 .I visual
2734 commands are written back to the current folder when it is quit.
2735 This is only possible for writable folders in
2736 .I mbox
2737 format.
2738 Setting this variable also disables
2739 MIME decoding and decryption for the editing commands.
2740 .SS "String Options"
2742 The string options include the following:
2744 .B attrlist
2745 A sequence of characters to print in the `attribute'
2746 column of a header summary,
2747 each for one type of messages in the following order:
2748 new,
2749 unread but old,
2750 new but read,
2751 read and old,
2752 saved,
2753 preserved,
2754 mboxed,
2755 flagged,
2756 answered,
2757 draft,
2758 killed,
2759 start of a collapsed thread,
2760 collapsed,
2761 classified as junk.
2762 The default is `NUROSPMFATK+\-J',
2763 or `NU\ \ *HMFATK+\-J' if
2764 .I bsdflags
2765 or the
2766 .I SYSV3
2767 environment variable
2768 are set.
2770 .B autobcc
2771 Specifies a list of recipients to which
2772 a blind carbon copy of each outgoing message
2773 will be sent automatically.
2775 .B autocc
2776 Specifies a list of recipients to which
2777 a carbon copy of each outgoing message
2778 will be sent automatically.
2780 .B autosort
2781 Causes sorted mode (see the
2782 .I sort
2783 command) to be entered automatically
2784 with the value of this option as sorting method
2785 when a folder is opened.
2787 .B cmd
2788 The default value for the \fIpipe\fR command.
2790 .B crt
2791 The valued option crt is used as a threshold
2792 to determine how long a message must be
2793 before PAGER is used to read it.
2794 If crt is set without a value,
2795 then the height of the terminal screen stored in the system
2796 is used to compute the threshold (see
2797 .IR stty (1)).
2799 .B DEAD
2800 The name of the file to use
2801 for saving aborted messages.
2802 This defaults to `dead.letter'
2803 in the user's home directory.
2805 .B EDITOR
2806 Pathname of the text editor to use
2807 in the edit command and ~e escape.
2808 If not defined,
2809 then a default editor is used.
2811 .B encoding
2812 The default MIME encoding to use
2813 in outgoing text messages and message parts.
2814 Valid values are \fI8bit\fR or \fIquoted-printable\fR.
2815 The default is \fI8bit\fR.
2816 In case the mail transfer system
2817 is not ESMTP compliant,
2818 \fIquoted-printable\fR should be used instead.
2819 If there is no need to encode a message,
2820 \fI7bit\fR transfer mode is used,
2821 without regard to the value of this variable.
2822 Binary data is always encoded in \fIbase64\fR mode.
2824 .B escape
2825 If defined, the first character of this option
2826 gives the character to use in the place of ~ to denote escapes.
2828 .B folder
2829 The name of the directory to use
2830 for storing folders of messages.
2831 All folder names that begin with `+'
2832 refer to files below that directory.
2833 If the directory name begins with a `/',
2834 \*(UA considers it to be an absolute pathname;
2835 otherwise, the folder directory is found
2836 relative to the user's home directory.
2838 The directory name may also refer to an IMAP account;
2839 any names that begin with `+'
2840 then refer to IMAP mailboxes on that account.
2841 An IMAP folder is normally given in the form
2844     imaps://mylogin@imap.myisp.example
2847 In this case,
2848 the `+' and `@' prefixes for folder names
2849 have the same effect
2850 (see the
2851 .I folder
2852 command).
2854 Some IMAP servers do not accept the creation of mailboxes
2855 in the hierarchy base;
2856 they require that they are created as subfolders of `INBOX'.
2857 With such servers,
2858 a folder name of the form
2861     imaps://mylogin@imap.myisp.example/INBOX.\&
2864 should be used
2865 (the last character is the server's hierarchy delimiter).
2866 Folder names prefixed by `+' will then refer to folders below `INBOX',
2867 while folder names prefixed by `@'
2868 refer to folders below the hierarchy base.
2869 See the
2870 .I imap namespace
2871 command for a method to detect the appropriate prefix and delimiter.
2873 .B folder-hook
2874 When a folder is opened and this variable is set,
2875 the macro corresponding to the value of this variable is executed.
2876 The macro is also invoked when new mail arrives,
2877 but message lists for commands executed from the macro
2878 only include newly arrived messages then.
2880 \fBfolder-hook-\fIfullname\fR
2881 When a folder named
2882 .I fullname
2883 is opened,
2884 the macro corresponding to the value of this variable is executed.
2885 Unlike other folder specifications,
2886 the fully expanded name of a folder, without metacharacters,
2887 is used to avoid ambiguities.
2888 The macro specified with
2889 .I folder-hook
2890 is not executed if this variable is effective for a folder
2891 (unless it is explicitly invoked within the called macro).
2893 .B from
2894 The address (or a list of addresses)
2895 to put into the \fI`From:'\fR field of the message header.
2896 If replying to a message,
2897 these addresses are handled as if they were in the alternates list.
2898 .\" If this variable is set,
2899 .\" a \fI`Sender:'\fR field containing the user's name
2900 .\" is also generated,
2901 .\" unless the variable \fIsmtp\fR is set
2902 .\" and its value differs from \fIlocalhost\fR.
2903 If the machine's hostname is not valid at the Internet
2904 (for example at a dialup machine),
2905 either this variable or
2906 .I hostname
2907 have to be set or \*(UA will not generate Message-ID header fields
2908 but leave that task up to a (obviously present) local Mail Transfer
2909 Agent (MTA).
2911 .I from
2912 contains more than one address,
2914 .I sender
2915 variable must also be set.
2917 .B fwdheading
2918 The string to print before the text of a message
2919 with the
2920 .I forward
2921 command
2922 (unless the
2923 .I forward-as-attachment
2924 variable is set).
2925 Defaults to ``-------- Original Message --------'' if unset.
2926 If it is set to the empty string,
2927 no heading is printed.
2929 .B headline
2930 A format string to use for the header summary,
2931 similar to
2932 .I printf
2933 formats.
2934 A `%' character introduces a format specifier.
2935 It may be followed by a number indicating the field width.
2936 If the field is a number,
2937 the width may be negative,
2938 which indicates that it is to be left-aligned.
2939 Valid format specifiers are:
2941 .in +4m
2943 l4fB l.
2944 %a      Message attributes.
2945 %c      The score of the message.
2946 %d      The date when the message was received.
2947 %e      The indenting level in threaded mode.
2948 %f      The address of the message sender.
2949 %i      The message thread structure.
2950 %l      The number of lines of the message.
2951 %m      Message number.
2952 %o      The number of octets (bytes) in the message.
2953 %s      Message subject (if any).
2954 %S      Message subject (if any) in double quotes.
2955 %t      The position in threaded/sorted order.
2956 %>      A `>' for the current message, otherwise ` '.
2957 %<      A `<' for the current message, otherwise ` '.
2958 %%      A `%' character.
2960 .in -4m
2962 The default is `%>\&%a\&%m\ %18f\ %16d\ %4l/%\-5o\ %i%s',
2963 or `%>\&%a\&%m\ %20f\ \ %16d\ %3l/%\-5o\ %i%S' if
2964 .I bsdcompat
2965 is set.
2967 .B hostname
2968 Use this string as hostname
2969 when expanding local addresses instead of the value obtained from
2970 .IR uname (2)
2972 .IR getaddrinfo (3).
2973 Note that this must be set explicitly to become used for the
2974 generation of Message-ID fields.
2976 .B imap-auth
2977 Sets the IMAP authentication method.
2978 Valid values are `login' for the usual password-based authentication
2979 (the default),
2980 `cram-md5', which is a password-based authentication
2981 that does not send the password over the network in clear text,
2982 and `gssapi' for GSSAPI-based authentication.
2984 \fBimap-auth-\fIuser\fB@\fIhost\fR
2985 Sets the IMAP authentication method for a specific account.
2987 .B imap-cache
2988 Enables caching of IMAP mailboxes.
2989 The value of this variable must point to a directory
2990 that is either existent or can be created by \*(UA.
2991 All contents of the cache can be deleted by \*(UA
2992 at any time;
2993 it is not safe to make assumptions about them.
2995 .B imap-keepalive
2996 IMAP servers may close the connection
2997 after a period of inactivity;
2998 the standard requires this to be at least 30 minutes,
2999 but practical experience may vary.
3000 Setting this variable to a numeric
3001 .I value
3002 greater than 0
3003 causes a NOOP command to be sent each
3004 .I value
3005 seconds if no other operation is performed.
3007 .B imap-list-depth
3008 When retrieving the list of folders on an IMAP server, the
3009 .I folders
3010 command stops after it has reached a certain depth
3011 to avoid possible infinite loops.
3012 The value of this variable sets the maximum depth allowed.
3013 The default is 2.
3014 If the folder separator on the current IMAP server is a slash `/',
3015 this variable has no effect,
3016 and the
3017 .I folders
3018 command does not descend to subfolders.
3020 .B indentprefix
3021 String used by the `\fI~m\fR' and `\fI~M\fR' tilde escapes
3022 and by the \fIquote\fR option
3023 for indenting messages,
3024 in place of the normal tab character (^I).
3025 Be sure to quote the value
3026 if it contains spaces or tabs.
3028 .B junkdb
3029 The location of the junk mail database.
3030 The string is treated like a folder name,
3031 as described for the
3032 .I folder
3033 command.
3035 The files in the junk mail database are normally stored in
3036 .IR compress (1)
3037 format for saving space.
3038 If processing time is considered more important,
3039 .IR uncompress (1)
3040 can be used to store them in plain form.
3041 \*(UA will then work using the uncompressed files.
3043 .B LISTER
3044 Pathname of the directory lister
3045 to use in the
3046 .I folders
3047 command
3048 when operating on local mailboxes.
3049 Default is /bin/ls.
3051 .B MAIL
3052 Is used as the user's mailbox, if set.
3053 Otherwise, a system-dependent default is used.
3054 Can be a
3055 \fIprotocol\fB://\fR
3056 string (see the
3057 .I folder
3058 command for more information).
3060 .B MBOX
3061 The name of the mbox file.
3062 It can be the name of a folder.
3063 The default is `\fImbox\fR' in the user's home directory.
3065 .B NAIL_EXTRA_RC
3066 The name of an optional startup file to be read after \*(ur.
3067 This variable is ignored if it is imported from the environment;
3068 it has an effect only if it is set in \*(UR or \*(ur to allow bypassing the
3069 configuration with e. g. `MAILRC=/dev/null'.
3070 Use this file for commands that are not understood by other \*(UA
3071 implementations.
3073 .B NAIL_HEAD
3074 A string to put at the beginning of each new message.
3075 The escape sequences `\fB\et\fR' (tabulator) and `\fB\en\fR' (newline)
3076 are understood.
3078 .B NAIL_TAIL
3079 A string to put at the end of each new message.
3080 The escape sequences `\fB\et\fR' (tabulator) and `\fB\en\fR' (newline)
3081 are understood.
3083 .B maximum-unencoded-line-length
3084 Messages that contain lines longer than the value of this variable
3085 are encoded in quoted-printable
3086 even if they contain only ASCII characters.
3087 The maximum effective value is 950.
3088 If set to 0,
3089 all ASCII text messages are encoded in quoted-printable.
3090 S/MIME signed messages are always encoded
3091 in quoted-printable regardless of the value of this variable.
3093 .B newfolders
3094 If this variable has the value
3095 .BR maildir ,
3096 newly created local folders will be in
3097 .I maildir
3098 format.
3100 .B nss-config-dir
3101 A directory that contains the files
3102 .RI cert N .db
3103 to retrieve certificates,
3104 .RI key N .db
3105 to retrieve private keys,
3106 and secmod.db,
3107 where
3108 .I N
3109 is a digit.
3110 These are usually taken from Mozilla installations,
3111 so an appropriate value might be
3112 `~/.mozilla/firefox/default.clm'.
3113 \*(UA opens these files read-only
3114 and does not modify them.
3115 However, if the files are modified by Mozilla
3116 while \*(UA is running,
3117 it will print a `Bad database' message.
3118 It may be necessary to create copies of these files
3119 that are exclusively used by \*(UA then.
3120 Only applicable if S/MIME and SSL/TLS support is built using
3121 Network Security Services (NSS).
3123 .B ORGANIZATION
3124 The value to put into the \fI`Organization:'\fR field of the message header.
3126 .B PAGER
3127 Pathname of the program to use
3128 in the more command
3129 or when crt variable is set.
3130 The default paginator
3131 .IR pg (1)
3132 or, in BSD compatibility mode,
3133 .IR more (1)
3134 is used
3135 if this option is not defined.
3137 \fBpassword-\fIuser\fB@\fIhost\fR
3138 Set the password for
3139 .I user
3140 when connecting to
3141 .IR host .
3142 If no such variable is defined for a host,
3143 the user will be asked for a password on standard input.
3144 Specifying passwords in a startup file
3145 is generally a security risk,
3146 the file should be readable
3147 by the invoking user only.
3149 .BI pipe- content/subcontent
3150 When a MIME message part of
3151 .I content/subcontent
3152 type is displayed or it is replied to,
3153 its text is filtered through the value of this variable
3154 interpreted as a shell command.
3155 Special care must be taken when using such commands
3156 as mail viruses may be distributed by this method;
3157 if messages of type
3158 .I application/x-sh
3159 were filtered through the shell, for example,
3160 a message sender could easily execute arbitrary code
3161 on the system \*(UA is running on.
3163 .B pop3-keepalive
3164 POP3 servers may close the connection
3165 after a period of inactivity;
3166 the standard requires this to be at least 10 minutes,
3167 but practical experience may vary.
3168 Setting this variable to a numeric
3169 .I value
3170 greater than 0
3171 causes a NOOP command to be sent each
3172 .I value
3173 seconds if no other operation is performed.
3175 .B prompt
3176 The string printed when a command is accepted.
3177 Defaults to `\fB?\ \fR',
3178 or to `\fB&\ \fR' if the
3179 .I bsdcompat
3180 variable is set.
3182 .B quote
3183 If set, \*(UA starts a replying message with the original message
3184 prefixed by the value of the variable \fIindentprefix\fR.
3185 Normally, a heading consisting of `Fromheaderfield wrote:' is printed
3186 before the quotation.
3187 If the string \fInoheading\fR is assigned to the \fIquote\fR variable,
3188 this heading is omitted.
3189 If the string \fIheaders\fR is assigned,
3190 the headers selected by the ignore/retain commands
3191 are printed above the message body,
3192 thus \fIquote\fR acts like an automatic ~m command then.
3193 If the string \fIallheaders\fR is assigned,
3194 all headers are printed above the message body,
3195 and all MIME parts are included,
3196 thus \fIquote\fR acts like an automatic ~M command then.
3198 .B quote-fold
3199 If set in addition to \fIindentprefix\fR, \*(UA interprets this
3200 number as the maximum line length of the quotation when replying to a
3201 message.
3202 Setting this turns on a more fancy quotation algorithm in that leading
3203 quotation characters are compressed and overlong lines are folded to
3204 \fIquote-fold\fR characters each, breaking at whitespace as necessary
3205 and starting the follow lines with fillers to pad up to the last
3206 quotation markers width.
3207 The value of \fIquote-fold\fR can't be smaller than the length of
3208 \fIindentprefix\fR plus some additional pad.  It is automatically
3209 adjusted to the minimum as necessary.
3211 .B record
3212 If defined, gives the pathname of the folder
3213 used to record all outgoing mail.
3214 If not defined,
3215 then outgoing mail is not so saved.
3216 When saving to this folder fails,
3217 the message is not sent
3218 but saved to the `dead.letter' file instead.
3220 .B replyto
3221 A list of addresses to put into the \fI`Reply-To:'\fR field
3222 of the message header.
3223 If replying to a message, such addresses are handled
3224 as if they were in the alternates list.
3226 .B screen
3227 When \*(UA initially prints the message headers,
3228 it determines the number to print
3229 by looking at the speed of the terminal.
3230 The faster the terminal, the more it prints.
3231 This option overrides this calculation
3232 and specifies how many message headers
3233 are printed.
3234 This number is also used
3235 for scrolling with the z command.
3237 .B sendcharsets
3238 A comma-separated list of character set names
3239 that can be used in Internet mail.
3240 When a message that contains characters not representable in US-ASCII
3241 is prepared for sending,
3242 \*(UA tries to convert its text
3243 to each of the given character sets in order
3244 and uses the first appropriate one.
3245 The default is `utf-8'.
3247 Character sets assigned to this variable should be ordered
3248 in ascending complexity.
3249 That is, the list should start with e.\|g.
3250 `iso-8859-1' for compatibility with older mail clients,
3251 might contain some other language-specific character sets,
3252 and should end with `utf-8'
3253 to handle messages that combine texts in multiple languages.
3255 .B sender
3256 An address that is put into the `Sender:' field
3257 of outgoing messages.
3258 This field needs not normally be present.
3259 It is, however, required
3260 if the `From:' field contains more than one address.
3261 It can also be used to indicate that a message
3262 was sent on behalf of somebody other;
3263 in this case, `From:' should contain the address
3264 of the person that took responsibility for the message,
3265 and `Sender:' should contain the address
3266 of the person that actually sent the message.
3268 .I sender
3269 address is handled as if it were in the
3270 .I alternates
3271 list.
3273 .B sendmail
3274 To use an alternate mail delivery system,
3275 set this option to the full pathname of the program to use.
3277 .B SHELL
3278 Pathname of the shell to use
3279 in the ! command and the ~! escape.
3280 A default shell is used
3281 if this option is not defined.
3283 .B Sign
3284 A string for use with the
3285 .I ~A
3286 command.
3288 .B sign
3289 A string for use with the
3290 .I ~a
3291 command.
3293 .B signature
3294 Must correspond to the name of a readable file if set.
3295 The file's content is then appended to each singlepart message
3296 and to the first part of each multipart message.
3297 Be warned that there is no possibility
3298 to edit the signature for an individual message.
3300 .B smime-ca-dir
3301 Specifies a directory with CA certificates for verification
3302 of S/MIME signed messages.
3303 The format is the same as described in
3304 .IR SSL_CTX_load_verify_locations (3).
3305 Only applicable if S/MIME support is built using OpenSSL.
3307 .B smime-ca-file
3308 Specifies a file with CA certificates for verification
3309 of S/MIME signed messages.
3310 The format is the same as described in
3311 .IR SSL_CTX_load_verify_locations (3).
3312 Only applicable if S/MIME support is built using OpenSSL.
3314 \fBsmime-cipher-\fIuser@host\fR
3315 Specifies a cipher to use when generating S/MIME encrypted messages
3317 .IR user@host .
3318 Valid ciphers are
3319 .B rc2-40
3320 (RC2 with 40 bits),
3321 .B rc2-64
3322 (RC2 with 64 bits),
3323 .B des
3324 (DES, 56 bits)
3326 .B des-ede3
3327 (3DES, 112/168 bits).
3328 The default is 3DES.
3329 It is not recommended to use the other ciphers
3330 unless a recipient's client is actually unable to handle 3DES
3331 since they are comparatively weak;
3332 but even so, the recipient should upgrade his software in preference.
3334 .B smime-crl-file
3335 Specifies a file that contains a CRL in PEM format
3336 to use when verifying S/MIME messages.
3337 Only applicable if S/MIME support is built using OpenSSL.
3339 .B smime-crl-dir
3340 Specifies a directory that contains files with CRLs in PEM format
3341 to use when verifying S/MIME messages.
3342 Only applicable if S/MIME support is built using OpenSSL.
3344 \fBsmime-encrypt-\fIuser@host\fR
3345 If this variable is set,
3346 messages to
3347 .I user@host
3348 are encrypted before sending.
3349 If S/MIME support is built using OpenSSL,
3350 the value of the variable must be set to the name of a file
3351 that contains a certificate in PEM format.
3352 If S/MIME support is built using NSS,
3353 the value of this variable is ignored,
3354 but if multiple certificates for
3355 .I user@host
3356 are available, the
3357 .I smime-nickname-user@host
3358 variable should be set.
3359 Otherwise a certificate for the recipient
3360 is automatically retrieved from the certificate database,
3361 if possible.
3363 If a message is sent to multiple recipients,
3364 each of them for whom a corresponding variable is set
3365 will receive an individually encrypted message;
3366 other recipients will continue to receive the message in plain text
3367 unless the
3368 .I smime-force-encryption
3369 variable is set.
3370 It is recommended to sign encrypted messages,
3371 i.\|e. to also set the
3372 .I smime-sign
3373 variable.
3375 \fBsmime-nickname-\fIuser@host\fR
3376 Specifies the nickname of a certificate
3377 to be used when encrypting messages for
3378 .I user@host .
3379 Only applicable if S/MIME support is built using NSS.
3381 .B smime-sign-cert
3382 Points to a file in PEM format
3383 that contains the user's private key
3384 as well as his certificate.
3385 Both are used with S/MIME
3386 for signing and decrypting messages.
3387 Only applicable if S/MIME support is built using OpenSSL.
3389 \fBsmime-sign-cert-\fIuser@host\fR
3390 Overrides
3391 .I smime-sign-cert
3392 for the specific addresses.
3393 When signing messages and the value of the
3394 .I from
3395 variable is set
3397 .IR user@host ,
3398 the specific file is used.
3399 When decrypting messages,
3400 their recipient fields (To: and Cc:) are searched for addresses
3401 for which such a variable is set.
3402 \*(UA always uses the first address that matches,
3403 so if the same message is sent to more than one
3404 of the user's addresses using different encryption keys,
3405 decryption might fail.
3406 Only applicable if S/MIME support is built using OpenSSL.
3408 .B smime-sign-include-certs
3409 If used, this must be set to a comma-separated list of files,
3410 each of which containing a single certificate in PEM format
3411 to be included in the S/MIME message in addition to the
3412 .IR smime-sign-cert
3413 certificate.
3414 This is most useful for long certificate chains if it is
3415 desired to aid the receiving party's verification process.
3416 Only applicable if S/MIME support is built using OpenSSL.
3418 \fBsmime-sign-include-certs-\fIuser@host\fR
3419 Overrides
3420 .I smime-sign-include-certs
3421 for the specific addresses.
3422 Refer to the discussion of \fBsmime-sign-cert-\fIuser@host\fR
3423 for more on this topic.
3425 .B smime-sign-nickname
3426 Specifies that the named certificate be used for signing mail.
3427 If this variable is not set,
3428 but a single certificate matching the current
3429 .I from
3430 address is found in the database,
3431 that one is used automatically.
3432 Only applicable if S/MIME support is built using NSS.
3434 \fBsmime-sign-nickname-\fIuser@host\fR
3435 Overrides
3436 .I smime-sign-nickname
3437 for a specific address.
3438 Only applicable if S/MIME support is built using NSS.
3440 .B smtp
3441 Normally, \*(UA invokes \fIsendmail(1)\fR directly to transfer messages.
3442 If the \fIsmtp\fR variable is set, a SMTP connection to the server
3443 specified by the value of this variable is used instead.
3444 If the SMTP server does not use the standard port,
3445 a value of \fIserver:port\fR can be given,
3446 with \fIport\fR as a name or as a number.
3448 There are two possible methods to get SSL/TLS encrypted SMTP sessions:
3449 First, the STARTTLS command can be used to encrypt a session
3450 after it has been initiated,
3451 but before any user-related data has been sent; see
3452 .I \%smtp-use-starttls
3453 above.
3454 Second, some servers accept sessions that are encrypted
3455 from their beginning on. This mode is configured by assigning
3456 \fBsmtps://\fIserver\fR[\fB:\fIport\fR]
3457 to the
3458 .I smtp
3459 variable.
3461 The SMTP transfer is executed in a child process;
3462 unless either the
3463 .I sendwait
3464 or the
3465 .I verbose
3466 variable is set,
3467 this process runs asynchronously.
3468 If it receives a TERM signal,
3469 it will abort and save the message to the `dead.letter' file.
3471 .B smtp-auth
3472 Sets the SMTP authentication method.
3473 If set to `login',
3474 or if unset and smtp-auth-user is set,
3475 AUTH LOGIN is used.
3476 If set to `cram-md5',
3477 AUTH CRAM-MD5 is used;
3478 if set to `plain',
3479 AUTH PLAIN is used.
3480 Otherwise,
3481 no SMTP authentication is performed.
3483 \fBsmtp-auth-\fIuser\fB@\fIhost\fR
3484 Overrides
3485 .I smtp-auth
3486 for specific values of sender addresses,
3487 depending on the
3488 .I from
3489 variable.
3491 .B smtp-auth-password
3492 Sets the global password for SMTP AUTH.
3493 Both user and password have to be given
3494 for AUTH LOGIN and AUTH CRAM-MD5.
3496 \fBsmtp-auth-password-\fIuser\fB@\fIhost\fR
3497 Overrides
3498 .I smtp-auth-password
3499 for specific values of sender addresses,
3500 depending on the
3501 .I from
3502 variable.
3504 .B smtp-auth-user
3505 Sets the global user name for SMTP AUTH.
3506 Both user and password have to be given
3507 for AUTH LOGIN and AUTH CRAM-MD5.
3509 If this variable is set but neither
3510 .I smtp-auth-password
3511 or a matching
3512 .I smtp-auth-password-user@host
3513 can be found,
3514 \*(UA will as for a password on the user's terminal.
3516 \fBsmtp-auth-user-\fIuser\fB@\fIhost\fR
3517 Overrides
3518 .I smtp-auth-user
3519 for specific values of sender addresses,
3520 depending on the
3521 .I from
3522 variable.
3524 .B ssl-ca-dir
3525 Specifies a directory with CA certificates for verification
3526 of SSL/TLS server certificates.
3528 .IR SSL_CTX_load_verify_locations (3)
3529 for more information.
3530 Only applicable if SSL/TLS support is built using OpenSSL.
3532 .B ssl-ca-file
3533 Specifies a file with CA certificates for verification
3534 of SSL/TLS server certificates.
3536 .IR SSL_CTX_load_verify_locations (3)
3537 for more information.
3538 Only applicable if SSL/TLS support is built using OpenSSL.
3540 .B ssl-cert
3541 Sets the file name 
3542 for a SSL/TLS client certificate
3543 required by some servers.
3544 Only applicable if SSL/TLS support is built using OpenSSL.
3546 \fBssl-cert-\fIuser\fB@\fIhost\fR
3547 Sets an account-specific file name
3548 for a SSL/TLS client certificate
3549 required by some servers.
3550 Overrides
3551 .I ssl-cert
3552 for the specified account.
3553 Only applicable if SSL/TLS support is built using OpenSSL.
3555 .B ssl-cipher-list
3556 Specifies a list of ciphers for SSL/TLS connections.
3557 See ciphers(1) for more information.
3558 Only applicable if SSL/TLS support is built using OpenSSL.
3560 .B ssl-crl-file
3561 Specifies a file that contains a CRL in PEM format
3562 to use when verifying SSL/TLS server certificates.
3563 Only applicable if SSL/TLS support is built using OpenSSL.
3565 .B ssl-crl-dir
3566 Specifies a directory that contains files with CRLs in PEM format
3567 to use when verifying SSL/TLS server certificates.
3568 Only applicable if SSL/TLS support is built using OpenSSL.
3570 .B ssl-key
3571 Sets the file name
3572 for the private key of a SSL/TLS client certificate.
3573 If unset, the name of the certificate file is used.
3574 The file is expected to be in PEM format.
3575 Only applicable if SSL/TLS support is built using OpenSSL.
3577 \fBssl-key-\fIuser\fB@\fIhost\fR
3578 Sets an account-specific file name
3579 for the private key of a SSL/TLS client certificate.
3580 Overrides
3581 .I ssl-key
3582 for the specified account.
3583 Only applicable if SSL/TLS support is built using OpenSSL.
3585 .B ssl-method
3586 Selects a SSL/TLS protocol version;
3587 valid values are `ssl2', `ssl3', and `tls1'.
3588 If unset, the method is selected automatically,
3589 if possible.
3591 \fBssl-method-\fIuser\fB@\fIhost\fR
3592 Overrides
3593 .I ssl-method
3594 for a specific account.
3596 .B ssl-rand-egd
3597 Gives the pathname to an entropy daemon socket,
3599 .IR RAND_egd (3).
3601 .B ssl-rand-file
3602 Gives the pathname to a file with entropy data,
3604 .IR RAND_load_file (3).
3605 If the file is a regular file writable by the invoking user,
3606 new data is written to it after it has been loaded.
3607 Only applicable if SSL/TLS support is built using OpenSSL.
3609 .B ssl-verify
3610 Sets the action to be performed if an error occurs
3611 during SSL/TLS server certificate validation.
3612 Valid values are
3613 `strict' (fail and close connection immediately),
3614 `ask' (ask whether to continue on standard input),
3615 `warn' (print a warning and continue),
3616 `ignore' (do not perform validation).
3617 The default is `ask'.
3619 \fBssl-verify-\fIuser\fB@\fIhost\fR
3620 Overrides
3621 .I ssl-verify
3622 for a specific account.
3624 .B stealthmua
3625 If only set without a value assigned, then this option inhibits the
3626 generation of the \fI`Message-Id:'\fR and \fI`User-Agent:'\fR
3627 header fields that include obvious references to \*(UA.
3628 There are two pitfalls associated with this:
3629 First, the message id of outgoing messages is not known anymore.
3630 Second, an expert may still use the remaining information in the header
3631 to track down the originating mail user agent.
3632 If set to the value `noagent', then the mentioned \fI`Message-Id:'\fR
3633 suppression doesn't occur.
3635 .B toplines
3636 If defined, gives the number of lines
3637 of a message to be printed out
3638 with the top command;
3639 normally, the first five
3640 lines are printed.
3642 .B ttycharset
3643 The character set of the terminal \*(UA operates on.
3644 There is normally no need to set this variable
3645 since \*(UA can determine this automatically
3646 by looking at the LC_CTYPE locale setting;
3647 if this succeeds, the value is assigned at startup
3648 and will be displayed by the \fIset\fP command.
3649 Note that this is not necessarily a character set name
3650 that can be used in Internet messages.
3652 .B VISUAL
3653 Pathname of the text editor to use
3654 in the visual command and ~v escape.
3655 .SH ENVIRONMENT VARIABLES
3656 Besides the variables described above, \*(UA uses
3657 the following environment strings:
3659 .B HOME
3660 The user's home directory.
3662 \fBLANG\fR, \fBLC_ALL\fR, \fBLC_COLLATE\fR, \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR
3664 .IR locale (7).
3666 .B MAILRC
3667 Is used as a startup file instead of \*(ur if set.
3668 When \*(UA scripts are invoked on behalf of other users,
3669 this variable should be set to `/dev/null' to avoid side-effects from
3670 reading their configuration files.
3672 .B NAILRC
3673 If this variable is set and
3674 .I MAILRC
3675 is not set,
3676 it is read as startup file.
3678 .B SYSV3
3679 Changes the letters printed in the first column of a header summary.
3681 .B TMPDIR
3682 Used as directory for temporary files instead of /tmp, if set.
3683 .SH FILES
3685 \*(ur
3686 File giving initial commands.
3688 \*(UR
3689 System wide initialization file.
3691 ~/.mime.types
3692 Personal MIME types.
3694 /etc/mime.types
3695 System wide MIME types.
3696 .SH EXAMPLES
3697 .SS "Getting started"
3698 The \*(UA
3699 command has two distinct usages, according to whether one
3700 wants to send or receive mail.
3701 Sending mail is simple: to send a
3702 message to a user whose email address is, say,
3703 <bill@host.example>,
3704 use the shell
3705 command:
3708     $ \*(ba\fI bill@host.example\fR
3711 then type your message.
3712 \*(UA will prompt you for a message
3713 .I subject 
3714 first;
3715 after that, lines typed by you form the body of the message.
3716 When you reach the end of the message, type
3717 an EOT (control\-d) at the beginning of a line, which will cause
3718 \*(UA to echo `EOT' and return you to the shell.
3720 If, while you are composing the message
3721 you decide that you do not wish to send it after all, you can
3722 abort the letter with a \s-2RUBOUT\s0.  Typing a single \s-2RUBOUT\s0
3723 causes \*(UA
3724 to print `(Interrupt -- one more to kill letter)'.
3725 Typing a second
3726 \s-2RUBOUT\s0 causes \*(UA
3727 to save your partial letter on the file `dead.letter'
3728 in your home directory and abort the letter.
3729 Once you have
3730 sent mail to someone, there is no way to undo the act, so be
3731 careful.
3733 If you want to send the same message to several other people,
3734 you can list their email addresses on the command line.
3735 Thus,
3738     $ \*(ba\fI sam@workstation.example bob@server.example\fR
3739     Subject: Fees
3740     Tuition fees are due next Friday.  Don't forget!
3741     <Control\-d>
3742     EOT
3743     $
3746 will send the reminder to \fI<sam@workstation.example>\fR.
3748 \fI<bob@server.example>\fR.
3750 To read your mail, simply type
3753     $ \*(ba
3756 \*(UA
3757 will respond by typing its version number and date and then listing
3758 the messages you have waiting.
3759 Then it will type a prompt and await your command.
3760 The messages are assigned numbers starting with 1\(emyou
3761 refer to the messages with these numbers.
3762 \*(UA keeps track of which messages are
3763 .I new
3764 (have been sent since you last read your mail) and
3765 .I read
3766 (have been read by you).  New messages have an
3767 .B N
3768 next to them in the header listing and old, but unread messages have
3770 .B U
3771 next to them.
3772 \*(UA keeps track of new/old and read/unread messages by putting a
3773 header field called
3774 .I Status
3775 into your messages.
3777 To look at a specific message, use the
3778 .I type
3779 command, which may be abbreviated to simply \fIt\fR.
3780 For example, if you had the following messages:
3783     O 1 drfoo@myhost.example Wed Sep  1 19:52  18/631 "Fees"
3784     O 2 sam@friends.example  Thu Sep  2 00:08  30/895
3787 you could examine the first message by giving the command:
3790     \fBtype\fR 1
3793 which might cause \*(UA to respond with, for example:
3796     Message  1:
3797     From drfoo@myhost.example Wed Sep  1 19:52:25 2004
3798     Subject: Fees
3799     Status: R
3801     Tuition fees are due next Wednesday.  Don't forget!
3805 Many \*(UA
3806 commands that operate on messages take a message number as an
3807 argument like the
3808 .I type
3809 command.
3810 For these commands, there is a notion of a current message.
3811 When you enter the \*(UA
3812 program, the current message is initially the first
3813 (or the first recent) one.
3814 Thus, you can often omit the message number and use, for example,
3817     \fBt\fR
3820 to type the current message.
3821 As a further shorthand, you can type a message
3822 by simply giving its message number.
3823 Hence,
3826     1
3829 would type the first message.
3831 Frequently, it is useful to read the messages in your mailbox in order,
3832 one after another.
3833 You can read the next message in \*(UA
3834 by simply typing a newline.
3835 As a special case, you can type a newline as your first command to
3836 \*(UA to type the first message.
3838 If, after typing a message, you wish to immediately send a reply,
3839 you can do so with the
3840 .I reply
3841 command.
3842 This command,
3843 like
3844 .IR type ,
3845 takes a message number as an argument.
3846 \*(UA
3847 then begins a message addressed to the user who sent you the message.
3848 You may then type in your letter in reply, followed by a <control-d>
3849 at the beginning of a line, as before.
3851 Note that \*(UA
3852 copies the subject header from the original message.
3853 This is useful in that correspondence
3854 about a particular matter will tend to retain the same subject heading,
3855 making it easy to recognize.
3856 If there are other header fields in the message,
3857 like `Cc:',
3858 the information found will also be used.
3860 Sometimes you will receive a message that has been sent to
3861 several people and wish to reply only
3862 to the person who sent it.
3863 .I Reply
3864 with a capital
3865 .I R
3866 replies to a message, but sends a copy to the sender only.
3868 If you wish, while reading your mail, to send a message to someone,
3869 but not as a reply to one of your messages, you can send the message
3870 directly with the
3871 .I mail
3872 command, which takes as arguments the names of the recipients you wish
3873 to send to.
3874 For example, to send a message to <frank@machine.example>,
3875 you would do:
3878     \fBmail\fI frank@machine.example\fR
3881 To delete a message from the mail folder,
3882 you can use the
3883 .I delete
3884 command.
3885 In addition to not saving deleted messages,
3886 \*(UA will not let you type them, either.
3887 The effect is to make the message disappear
3888 altogether, along with its number.
3890 Many features of \*(UA can be tailored to your liking with the
3891 .I set
3892 command.
3894 .I set
3895 command has two forms, depending on whether you are setting a
3896 .I binary
3897 option or a
3898 .I valued
3899 option.
3900 Binary options are either on or off.  For example, the
3901 .I askcc
3902 option informs \*(UA
3903 that each time you send a message, you want it to prompt you for
3904 a `Cc:' header,
3905 to be included in the message.
3906 To set the
3907 .I askcc
3908 option, you would type
3911     \fBset\fR askcc
3914 Valued options are values which \*(UA uses to adapt to your tastes.
3915 For example, the
3916 .I record
3917 option tells \*(UA
3918 where to save messages sent by you,
3919 and is specified by
3922     \fBset\fR record=Sent
3925 for example.
3926 Note that no spaces are allowed in \fI"set record=Sent"\fR.
3928 \*(UA includes a simple facility for maintaining groups of messages
3929 together in folders.
3930 To use the folder facility, you must tell \*(UA
3931 where you wish to keep your folders.
3932 Each folder of messages will be a single file.
3933 For convenience, all of your folders are kept in
3934 a single directory of your choosing.
3935 To tell \*(UA where your folder directory is, put a line of the form
3938     \fBset folder=\fIletters\fR
3941 in your \*(ur file.
3942 If, as in the example above,
3943 your folder directory does not begin with a `/',
3944 \*(UA will assume that your folder directory is to be found starting
3945 from your home directory.
3947 Anywhere a file name is expected, you can use a folder name, preceded
3948 with `+'.
3949 For example, to put a message into a folder with the
3950 .I save
3951 command, you can use:
3954     \fBsave +\fIclasswork\fR
3957 to save the current message in the
3958 .I classwork
3959 folder.
3960 If the
3961 .I classwork
3962 folder does not yet exist, it will be created.
3963 Note that messages which are saved with the
3964 .I save
3965 command are automatically removed from your system mailbox.
3967 In order to make a copy of a message in a folder without causing
3968 that message to be removed from your system mailbox, use the
3969 .I copy
3970 command, which is identical in all other respects to the
3971 .I save
3972 command.
3975 .I folder
3976 command
3977 can be used to direct \*(UA to the contents of a different folder.
3978 For example,
3981     \fBfolder +\fIclasswork\fR
3984 directs \*(UA to read the contents of the
3985 .I classwork
3986 folder.
3987 All of the commands that you can use on your system
3988 mailbox are also applicable to folders, including
3989 .IR type ,
3990 .IR delete ,
3992 .IR reply .
3993 To inquire which folder you are currently editing, use simply:
3996     \fBfolder\fR
3999 To list your current set of folders, use the
4000 .I folders
4001 command.
4003 Finally, the
4004 .I help
4005 command is available to print out a brief summary of the most important
4006 \*(UA commands.
4008 While typing in a message to be sent to others, it is often
4009 useful to be able to invoke the text editor on the partial message,
4010 print the message, execute a shell command, or do some other
4011 auxiliary function. 
4012 \*(UA provides these capabilities through \fI"tilde escapes"\fR,
4013 which consist of a tilde (~) at the beginning of a line, followed by
4014 a single character which indicates the function to be performed.
4015 For example, to print the text of the message so far, use:
4018     \fB~p\fR
4021 which will print a line of dashes, the recipients of your message, and
4022 the text of the message so far.
4023 A list of the most important tilde escapes is available with `~?'.
4024 .SS "IMAP or POP3 client setup"
4025 First you need the following data from your ISP:
4026 the host name of the IMAP or POP3 server,
4027 user name and password for this server,
4028 and a notice whether the server uses SSL/TLS encryption.
4029 Assuming the host name is `server.myisp.example'
4030 and your user name for that server is `mylogin',
4031 you can refer to this account using the
4032 .I folder
4033 command or
4034 .I \-f
4035 command line option with
4038     \fBimaps://\fImylogin\fB@\fIserver.myisp.example\fR
4041 (This string is not necessarily the same as your Internet mail address.)
4042 You can replace `imaps://' with `imap://'
4043 if the server does not support SSL/TLS.
4044 (If SSL/TLS support is built using NSS, the
4045 .I nss-config-dir
4046 variable must be set before a connection can be initiated,
4047 see above).
4048 Use `pop3s://' or `pop3://' if the server does not offer IMAP.
4049 You should use IMAP if you can, though;
4050 first because it requires fewer network operations than POP3
4051 to get the contents of the mailbox
4052 and is thus faster;
4053 and second because message attributes
4054 are maintained by the IMAP server,
4055 so you can easily distinguish new and old messages
4056 each time you connect.
4057 Even if the server does not accept IMAPS or POP3S connections,
4058 it is possible that it supports the STARTTLS method
4059 to make a session SSL/TLS encrypted
4060 after the initial connection has been performed,
4061 but before authentication begins.
4062 The only reliable method to see if this works is to try it; enter one of
4065     \fBset imap-use-starttls\fR
4066     \fBset pop3-use-starttls\fR
4069 before you initiate the connection.
4071 As you probably want messages to be deleted from this account
4072 after saving them,
4073 prefix it with `\fI%:\fR'.
4075 .I shortcut
4076 command can be used to avoid typing that many characters
4077 every time you want to connect:
4080     \fBshortcut \fImyisp\fB \fB%:imaps://\fImylogin\fB@\fIserver.myisp.example\fR
4083 You might want to put this string into a startup file.
4084 As the
4085 .I shortcut
4086 command is specific to this implementation of \*(UA and will confuse other
4087 implementations, it should not be used in \*(ur, instead, put
4090     \fBset NAIL_EXTRA_RC=.\*(uarc
4093 in \*(ur and create a file ~/.\*(uarc containing the
4094 .I shortcut
4095 command above.
4096 You can then access your remote mailbox by invoking
4097 `\*(ua \-f \fImyisp\fR' on the command line,
4098 or by executing `fi \fImyisp\fR' within \*(UA.
4100 If you want to use more than one IMAP mailbox on a server,
4101 or if you want to use the IMAP server for mail storage too,
4103 .I account
4104 command
4105 (which is also \*(UA-\fRspecific)
4106 is more appropriate than the
4107 .I shortcut
4108 command.
4109 You can put the following in
4110 .IR ~/.\*(uarc :
4113     \fBaccount \fImyisp \fB{\fR
4114         \fBset folder=imaps://\fImylogin\fB@\fIserver.myisp.example\fR
4115         \fBset record=+\fISent \fBMBOX=+\fImbox \fBoutfolder\fR
4116     \fB}\fR
4119 and can then access incoming mail for this account by invoking
4120 `\*(ua \-A \fImyisp\fR' on the command line,
4121 or by executing `ac \fImyisp\fR' within \*(UA.
4122 After that,
4123 a command like `copy \fI1\fR +\fIotherfolder\fR'
4124 will refer to \fIotherfolder\fR on the IMAP server.
4125 In particular,
4126 `fi &' will change to the
4127 .I mbox
4128 folder,
4130 `fi +Sent' will show your recorded sent mail,
4131 with both folders located on the IMAP server.
4133 \*(UA will ask you for a password string
4134 each time you connect to a remote account.
4135 If you can reasonably trust the security
4136 of your workstation,
4137 you can give this password in the startup file as
4140     \fBset password-\fImylogin\fB@\fIserver.myisp.example\fB="\fISECRET\fB"\fR
4143 You should change the permissions of this file to 0600, see
4144 .IR chmod (1).
4146 \*(UA supports different authentication methods for both IMAP and POP3.
4147 If Kerberos is used at your location,
4148 you can try to activate GSSAPI-based authentication by
4151     \fBset imap-auth=gssapi\fR
4154 The advantage of this method is that
4155 \*(UA does not need to know your password at all,
4156 nor needs to send sensitive data over the network.
4157 Otherwise, the options
4160     \fBset imap-auth=cram-md5\fR
4161     \fBset pop3-use-apop\fR
4164 for IMAP and POP3, respectively,
4165 offer authentication methods
4166 that avoid to send the password in clear text over the network,
4167 which is especially important if SSL/TLS cannot be used.
4168 If the server does not offer any of these authentication methods,
4169 conventional user/password based authentication must be used.
4170 It is sometimes helpful to set the
4171 .I verbose
4172 option when authentication problems occur.
4173 \*(UA will display all data sent to the server in clear text on the
4174 screen with this option,
4175 including passwords.
4176 You should thus take care that no unauthorized person
4177 can look at your terminal when this option is set.
4179 If you regularly use the same workstation
4180 to access IMAP accounts,
4181 you can greatly enhance performance
4182 by enabling local caching of IMAP messages.
4183 For any message that has been fully or partially fetched from the server,
4184 a local copy is made and is used when the message is accessed again,
4185 so most data is transferred over the network once only.
4186 To enable the IMAP cache,
4187 select a local directory name and put
4190     \fBset imap-cache=\fI~/localdirectory\fR
4193 in the startup file.
4194 All files within that directory
4195 can be overwritten or deleted by \*(UA at any time,
4196 so you should not use the directory to store other information.
4198 Once the cache contains some messages,
4199 it is not strictly necessary anymore
4200 to open a connection to the IMAP server
4201 to access them.
4202 When \*(UA is invoked with the \fI\-D\fR option,
4203 or when the
4204 .I disconnected
4205 variable is set,
4206 only cached data is used
4207 for any folder you open.
4208 Messages that have not yet been completely cached
4209 are not available then,
4210 but all other messages can be handled
4211 as usual.
4212 Changes made to IMAP mailboxes in
4213 .I disconnected
4214 mode are committed to the IMAP server
4215 next time it is used in
4216 .I online
4217 mode.
4218 Synchronizing the local status
4219 with the status on the server
4220 is thus partially within your responsibility;
4221 if you forget to initiate a connection to the server again
4222 before you leave your location,
4223 changes made on one workstation
4224 are not available on others.
4225 Also if you alter IMAP mailboxes from a workstation
4226 while uncommitted changes are still pending on another,
4227 the latter data may become invalid.
4228 The same might also happen because of internal server status changes.
4229 You should thus carefully evaluate this feature in your environment
4230 before you rely on it.
4232 Many servers will close the connection
4233 after a short period of inactivity. Use one of
4236     \fBset pop3-keepalive=\fI30\fR
4237     \fBset imap-keepalive=\fI240\fR
4240 to send a keepalive message each 30 seconds for POP3,
4241 or each 4 minutes for IMAP.
4243 If you encounter problems connecting to a SSL/TLS server,
4244 try the
4245 .I ssl-rand-egd
4247 .I ssl-rand-file
4248 variables (see the OpenSSL FAQ for more information)
4249 or specify the protocol version with
4250 .IR ssl-method .
4251 Contact your ISP
4252 if you need a client certificate
4253 or if verification of the server certificate fails.
4254 If the failed certificate is indeed valid,
4255 fetch its CA certificate by executing the shell command
4258     $ \fBopenssl s_client </dev/null \-showcerts \-connect \e
4259         \fIserver.myisp.example\fB:\fIimaps\fB 2>&1 | tee \fIlog\fR
4262 (see
4263 .IR s_client (1))
4264 and put it into the file specified with
4265 .IR ssl-ca-file .
4266 The data you need is located at the end of the certificate chain
4267 within (and including) the `BEGIN CERTIFICATE'
4268 and `END CERTIFICATE' lines.
4269 Note that the example above is \fIinsecure\fR!
4270 One should use the `-verify' and `-CAfile' options of
4271 .IR s_client (1)
4272 to be "on the safe side" regarding the fetched certificates.
4273 .SS "Creating a score file or message filter"
4274 The scoring commands are best separated
4275 from other configuration for clarity,
4276 and are mostly \*(UA specific.
4277 It is thus recommended to put them in a separate file
4278 that is sourced from your NAIL_EXTRA_RC as follows:
4281     \fBsource\fI ~/.scores\fR
4284 The \fI.scores\fR file could then look as follows:
4287     \fBdefine\fR \fIlist\fR {
4288         \fBscore\fR (subject "important discussion") +10
4289         \fBscore\fR (subject "annoying discussion") \-10
4290         \fBscore\fR (from "nicefellow@goodnet") +15
4291         \fBscore\fR (from "badguy@poornet") \-5
4292         \fBmove\fR (header x-spam-flag "+++++") \fI+junk\fR
4293     }
4294     \fBset folder-hook-\fRimap://user@host/public.list=\fIlist\fR
4297 In this scheme,
4298 you would see any mail from `nicefellow@goodnet',
4299 even if the surrounding discussion is annoying;
4300 but you normally would not see mail from `badguy@poornet',
4301 unless he participates in the important discussion.
4302 Messages that are marked with five or more plus characters
4303 in their `X-Spam-Flag' field
4304 (inserted by some server-side filtering software)
4305 are moved to the folder `junk' in the
4306 .I folder
4307 directory.
4309 Be aware that all criteria in (\|) lead to substring matches,
4310 so you would also score messages
4311 from e.\|g. `notsobadguy@poornetmakers' negative here.
4312 It is possible to select addresses exactly using \fI"address"\fR
4313 message specifications,
4314 but these cannot be executed remotely 
4315 and will thus cause all headers
4316 to be downloaded from IMAP servers while looking for matches.
4318 When searching messages on an IMAP server,
4319 best performance is usually achieved
4320 by sending as many criteria as possible
4321 in one large (\|) specification,
4322 because each single such specification
4323 will result in a separate network operation.
4324 .SS "Activating the Bayesian filter"
4325 The Bayesian junk mail filter works
4326 by examining the words contained in messages.
4327 You decide yourself what a good and what a bad message is.
4328 Thus the resulting filter is your very personal one;
4329 once it is correctly set up,
4330 it will filter only messages similar to those
4331 previously specified by you.
4333 To use the Bayesian filter,
4334 a location for the junk mail database must be defined first:
4337     \fBset junkdb=\fI~/.junkdb\fR
4340 The junk mail database does not contain
4341 actual words extracted from messages,
4342 but hashed representations of them.
4343 A foreign person who can read the database
4344 could only examine the frequency of previously known words
4345 in your mail.
4347 If you have sufficient disk space (several 10\ MB) available,
4348 it is recommended that you set the
4349 .I chained-junk-tokens
4350 option.
4351 The filter will then also consider two-word tokens,
4352 improving its accuracy.
4354 A set of good messages and junk messages must now be available;
4355 it is also possible to use the incoming new messages for this purpose,
4356 although it will of course take some time
4357 until the filter becomes useful then.
4358 Do not underestimate the amount of statistical data needed;
4359 some hundred messages are typically necessary
4360 to get satisfactory results,
4361 and many thousand messages for best operation.
4362 You have to pass the good messages to the
4363 .I good
4364 command,
4365 and the junk messages to the
4366 .I junk
4367 command.
4368 If you ever accidentally mark a good message as junk or vice-versa,
4369 call the
4370 .I ungood
4372 .I unjunk
4373 command to correct this.
4375 Once a reasonable amount of statistics has been collected,
4376 new messages can be classified automatically.
4378 .I classify
4379 command marks all messages that the filter considers to be junk,
4380 but it does not perform any action on them by default.
4381 It is recommended that you move these messages into a separate
4382 folder just for the case that false positives occur,
4383 or to pass them to the
4384 .I junk
4385 command later again to further improve the junk mail database.
4386 To automatically move incoming junk messages
4387 every time the inbox is opened,
4388 put lines like the following into your
4389 .I .scores
4390 file (or whatever name you gave to the file in the last example):
4393     \fBdefine\fR \fIjunkfilter\fR {
4394         \fBclassify (smaller \fI20000\fB) :n\fR
4395         \fBmove :j\fR \fI+junk\fR
4396     }
4397     \fBset folder-hook-\fRimap://user@host/INBOX=\fIjunkfilter\fR
4400 If you set the
4401 .I verbose
4402 option before running the
4403 .I classify
4404 command,
4405 \*(UA prints the words it uses for calculating the junk status
4406 along with their statistical probabilities.
4407 This can help you to find out
4408 why some messages are not classified
4409 as you would like them to be.
4410 To see the statistical probability of a given word,
4411 use the
4412 .I probability
4413 command.
4415 If a junk message was not recognized as such,
4416 use the
4417 .I junk
4418 command to correct this.
4419 Also if you encounter a false positive
4420 (a good message that was wrongly classified as junk),
4421 pass it to the
4422 .I good
4423 command.
4425 Since the
4426 .I classify
4427 command must examine the entire text
4428 of all new messages in the respective folder,
4429 this will also cause all of them to be downloaded from the IMAP server.
4430 You should thus restrict the size of messages for automatic filtering.
4431 If server-based filtering is also available,
4432 you might try if that works for you first.
4433 .SS "Reading HTML mail"
4434 You need either the
4435 .I w3m
4437 .I lynx
4438 utility
4439 or another command-line web browser
4440 that can write plain text to standard output.
4443     \fBset pipe-text/html=\fR"w3m -dump -T text/html"
4449     \fBset pipe-text/html=\fR"lynx -dump -force_html /dev/stdin"
4452 will then cause HTML message parts to be converted into a more friendly form.
4453 .SS "Viewing PDF attachments"
4454 Most PDF viewers do not accept input directly from a pipe.
4455 It is thus necessary to store the attachment in a temporary file, as with
4458     \fBset pipe-application/pdf=\fR"cat >/tmp/\*(ua$$.pdf; \e
4459         acroread /tmp/\*(ua$$.pdf; rm /tmp/\*(ua$$.pdf"
4462 Note that security defects are discovered in PDF viewers
4463 from time to time.
4464 Automatical command execution like this
4465 can compromise your system security,
4466 in particular if you stay not always informed
4467 about such issues.
4468 .SS "Signed and encrypted messages with S/MIME"
4469 S/MIME provides two central mechanisms:
4470 message signing and message encryption.
4471 A signed message contains some data in addition
4472 to the regular text.
4473 The data can be used to verify
4474 that the message was sent using a valid certificate,
4475 that the sender's address in the message header
4476 matches that in the certificate,
4477 and that the message text has not been altered.
4478 Signing a message does not change its regular text;
4479 it can be read regardless of whether the recipient's software
4480 is able to handle S/MIME.
4481 It is thus usually possible to sign all outgoing messages
4482 if so desired.
4483 Encryption, in contrast,
4484 makes the message text invisible for all people except those who have
4485 access to the secret decryption key.
4486 To encrypt a message,
4487 the specific recipient's public encryption key must be known.
4488 It is thus not possible to send encrypted mail to people
4489 unless their key has been retrieved
4490 from either previous communication or public key directories.
4491 A message should always be signed before it is encrypted.
4492 Otherwise, it is still possible that the encrypted message text
4493 is altered.
4495 A central concept to S/MIME is that of the certification authority (CA).
4496 A CA is a trusted institution that issues certificates.
4497 For each of these certificates,
4498 it can be verified that it really originates from the CA,
4499 provided that the CA's own certificate is previously known.
4500 A set of CA certificates is usually delivered with OpenSSL
4501 and installed on your system.
4502 If you trust the source of your OpenSSL software installation,
4503 this offers reasonable security for S/MIME on the Internet.
4504 In general, a certificate cannot be more secure
4505 than the method its CA certificate has been retrieved with, though.
4506 Thus if you download a CA certificate from the Internet,
4507 you can only trust the messages you verify using that certificate
4508 as much as you trust the download process.
4510 The first thing you need for participating in S/MIME message exchange
4511 is your personal certificate,
4512 including a private key.
4513 The certificate contains public information,
4514 in particular your name and your email address,
4515 and the public key that is used by others
4516 to encrypt messages for you,
4517 and to verify signed messages they supposedly received from you.
4518 The certificate is included in each signed message you send.
4519 The private key must be kept secret.
4520 It is used to decrypt messages that were
4521 previously encrypted with your public key,
4522 and to sign messages.
4524 For personal use,
4525 it is recommended that you get a S/MIME certificate
4526 from one of the major CAs on the Internet using your WWW browser.
4527 (Many CAs offer such certificates for free.)
4528 You will usually receive
4529 a combined certificate and private key
4530 in PKCS#12 format which
4531 \*(UA does not directly accept
4532 if S/MIME support is built using OpenSSL.
4533 To convert it to PEM format,
4534 use the following shell command:
4537     $ \fBopenssl pkcs12 \-in \fIcert.p12\fB \-out \fIcert.pem\fB \-clcerts \e
4538         \-nodes\fR
4541 If you omit the
4542 .I \-nodes
4543 parameter,
4544 you can specifiy an additional
4545 .I "PEM pass phrase"
4546 for protecting the private key.
4547 \*(UA will then ask you for that pass phrase
4548 each time it signs or decrypts a message.
4549 You can then use
4552     \fBset smime-sign-cert-\fImyname@myisp.example\fB=\fIcert.pem\fR
4555 to make this private key and certificate known to \*(UA.
4557 If S/MIME support is built using NSS,
4558 the PKCS#12 file must be installed using Mozilla
4559 (provided that
4560 .I nss-config-dir
4561 is set appropriately,
4562 see above),
4563 and no further action is necessary
4564 unless multiple user certificates
4565 for the same email address are installed.
4566 In this case,
4568 .I smime-sign-nickname
4569 variable has to be set appropriately.
4571 You can now sign outgoing messages.
4572 Just use
4575     \fBset smime-sign\fR
4578 to do so.
4580 From each signed message you send,
4581 the recipient can fetch your certificate
4582 and use it to send encrypted mail back to you.
4583 Accordingly if somebody sends you a signed message,
4584 you can do the same.
4585 First use the
4586 .I verify
4587 command to check the validity of the certificate.
4588 After that,
4589 retrieve the certificate and tell
4590 \*(UA that it should use it for encryption:
4593     \fBcertsave\fI filename\fR
4594     \fBset smime-encrypt-\fIuser@host\fB=\fIfilename\fR
4597 If S/MIME support is built using NSS,
4598 the saved certificate must be installed using Mozilla.
4599 The value of the
4600 .I smime-encrypt-user@host
4601 is ignored then,
4602 but if multiple certificates for the recipient are available,
4604 .I smime-nickname-user@host
4605 variable must be set.
4607 You should carefully consider
4608 if you prefer to store encrypted messages in decrypted form.
4609 If you do, anybody who has access to your mail folders can read them,
4610 but if you do not,
4611 you might be unable to read them yourself later
4612 if you happen to lose your private key.
4614 .I decrypt
4615 command saves messages in decrypted form,
4616 while the
4617 .IR save ,
4618 .IR copy ,
4620 .I move
4621 commands leave them encrypted.
4623 Note that neither S/MIME signing nor encryption
4624 applies to message subjects or other header fields.
4625 Thus they may not contain sensitive information
4626 for encrypted messages,
4627 and cannot be trusted even if the message content
4628 has been verified.
4629 When sending signed messages,
4630 it is recommended to repeat any important header information
4631 in the message text.
4632 .SS "Using CRLs with S/MIME or SSL/TLS"
4633 Certification authorities (CAs) issue
4634 certificate revocation lists (CRLs) on a regular basis.
4635 These lists contain the serial numbers of certificates
4636 that have been declared invalid after they have been issued.
4637 Such usually happens
4638 because the private key for the certificate has been compromised,
4639 because the owner of the certificate has left
4640 the organization that is mentioned in the certificate,
4641 etc.
4642 To seriously use S/MIME or SSL/TLS verification,
4643 an up-to-date CRL is required for each trusted CA.
4644 There is otherwise no method
4645 to distinguish between valid and invalidated certificates.
4646 \*(UA currently offers no mechanism to fetch CRLs,
4647 or to access them on the Internet,
4648 so you have to retrieve them by some external mechanism.
4650 If S/MIME and SSL/TLS support are built using OpenSSL,
4651 \*(UA accepts CRLs in PEM format only;
4652 CRLs in DER format must be converted,
4653 e.\|g. with the shell command
4656     $ \fBopenssl crl \-inform DER \-in \fIcrl.der\fB \-out \fIcrl.pem\fR
4659 To tell \*(UA about the CRLs,
4660 a directory
4661 that contains all CRL files
4662 (and no other files)
4663 must be created.
4665 .I smime-crl-dir
4667 .I ssl-crl-dir
4668 variables, respectively,
4669 must then be set to point to that directory.
4670 After that,
4671 \*(UA requires a CRL to be present
4672 for each CA that is used
4673 to verify a certificate.
4675 If S/MIME and SSL/TLS support are built using NSS,
4676 CRLs can be imported in Mozilla applications
4677 (provided that
4678 .I nss-config-dir
4679 is set appropriately).
4680 .SS "Sending mail from scripts"
4681 If you want to send mail from scripts,
4682 you must be aware that
4683 \*(UA reads the user's configuration files by default.
4684 So unless your script is only intended for your own personal use
4685 (as e.g. a cron job),
4686 you need to circumvent this by invoking \*(UA like
4689     \fBMAILRC=/dev/null \*(ua \-n\fR
4692 You then need to create a configuration for \*(UA for your script.
4693 This can be done by either pointing the
4694 .I MAILRC
4695 variable to a custom configuration file,
4696 or by passing the configuration in environment variables.
4697 Since many of the configuration options are not valid shell variables, the
4698 .I env
4699 command is useful in this situation.
4700 An invocation could thus look like
4703     \fBenv MAILRC=/dev/null\fR from=\fIscriptreply@domain\fR smtp=\fIhost\fR \e
4704         smtp-auth-user=\fIlogin\fR smtp-auth-password=\fIsecret\fR \e
4705         smtp-auth=\fIlogin\fR \*(ba\fB \-n\fR \-s "\fIsubject\fR" \e
4706         \-a \fIattachment_file\fR \fIrecipient@domain\fR <\fIcontent_file\fR
4707 .SH "SEE ALSO"
4708 fmt(1),
4709 more(1),
4710 newaliases(1),
4711 openssl(1),
4712 pg(1),
4713 sendmail(1)
4714 vacation(1),
4715 ssl(3),
4716 aliases(5),
4717 locale(7),
4718 mailaddr(7)
4719 .SH NOTES
4721 Variables in the environment passed to \*(UA cannot be unset.
4723 The character set conversion relies
4724 on the
4725 .IR iconv (3)
4726 function.
4727 Its functionality differs widely
4728 between the various system environments \*(UA runs on.
4729 If the message `Cannot convert from \fIa\fR to \fIb\fR' appears,
4730 either some characters within the message header or text
4731 are not appropriate for the currently selected terminal character set,
4732 or the needed conversion is not supported by the system.
4733 In the first case,
4734 it is necessary to set
4735 an appropriate LC_CTYPE locale (e.\|g. \fIen_US\fR)
4736 or the
4737 .I ttycharset
4738 variable.
4739 In the second case, the
4740 .I sendcharsets
4742 .I ttycharset
4743 variables must be set to the same value
4744 to inhibit character set conversion.
4746 .I iconv()
4747 is not available at all,
4748 the value assigned to
4749 .I sendcharsets
4750 must match the character set that is used on the terminal.
4752 \*(UA expects input text to be in Unix format,
4753 with lines separated by 
4754 .I newline
4755 (^J, \en) characters only.
4756 Non-Unix text files that use
4757 .I carriage return
4758 (^M, \er)
4759 characters in addition will be treated as binary data;
4760 to send such files as text, strip these characters e.\ g. by
4762     $ tr \-d '\e015' <input | \*(ua .\ .\ .
4765 or fix the tools that generate them.
4767 Limitations with IMAP mailboxes are:
4768 It is not possible to edit messages,
4769 but it is possible to append them.
4770 Thus to edit a message,
4771 create a local copy of it,
4772 edit it, append it,
4773 and delete the original.
4774 The line count for the header display
4775 is only appropriate if the entire message has been downloaded
4776 from the server.
4777 The marking of messages as `new' is performed by the IMAP server;
4778 use of the
4779 .I exit
4780 command instead of
4781 .I quit
4782 will not cause it to be reset,
4783 and if the
4784 .IR autoinc / newmail
4785 variables are unset,
4786 messages that arrived during a session
4787 will not be in state `new' anymore
4788 when the folder is opened again.
4789 Also if commands queued in disconnected mode are committed,
4790 the IMAP server will delete the `new' flag
4791 for all messages in the changed folder,
4792 and new messages will appear as unread
4793 when it is selected for viewing later.
4794 The `flagged', `answered', and `draft' attributes are usually permanent,
4795 but some IMAP servers are known to drop them without notification.
4796 .\" This is why \*(UA does not even check if storing them succeeds.
4797 Message numbers may change with IMAP
4798 every time before the prompt is printed
4799 if \*(UA is notified by the server
4800 that messages have been deleted
4801 by some other client or process.
4802 In this case, `Expunged \fIn\fR messages' is printed,
4803 and message numbers may have changed.
4805 Limitations with POP3 mailboxes are:
4806 It is not possible to edit messages,
4807 they can only be copied and deleted.
4808 The line count for the header display
4809 is only appropriate if the entire message has been downloaded
4810 from the server.
4811 The status field of a message is maintained by the server
4812 between connections;
4813 some servers do not update it at all,
4814 and with a server that does,
4815 the `exit' command will not cause the message status to be reset.
4816 The `newmail' command and the `newmail' variable
4817 have no effect.
4818 It is not possible to rename or to remove POP3 mailboxes.
4820 If a
4821 .SM RUBOUT
4822 (interrupt) is typed while an IMAP or POP3 operation is in progress,
4823 \*(UA will wait until the operation can be safely aborted,
4824 and will then return to the command loop
4825 and print the prompt again.
4826 When a second
4827 .I RUBOUT
4828 is typed while \*(UA is waiting for the operation to complete,
4829 the operation itself will be cancelled.
4830 In this case,
4831 data that has not been fetched yet
4832 will have to be fetched
4833 before the next command can be performed.
4834 If the cancelled operation
4835 was using an SSL/TLS encrypted channel,
4836 an error in the SSL transport will very likely result,
4837 and the connection is no longer usable.
4839 As \*(UA is a mail user agent,
4840 it provides only basic SMTP services.
4841 If it fails to contact its upstream SMTP server,
4842 it will not make further attempts to transfer the message
4843 at a later time,
4844 and it does not leave other information about this condition
4845 than an error message on the terminal
4846 and a `dead.letter' file.
4847 This is usually not a problem if the SMTP server
4848 is located in the same local network
4849 as the computer on which \*(UA is run.
4850 However, care should be taken when using a remote server of an ISP;
4851 it might be better to set up a local SMTP server then
4852 which just acts as a proxy.
4854 \*(UA immediately contacts the SMTP server (or \fIsendmail(1)\fR)
4855 even when operating in
4856 .I disconnected
4857 mode.
4858 It would not make much sense for \*(UA to defer outgoing mail
4859 since SMTP servers usually provide
4860 much more elaborated delay handling
4861 than \*(UA could perform as a client.
4862 Thus the recommended setup for sending mail in
4863 .I disconnected
4864 mode is to configure a local SMTP server
4865 such that it sends outgoing mail
4866 as soon as an external network connection is available again,
4867 i.\|e. to advise it to do that from a network startup script.
4869 The junk mail filter follows the concepts developed by
4870 Paul Graham in his articles,
4871 ``A Plan for Spam'', August 2002,
4872 \%<http://www.paulgraham.com/spam.html>,
4873 and ``Better Bayesian Filtering'', January 2003,
4874 \%<http://www.paulgraham.com/better.html>.
4875 Chained tokens are due to a paper by
4876 Jonathan A. Zdziarski,
4877 ``Advanced Language Classification using Chained Tokens'',
4878 February 2004,
4879 \%<http://www.nuclearelephant.com/papers/chained.html>.
4881 A \fImail\fR command appeared in Version 1 AT&T Unix.
4882 Berkeley Mail was written in 1978 by Kurt Shoens.
4883 This man page is derived from
4884 from The Mail Reference Manual
4885 originally written by Kurt Shoens.
4886 \fIHeirloom Mailx\fR enhancements are maintained and documented
4887 by Gunnar Ritter.
4888 \fIS-nail\fR enhancements are maintained and documented
4889 by Steffen "Daode" Nurpmeso.
4891 Portions of this text are reprinted and reproduced in electronic form
4892 from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
4893 \(em Operating System Interface (POSIX), The Open Group Base
4894 Specifications Issue 6, Copyright \(co 2001-2003 by the Institute of
4895 Electrical and Electronics Engineers, Inc and The Open Group. In the
4896 event of any discrepancy between this version and the original IEEE and
4897 The Open Group Standard, the original IEEE and The Open Group Standard
4898 is the referee document. The original Standard can be obtained online at
4899 \%<http://www.opengroup.org/unix/online.html>.
4900 Redistribution of this material is permitted so long as this notice remains
4901 intact.