0419859257bef9c48f994753ab12ddacf635efa5
[dragonfly.git] / usr.bin / mail / USD.doc / mail2.nr
1 .\" Copyright (c) 1980, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
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. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)mail2.nr    8.1 (Berkeley) 6/8/93
33 .\"
34 .bp
35 .sh 1 "Common usage"
36 .pp
37 The
38 .i Mail
39 command has two distinct usages, according to whether one
40 wants to send or receive mail.  Sending mail is simple:  to send a
41 message to a user whose login name is, say,
42 \*(lqroot,\*(rq
43 use the shell
44 command:
45 .(l
46 % Mail root
47 .)l
48 then type your message.  When you reach the end of the message, type
49 an EOT (control\-d) at the beginning of a line, which will cause
50 .i Mail
51 to echo \*(lqEOT\*(rq and return you to the Shell.  When the user you sent mail
52 to next logs in, he will receive the message:
53 .(l
54 You have mail.
55 .)l
56 to alert him to the existence of your message.
57 .pp
58 If, while you are composing the message
59 you decide that you do not wish to send it after all, you can
60 abort the letter with a \s-2RUBOUT\s0.  Typing a single \s-2RUBOUT\s0
61 causes
62 .i Mail
63 to print
64 .(l
65 (Interrupt -- one more to kill letter)
66 .)l
67 Typing a second
68 \s-2RUBOUT\s0 causes
69 .i Mail
70 to save your partial letter on the file
71 .q dead.letter
72 in your home directory and abort the letter.
73 Once you have
74 sent mail to someone, there is no way to undo the act, so be
75 careful.
76 .pp
77 The message your recipient reads will consist of the message you
78 typed, preceded by a line telling who sent the message (your login name)
79 and the date and time it
80 was sent.
81 .pp
82 If you want to send the same message to several other people, you can list
83 their login names on the command line.
84 Thus,
85 .(l
86 % Mail sam bob john
87 Tuition fees are due next Friday.  Don't forget!!
88 <Control\-d>
89 EOT
90 %
91 .)l
92 will send the reminder to sam, bob, and john.
93 .pp
94 If, when you log in, you see the message,
95 .(l
96 You have mail.
97 .)l
98 you can read the mail by typing simply:
99 .(l
100 % Mail
101 .)l
102 .i Mail
103 will respond by typing its version number and date and then listing
104 the messages you have waiting.  Then it will type a prompt and await
105 your command.  The messages are assigned numbers starting with 1 \*- you
106 refer to the messages with these numbers.
107 .i Mail
108 keeps track of which messages are
109 .i new
110 (have been sent since you last read your mail) and
111 .i read
112 (have been read by you).  New messages have an
113 .b N
114 next to them in the header listing and old, but unread messages have
115 a
116 .b U
117 next to them.
118 .i Mail
119 keeps track of new/old and read/unread messages by putting a
120 header field called
121 .q Status
122 into your messages.
123 .pp
124 To look at a specific message, use the
125 .b type
126 command, which may be abbreviated to simply
127 .b t .
128 For example, if you had the following messages:
129 .(l
130 N 1 root     Wed Sep 21 09:21  "Tuition fees"
131 N 2 sam      Tue Sep 20 22:55
132 .)l
133 you could examine the first message by giving the command:
134 .(l
135 type 1
136 .)l
137 which might cause
138 .i Mail
139 to respond with, for example:
140 .(l
141 Message  1:
142 From root  Wed Sep 21 09:21:45 1978
143 Subject: Tuition fees
144 Status: R
145
146 Tuition fees are due next Wednesday.  Don't forget!!
147
148 .)l
149 Many
150 .i Mail
151 commands that operate on messages take a message number as an
152 argument like the
153 .b type
154 command.  For these commands, there is a notion of a current
155 message.  When you enter the
156 .i Mail
157 program, the current message is initially the first one.  Thus,
158 you can often omit the message number and use, for example,
159 .(l
160 t
161 .)l
162 to type the current message.  As a further shorthand, you can type a message
163 by simply giving its message number.  Hence,
164 .(l
165 1
166 .)l
167 would type the first message.
168 .pp
169 Frequently, it is useful to read the messages in your mailbox in order,
170 one after another.  You can read the next message in
171 .i Mail
172 by simply typing a newline.  As a special case, you can type a newline
173 as your first command to
174 .i Mail
175 to type the first message.
176 .pp
177 If, after typing a message, you wish to immediately send a reply,
178 you can do so with the
179 .b reply
180 command.
181 .b Reply ,
182 like
183 .b type ,
184 takes a message number as an argument.
185 .i Mail
186 then begins a message addressed to the user who sent you the message.
187 You may then type in your letter in reply, followed by a <control-d>
188 at the beginning of a line, as before.
189 .i Mail
190 will type EOT, then type the ampersand prompt to indicate its readiness
191 to accept another command.  In our example, if, after typing the
192 first message, you wished to reply to it, you might give the command:
193 .(l
194 reply
195 .)l
196 .i Mail
197 responds by typing:
198 .(l
199 To: root
200 Subject: Re: Tuition fees
201 .)l
202 and waiting for you to enter your letter.
203 You are now in the message collection mode described at the beginning
204 of this section and
205 .i Mail
206 will gather up your message up to a control\-d.
207 Note that it copies the subject
208 header from the original message.  This is useful in that correspondence
209 about a particular matter will tend to retain the same subject heading,
210 making it easy to recognize.  If there are other header fields in
211 the message, the information found will also be used.
212 For example, if the letter had a
213 .q "To:"
214 header listing several recipients,
215 .i Mail
216 would arrange to send your replay to the same people as well.
217 Similarly, if the original message contained a
218 .q "Cc:"
219 (carbon copies to) field,
220 .i Mail
221 would send your reply to
222 .i those
223 users, too.
224 .i Mail
225 is careful, though, not too send the message to
226 .i you ,
227 even if you appear in the
228 .q "To:"
229 or
230 .q "Cc:"
231 field, unless you ask to be included explicitly.  See section 4 for more
232 details.
233 .pp
234 After typing in your letter, the dialog with
235 .i Mail
236 might look like the following:
237 .(l
238 reply
239 To: root
240 Subject: Tuition fees
241
242 Thanks for the reminder
243 EOT
244 &
245 .)l
246 .pp
247 The
248 .b reply
249 command is especially useful for sustaining extended conversations
250 over the message system, with other
251 .q listening
252 users receiving copies of the conversation.  The
253 .b reply
254 command can be abbreviated to
255 .b r .
256 .pp
257 Sometimes you will receive a message that has been sent to
258 several people and wish to reply
259 .i only
260 to the person who sent it.
261 .b Reply
262 with a capital
263 .b R
264 replies to a message, but sends a copy to the sender only.
265 .pp
266 If you wish, while reading your mail, to send a message to someone,
267 but not as a reply to one of your messages, you can send the message
268 directly with the
269 .b mail
270 command, which takes as arguments the names of the recipients you wish
271 to send to.  For example, to send a message to
272 .q frank,
273 you would do:
274 .(l
275 mail frank
276 This is to confirm our meeting next Friday at 4.
277 EOT
278 &
279 .)l
280 The
281 .b mail
282 command can be abbreviated to
283 .b m .
284 .pp
285 Normally, each message you receive is saved in the file
286 .i mbox
287 in your login directory at the time you leave
288 .i Mail .
289 Often,
290 however, you will not want to save a particular message you
291 have received because it is only of passing interest.  To avoid
292 saving a message in
293 .i mbox
294 you can delete it using the
295 .b delete
296 command.  In our example,
297 .(l
298 delete 1
299 .)l
300 will prevent
301 .i Mail
302 from saving message 1 (from root) in
303 .i mbox .
304 In addition to not saving deleted messages,
305 .i Mail
306 will not let
307 you type them, either.  The effect is to make the message disappear
308 altogether, along with its number.  The
309 .b delete
310 command can be abbreviated to simply
311 .b d .
312 .pp
313 Many features of
314 .i Mail
315 can be tailored to your liking with the
316 .b set
317 command.  The
318 .b set
319 command has two forms, depending on whether you are setting
320 a
321 .i binary
322 option or a
323 .i valued
324 option.
325 Binary options are either on or off.  For example, the
326 .q ask
327 option informs
328 .i Mail
329 that each time you send a message, you want it to prompt you for
330 a subject header, to be included in the message.
331 To set the
332 .q ask
333 option, you would type
334 .(l
335 set ask
336 .)l
337 .pp
338 Another useful
339 .i Mail
340 option is
341 .q hold.
342 Unless told otherwise,
343 .i Mail
344 moves the messages from your system mailbox to the file
345 .i mbox
346 in your home directory when you leave
347 .i Mail .
348 If you want
349 .i Mail
350 to keep your letters in the system mailbox instead, you can set the
351 .q hold
352 option.
353 .pp
354 Valued options are values which
355 .i Mail
356 uses to adapt to your tastes.  For example, the
357 .q SHELL
358 option tells
359 .i Mail
360 which shell you like to use, and is specified by
361 .(l
362 set SHELL=/bin/csh
363 .)l
364 for example.  Note that no spaces are allowed in
365 .q "SHELL=/bin/csh."
366 A complete list of the
367 .i Mail
368 options appears in section 5.
369 .pp
370 Another important valued option is
371 .q crt.
372 If you use a fast video terminal, you will find that when you
373 print long messages, they fly by too quickly for you to read them.
374 With the
375 .q crt
376 option, you can make
377 .i Mail
378 print any message larger than a given number of lines by sending
379 it through a paging program. This program is specified by the
380 valued option \fBPAGER\fP.
381 If \fBPAGER\fP is not set, a default paginator is used.
382 For example, most CRT users with 24-line screens should do:
383 .(l
384 set crt=24
385 .)l
386 to paginate messages that will not fit on their screens.
387 In the default state, \fImore\fP (default paginator) prints a screenful of
388 information, then types --More--.  Type a space to see the next screenful.
389 .pp
390 Another adaptation to user needs that
391 .i Mail
392 provides is that of
393 .i aliases .
394 An alias is simply a name which stands for one or more
395 real user names.
396 .i Mail
397 sent to an alias is really sent to the list of real users
398 associated with it.  For example, an alias can be defined for the
399 members of a project, so that you can send mail to the whole project
400 by sending mail to just a single name.  The
401 .b alias
402 command in
403 .i Mail
404 defines an alias.  Suppose that the users in a project are
405 named Sam, Sally, Steve, and Susan.  To define an alias called
406 .q project
407 for them, you would use the
408 .i Mail
409 command:
410 .(l
411 alias project sam sally steve susan
412 .)l
413 The
414 .b alias
415 command can also be used to provide a convenient name for someone
416 whose user name is inconvenient.  For example, if a user named
417 .q "Bob Anderson"
418 had the login name
419 .q anderson,"
420 you might want to use:
421 .(l
422 alias bob anderson
423 .)l
424 so that you could send mail to the shorter name,
425 .q bob.
426 .pp
427 While the
428 .b alias
429 and
430 .b set
431 commands allow you to customize
432 .i Mail ,
433 they have the drawback that they must be retyped each time you enter
434 .i Mail .
435 To make them more convenient to use,
436 .i Mail
437 always looks for two files when it is invoked.  It first reads
438 a system wide file
439 .q /etc/mail.rc,
440 then a user specific file,
441 .q .mailrc,
442 which is found in the user's home directory.
443 The system wide file
444 is maintained by the system administrator and
445 contains
446 .b set
447 commands that are applicable to all users of the system.
448 The
449 .q .mailrc
450 file is usually used by each user to set options the way he likes
451 and define individual aliases.
452 For example, my .mailrc file looks like this:
453 .(l
454 set ask nosave SHELL=/bin/csh
455 .)l
456 As you can see, it is possible to set many options in the
457 same
458 .b set
459 command.  The
460 .q nosave
461 option is described in section 5.
462 .pp
463 Mail aliasing is implemented
464 at the system-wide level
465 by the mail delivery
466 system
467 .i sendmail .
468 These aliases are stored in the file /usr/lib/aliases and are
469 accessible to all users of the system.
470 The lines in /usr/lib/aliases are of
471 the form:
472 .(l
473 alias: name\*<1\*>, name\*<2\*>, name\*<3\*>
474 .)l
475 where
476 .i alias
477 is the mailing list name and the
478 .i name\*<i\*>
479 are the members of the list.  Long lists can be continued onto the next
480 line by starting the next line with a space or tab.  Remember that you
481 must execute the shell command
482 .i newaliases
483 after editing /usr/lib/aliases since the delivery system
484 uses an indexed file created by
485 .i newaliases .
486 .pp
487 We have seen that
488 .i Mail
489 can be invoked with command line arguments which are people
490 to send the message to, or with no arguments to read mail.
491 Specifying the
492 .rb \-f
493 flag on the command line causes
494 .i Mail
495 to read messages from a file other than your system mailbox.
496 For example, if you have a collection of messages in
497 the file
498 .q letters
499 you can use
500 .i Mail
501 to read them with:
502 .(l
503 % Mail \-f letters
504 .)l
505 You can use all
506 the
507 .i Mail
508 commands described in this document to examine, modify, or delete
509 messages from your
510 .q letters
511 file, which will be rewritten when you leave
512 .i Mail
513 with the
514 .b quit
515 command described below.
516 .pp
517 Since mail that you read is saved in the file
518 .i mbox
519 in your home directory by default, you can read
520 .i mbox
521 in your home directory by using simply
522 .(l
523 % Mail \-f
524 .)l
525 .pp
526 Normally, messages that you examine using the
527 .b type
528 command are saved in the file
529 .q mbox
530 in your home directory if you leave
531 .i Mail
532 with the
533 .b quit
534 command described below.
535 If you wish to retain a message in your system mailbox
536 you can use the
537 .b preserve
538 command to tell
539 .i Mail
540 to leave it there.
541 The
542 .b preserve
543 command accepts a list of message numbers, just like
544 .b type
545 and may be abbreviated to
546 .b pre .
547 .pp
548 Messages in your system mailbox that you do not examine are
549 normally retained in your system mailbox automatically.
550 If you wish to have such a message saved in
551 .i mbox
552 without reading it, you may use the
553 .b mbox
554 command to have them so saved.  For example,
555 .(l
556 mbox 2
557 .)l
558 in our example would cause the second message (from sam)
559 to be saved in
560 .i mbox
561 when the
562 .b quit
563 command is executed.
564 .b Mbox
565 is also the way to direct messages to your
566 .i mbox
567 file if you have set the
568 .q hold
569 option described above.
570 .b Mbox
571 can be abbreviated to
572 .b mb .
573 .pp
574 When you have perused all the messages of interest, you can leave
575 .i Mail
576 with the
577 .b quit
578 command, which saves the messages you have typed but not
579 deleted in the file
580 .i mbox
581 in your login directory.  Deleted messages are discarded irretrievably,
582 and messages left untouched are preserved in your system mailbox so
583 that you will see them the next time you type:
584 .(l
585 % Mail
586 .)l
587 The
588 .b quit
589 command can be abbreviated to simply
590 .b q .
591 .pp
592 If you wish for some reason to leave
593 .i Mail
594 quickly without altering either your system mailbox or
595 .i mbox ,
596 you can type the
597 .b x
598 command (short for
599 .b exit ),
600 which will immediately return you to the Shell without changing anything.
601 .pp
602 If, instead, you want to execute a Shell command without leaving
603 .i Mail ,
604 you
605 can type the command preceded by an exclamation point, just as in the
606 text editor.  Thus, for instance:
607 .(l
608 !date
609 .)l
610 will print the current date without leaving
611 .i Mail .
612 .pp
613 Finally, the
614 .b help
615 command is available to print out a brief summary of the
616 .i Mail
617 commands, using only the single character command abbreviations.