1 .\" Copyright (c) 1980, 1990, 1993
2 .\" The Regents of the University of California. All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
12 .\" 3. Neither the name of the University nor the names of its contributors
13 .\" may be used to endorse or promote products derived from this software
14 .\" without specific prior written permission.
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" @(#)mail.1 8.8 (Berkeley) 4/28/95
29 .\" $FreeBSD: src/usr.bin/mail/mail.1,v 1.18.2.12 2003/01/06 05:46:03 mikeh Exp $
30 .\" $DragonFly: src/usr.bin/mail/mail.1,v 1.4 2007/05/17 08:19:02 swildner Exp $
39 .Nd send and receive mail
48 .Op Fl Ar sendmail-option ...
66 utility is an intelligent mail processing system, which has
67 a command syntax reminiscent of
69 with lines replaced by messages.
71 The following options are available:
72 .Bl -tag -width indent
76 delivery are displayed on the user's terminal.
78 Test for the presence of mail in the (by default, system)
80 An exit status of 0 is returned if
81 it has mail; otherwise an exit status of 1 is returned.
83 Write a header summary only.
85 Do not send messages with an empty body.
86 This is useful for piping errors from
90 Ignore tty interrupt signals.
92 particularly useful when using
98 to run in interactive mode even when
99 input is not a terminal.
103 character when sending mail is only active in interactive mode.
105 Inhibit reading the system-wide
109 Inhibit the initial display of message headers
110 when reading mail or editing a mail folder.
115 (Only the first argument after the
117 flag is used as a subject; be careful to quote subjects
120 Send carbon copies to
125 argument should be a comma-separated list of names.
127 Send blind carbon copies to
132 argument should be a comma-separated list of names.
134 Read in the contents of your
136 (or the specified file)
137 for processing; when you
140 writes undeleted messages back to this file.
142 Record the message in a file named after the first recipient.
143 The name is the login-name portion of the
144 address found first on the
146 line in the mail header.
153 .Dl "mail -f /var/mail/user"
155 .Ss "Startup Actions"
158 will execute commands in the system command files
159 .Pa /usr/share/misc/mail.rc ,
160 .Pa /usr/local/etc/mail.rc
163 in order, unless explicitly told not to by the use of the
166 Next, the commands in the user's personal command file
171 utility then examines its command line options to determine whether a
172 new message is to be sent, or whether an existing mailbox is to
175 To send a message to one or more people,
177 can be invoked with arguments which are the names of people to
178 whom the mail will be sent.
179 You are then expected to type in
180 your message, followed
183 at the beginning of a line.
185 .Sx "Replying To or Originating Mail" ,
186 describes some features of
188 available to help you compose your letter.
192 is given no arguments and checks your mail out of the
194 prints out a one line header of each message found.
195 The current message is initially the first message (numbered 1)
196 and can be printed using the
198 command (which can be abbreviated
200 You can move among the messages much as you move between lines in
206 moving backwards and forwards, and
208 .Ss "Disposing of Mail"
209 After examining a message you can
218 program to forget about the message.
219 This is not irreversible; the message can be
222 by giving its number, or the
224 session can be aborted by giving the
228 Deleted messages will, however, usually disappear never to be seen again.
229 .Ss "Specifying Messages"
234 can be given a list of message numbers as arguments to apply
235 to a number of messages at once.
238 deletes messages 1 and 2, while
240 deletes messages 1 through 5.
243 addresses all messages, and
246 the last message; thus the command
248 which prints the first few lines of a message could be used in
250 to print the first few lines of all messages.
251 .Ss "Replying To or Originating Mail"
255 set up a response to a message, sending it back to the
256 person who it was from.
257 Text you then type in, up to an end-of-file,
258 defines the contents of the message.
259 While you are composing a message,
261 treats lines beginning with the character
266 (alone on a line) will place a copy
267 of the current message into the response right shifting it by a tabstop
271 Other escapes will set up subject fields, add and delete recipients
272 to the message and allow you to escape to an editor to revise the
273 message or to a shell to run some commands.
275 are given in the summary below.)
276 .Ss "Ending a Mail Processing Session"
283 Messages which have been examined go to your
285 file unless they have been deleted in which case they are discarded.
286 Unexamined messages go back to the post office.
290 .Ss "Personal and System Wide Distribution Lists"
291 It is also possible to create a personal distribution lists so that,
292 for instance, you can send mail to
295 to a group of people.
296 Such lists can be defined by placing a line like
298 .Dl "alias cohorts bill ozalp jkf mark kridle@ucbcory"
302 in your home directory.
303 The current list of such aliases can be displayed with the
307 System wide distribution lists can be created by editing
308 .Pa /etc/mail/aliases ,
313 these are kept in a different syntax.
314 In mail you send, personal aliases will be expanded in mail sent
315 to others so that they will be able to
320 are not expanded when the mail is sent,
321 but any reply returned to the machine will have the system wide
322 alias expanded as all mail goes through
324 .Ss "Network Mail (ARPA, UUCP, Berknet)"
327 for a description of network addresses.
331 utility has a number of options which can be set in the
333 file to alter its behavior; thus
338 (These options are summarized below.)
341 .%T "Mail Reference Manual" . )
343 Each command is typed on a line by itself, and may take arguments
344 following the command word.
345 The command need not be typed in its
346 entirety \(em the first command which matches the typed prefix is used.
347 For commands which take message lists as arguments, if no message
348 list is given, then the next message forward which satisfies the
349 command's requirements is used.
350 If there are no messages forward of
351 the current message, the search proceeds backwards, and if there are no
352 good messages at all,
355 .Dq Li "No applicable messages"
358 .Bl -tag -width indent
360 Print out the preceding message.
366 previous message and prints it.
368 ignore the remainder of the line as a comment.
370 Prints a brief summary of commands.
377 command which follows.
382 but also prints out ignored header fields.
390 Does not reply to other
391 recipients of the original message.
399 With no arguments, prints out all currently-defined aliases.
401 argument, prints out that alias.
402 With more than one argument, creates
403 a new alias or changes an old one.
408 command is useful if you have accounts on several machines.
409 It can be used to inform
411 that the listed addresses are really you.
416 will not send a copy of the message to any of the addresses
422 command is given with no argument, the current set of alternative
426 Changes the user's working directory to that specified, if given.
428 no directory is given, then changes to the user's login directory.
433 command does the same thing that
435 does, except that it does not mark the messages it
436 is used on for deletion when you
440 Takes a list of messages as argument and marks them all as deleted.
441 Deleted messages will not be saved in
443 nor will they be available for most other commands.
447 Deletes the current message and prints the next message.
448 If there is no next message,
454 Takes a list of messages and points the text editor at each one in
456 On return from the editor, the message is read back in.
461 Effects an immediate return to the shell without
462 modifying the user's system mailbox, his
464 file, or his edit file in
471 List the names of the folders in your folder directory.
476 command switches to a new mail file or folder.
478 arguments, it tells you which file you are currently reading.
479 If you give it an argument, it will write out changes (such
480 as deletions) you have made in the current file and read in
482 Some special conventions are recognized for
485 means the previous file,
487 means your system mailbox,
489 means user's system mailbox,
494 .Dq Li + Ns Ar folder
495 means a file in your folder
499 Takes a list of messages and prints their message headers.
502 Lists the current range of headers, which is an 18-message group.
506 argument is given, then the next 18-message group is printed, and if
509 argument is given, the previous 18-message group is printed.
517 Takes a message list and marks each
518 message therein to be saved in the
519 user's system mailbox instead of in
521 Does not override the
525 Add the list of header fields named to the
527 Header fields in the ignore list are not printed
528 on your terminal when you print a message.
530 command is very handy for suppression of certain machine-generated
536 commands can be used to print a message in its entirety, including
540 is executed with no arguments, it lists the current set of
543 Incorporate any new messages that have arrived while mail
545 The new messages are added to the end of the message list,
546 and the current message is reset to be the first new mail message.
547 This does not renumber the existing message list, nor
548 does it cause any changes made so far to be saved.
551 Takes as argument login names and distribution group names and sends
552 mail to those people.
554 Indicate that a list of messages be sent to
556 in your home directory when you quit.
558 action for messages if you do
565 Takes a list of messages and invokes the pager on that list.
572 Goes to the next message in sequence and types it.
573 With an argument list, types the next matching message.
580 Takes a message list and types out each message on the user's terminal.
583 Terminates the session, saving all undeleted, unsaved messages in
586 file in his login directory, preserving all messages marked with
591 in his system mailbox, and removing all other messages from his system
593 If new mail has arrived during the session, the message
594 .Dq Li "You have new mail"
596 If given while editing a
597 mailbox file with the
599 flag, then the edit file is rewritten.
600 A return to the shell is
601 effected, unless the rewrite of edit file fails, in which case the user
607 Takes a message list and sends mail to the sender and all
608 recipients of the specified message.
609 The default message must not be deleted.
614 Add the list of header fields named to the
615 .Em "retained list" .
616 Only the header fields in the retained list
617 are shown on your terminal when you print a message.
618 All other header fields are suppressed.
623 commands can be used to print a message in its entirety.
626 is executed with no arguments, it lists the current set of
630 Takes a message list and a filename and appends each message in
631 turn to the end of the file.
632 The filename in quotes, followed by the line
633 count and character count is echoed on the user's terminal.
636 With no arguments, prints all variable values.
639 Arguments are of the form
640 .Ar option Ns Li = Ns Ar value
641 (no space before or after
645 Quotation marks may be placed around any part of the assignment statement to
646 quote blanks or tabs, i.e.\&
647 .Dq Li "set indentprefix=\*q->\*q"
658 Header fields thus marked are filtered out when
661 or when automatically saving to
673 Header fields thus marked are the only ones saved
674 with a message when saving by
676 or when automatically saving to
683 Invokes an interactive version of the shell.
685 Takes a message list and prints out the size in characters of each
691 commands from a file.
693 Takes a message list and prints the top few lines of each.
695 lines printed is controlled by the variable
703 Takes a list of names defined by
705 commands and discards the remembered groups of users.
707 no longer have any significance.
710 Takes a message list and marks each message as
715 Takes a message list and marks each message as
719 Takes a list of option names and discards their remembered values;
724 Takes a message list and invokes the display editor on each message.
733 the header) is saved.
734 Extremely useful for such tasks as sending and receiving source
735 program text over the message system.
743 utility presents message headers in windowfuls as described under the
748 attention forward to the next window with the
751 Also, you can move to the previous window by using
755 Here is a summary of the tilde escapes,
756 which are used when composing messages to perform
758 Tilde escapes are only recognized at the beginning
762 is somewhat of a misnomer since the actual escape character can be set
765 .Bl -tag -width indent
767 Inserts the autograph string from the sign= option into the message.
769 Inserts the autograph string from the Sign= option into the message.
770 .It Ic ~b Ar name ...
771 Add the given names to the list of carbon copy recipients but do not make
772 the names visible in the Cc: line
775 .It Ic ~c Ar name ...
776 Add the given names to the list of carbon copy recipients.
780 from your home directory into the message.
782 Invoke the text editor on the message collected so far.
784 editing session is finished, you may continue appending text to the
786 .It Ic ~f Ar messages
787 Read the named messages into the message being sent.
788 If no messages are specified, read in the current message.
789 Message headers currently being ignored (by the
793 command) are not included.
794 .It Ic ~F Ar messages
797 except all message headers are included.
799 Edit the message header fields by typing each one in turn and allowing
800 the user to append text to the end or modify the field by using the
801 current terminal erase and kill characters.
803 Inserts the value of the named option into the text of the message.
804 .It Ic ~m Ar messages
805 Read the named messages into the message being sent, indented by a
806 tab or by the value of
808 If no messages are specified,
809 read the current message.
810 Message headers currently being ignored (by the
814 command) are not included.
815 .It Ic ~M Ar messages
818 except all message headers are included.
820 Print out the message collected so far, prefaced by the message header
823 Abort the message being sent, copying the message to
825 in your home directory if
828 .It Ic ~r Ar filename , Ic ~r Li \&! Ns Ar command
829 .It Ic ~< Ar filename , Ic ~< Li \&! Ns Ar command
830 Read the named file into the message.
831 If the argument begins with a
833 the rest of the string is taken as an arbitrary system command and is
834 executed, with the standard output inserted into the message.
838 as the Reply-To field.
840 Cause the named string to become the current subject field.
841 .It Ic ~t Ar name ...
842 Add the given names to the direct recipient list.
844 Invoke an alternative editor (defined by the
846 environment variable) on the
847 message collected so far.
848 Usually, the alternative editor will be a
850 After you quit the editor, you may resume appending
851 text to the end of your message.
852 .It Ic ~w Ar filename
853 Write the message onto the named file.
857 except the message is not saved in
860 Execute the indicated shell command, then return to the message.
861 .It Ic ~| Ar command , Ic ~^ Ar command
862 Pipe the message through the command as a filter.
864 no output or terminates abnormally, retain the original text of the
870 to rejustify the message.
871 .It Ic ~: Ar mail-command , Ic ~_ Ar mail-command
875 Not all commands, however, are allowed.
877 Simulate end-of-file on input.
879 Print a summary of the available command escapes.
881 Insert the string of text in the message prefaced by a single
884 you have changed the escape character, then you should double
885 that character in order to send it.
888 Options can be set with the
891 and can be disabled with the
894 .Ic set Cm no Ns Ar name
896 Options may be either binary, in which case it is only
897 significant to see whether they are set or not; or string, in which
898 case the actual value is of interest.
899 If an option is not set,
901 will look for an environment variable of the same name.
902 The available options include the following:
903 .Bl -tag -width indent
905 Causes messages saved in
907 to be appended to the end rather than prepended.
908 This should always be set (preferably in one of the system-wide
916 to prompt you for the subject of each message you send.
918 you respond with simply a newline, no subject field will be sent.
922 Causes you to be prompted for additional blind carbon copy recipients at the
924 Responding with a newline indicates your
925 satisfaction with the current list.
929 Causes you to be prompted for additional carbon copy recipients at the
931 Responding with a newline indicates your
932 satisfaction with the current list.
936 Causes new mail to be automatically incorporated when it arrives.
937 Setting this is similar to issuing the
939 command at each prompt, except that the current message is not
940 reset when new mail arrives.
946 command to behave like
948 thus, after deleting a message, the next one will be typed
955 is used as a threshold to determine how long a message must
961 is set without a value,
962 then the height of the terminal screen stored in the system
963 is used to compute the threshold (see
968 Setting the binary option
970 is the same as specifying
972 on the command line and causes
974 to output all sorts of information useful for debugging
983 to interpret a period alone on a line as the terminator
984 of a message you are sending.
988 If defined, the first character of this option gives the character to
993 Reverses the sense of
1001 The name of the directory to use for storing folders of
1003 If this name begins with a
1006 considers it to be an absolute pathname; otherwise, the
1007 folder directory is found relative to your home directory.
1009 If defined, initially display message headers when reading mail or
1010 editing a mail folder.
1013 This option can be disabled by giving the
1015 flag on the command line.
1017 This option is used to hold messages in the system mailbox
1022 Causes interrupt signals from your terminal to be ignored and echoed as
1027 An option related to
1035 as the end of a message.
1045 tilde escape for indenting messages, in place of
1046 the normal tab character
1048 Be sure to quote the value if it contains
1051 Usually, when a group is expanded that contains the sender, the sender
1052 is removed from the expansion.
1053 Setting this option causes the sender
1054 to be included in the group.
1058 Suppresses the printing of the version when first invoked.
1062 If defined, gives the pathname of the file used to record all outgoing
1064 If not defined, outgoing mail is not saved.
1068 Reverses the sense of
1076 If this option is set, and you abort a message with two
1080 will copy the partial letter to the file
1082 in your home directory.
1085 .It Va searchheaders
1086 If this option is set, then a message-list specifier in the form
1087 .Dq Li / Ns Ar x Ns Li : Ns Ar y
1088 will expand to all messages containing the substring
1092 The string search is case insensitive.
1095 is omitted, it will default to the
1100 is a special case, and will expand
1101 to all messages containing the substring
1111 is case sensitive, so that
1113 can be used to limit the search for
1119 .Va nosearchheaders .
1121 If defined, gives the number of lines of a message to be printed out
1124 command; normally, the first five lines are printed.
1128 is the same as using the
1130 flag on the command line.
1133 runs in verbose mode,
1134 the actual delivery of messages is displayed on the user's
1140 .Bl -tag -width ".Ev REPLYTO"
1142 Pathname of the file to save partial messages to in case of interrupts
1147 Pathname of the text editor to use in the
1152 If not defined, then a default editor is used.
1154 Pathname of the user's home directory.
1156 Pathname of the directory lister to use in the
1162 Location of the user's mailbox.
1166 Pathname of file containing initial
1172 The name of the mailbox file.
1173 It can be the name of a folder.
1176 in the user's home directory.
1178 Pathname of the program to use in the
1183 The default paginator
1185 is used if this option is not defined.
1187 If set, will be used to initialize the Reply-To field for outgoing
1190 Pathname of the shell to use in the
1195 A default shell is used if this option is
1198 Pathname of the text editor to use in the
1204 Login name of the user executing mail.
1207 .Bl -tag -width ".Pa /usr/share/misc/mail.*help" -compact
1216 This can be overridden by setting the
1218 environment variable.
1221 .It Pa /usr/share/misc/mail.*help
1224 .It Pa /usr/share/misc/mail.rc
1225 .It Pa /usr/local/etc/mail.rc
1227 System-wide initialization files.
1228 Each file will be sourced, in order,
1239 .%T "The Mail Reference Manual"
1247 This man page is derived from
1248 .%T "The Mail Reference Manual"
1249 originally written by
1252 There are some flags that are not documented here.
1254 not useful to the general user.
1262 which can be confusing.
1266 list is incorrect English (it should be
1267 .Dq alternatives ) ,
1268 but is retained for compatibility.