home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / share / doc / usd / 07.Mail / mail2.nr < prev    next >
Encoding:
Text File  |  1991-04-17  |  15.5 KB  |  618 lines

  1. .\" Copyright (c) 1980 The Regents of the University of California.
  2. .\" 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    6.3 (Berkeley) 4/17/91
  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 /usr/lib/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.
  618.