home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / com / utils / elm / sources / users.gui < prev    next >
Text File  |  1991-01-18  |  34KB  |  1,104 lines

  1. .\" @(#)$Id: Users.guide,v 4.1.1.1 90/06/09 22:49:54 syd Exp $
  2. .\"
  3. .\"  Users guide to the ELM mail system.
  4. .\"  format with:
  5. .\"    'tbl Users.guide | troff tmac.n - > Users.fmtd'
  6. .\"
  7. .\"  Elm is now in the public trust. Bug reports, comments, suggestions, flames
  8. .\"  etc. should go to:
  9. .\"    Syd Weinstein        elm@DSI.COM (dsinc!elm)
  10. .\"
  11. .\"  (C) Copyright 1986, 1987 Dave Taylor
  12. .\"  (C) Copyright 1988, 1989, 1990 Usenet Community Trust
  13. .\"
  14. .\"  $Log:    Users.guide,v $
  15. .\" Revision 4.1.1.1  90/06/09  22:49:54  syd
  16. .\" Droped obsolete control Q command from list
  17. .\" From: Joe Wasik
  18. .\"
  19. .\" Revision 4.1  90/04/28  22:41:16  syd
  20. .\" checkin of Elm 2.3 as of Release PL0
  21. .\"
  22. .\"
  23. .tm I trust we've run this through "tbl" first...
  24. .\"  Define the big box macro for troff
  25. .de eb
  26. .sp -1
  27. .nf
  28. .ie t \{\
  29. \h'-.5n'\L'|\\nau-1'\l'\\n(.lu+1n\(ul'\L'-|\\nau+1'\l'|0u-.5n\(ul'
  30. .\}
  31. .el \{\
  32. \h'-.5n'\l'\\n(.lu+1n'
  33. .\}
  34. .fi
  35. ..
  36. .po 1i
  37. .ds h0
  38. .ds h1
  39. .ds h2
  40. .ds f0
  41. .ds f1
  42. .ds f2
  43. .nr Hy 1
  44. .nr Pt 1
  45. .nr Pi 0
  46. .lg 0
  47. .nf
  48. .na
  49. .rs
  50. .za
  51. .\" This will keep the nroff version of the title page on one sheet.
  52. .if t .sv |2.0i
  53. .ce 99
  54. .ps 20
  55. .ss 18
  56. .vs 12
  57. \f3The Elm Users Guide\f1
  58. .sp 3
  59. .ps 12
  60. .ss 14
  61. .vs 14
  62. \f2A painless introduction to electronic mail
  63. using the \f3Elm\fP mail system\f1
  64. .sp 2
  65. Dave Taylor
  66. .sp
  67. Hewlett-Packard Laboratories
  68. 1501 Page Mill Road
  69. Palo Alto CA
  70. 94304
  71. .sp 3
  72. email: taylor\s10@\s12hplabs.HP.COM or hplabs!taylor
  73. .sp 3
  74. >>> Elm is now in the public trust. Bug reports, comments, etc. to: <<<
  75. .sp
  76. Syd Weinstein
  77. Datacomp Systems, Inc.
  78. 3837 Byron Road
  79. Huntingdon Valley, PA 19006-2320
  80. .sp
  81. email: elm\s-1@\s+1DSI.COM  or  dsinc\s-1!\s+1elm
  82. .fi
  83. .ad
  84. .ps 8
  85. .if t .vs 9
  86. .sp 4
  87. \f3ABSTRACT\f1
  88. .ce 0
  89. .sp
  90. .in +1i
  91. .ll -1i
  92. While various Unix utilities have been designed to
  93. take advantage of the CRT screen
  94. (rather than line-oriented systems)
  95. electronic mail systems haven't ``caught the wave''.
  96. This document
  97. presents \f2Elm\f1, a sophisticated
  98. full-screen mail system for interactive use.
  99. \f2Elm\f1 offers all the features of
  100. \f2/bin/mail\f1, \f2Berkeley Mail\f1, \f2uumail\f1, \f2NMail\f1 and
  101. the AT&T Mail family of Unix mailers (namely \f2PMX/TERM\f1) in a
  102. unified and intuitive fashion.
  103. .ll +1i
  104. .in -1i
  105. .if t .sp 3
  106. .if n .sp 2
  107. .ce 2
  108. .ps 18
  109. .if t .vs 14
  110. \f3\(co\f1\s12 Copyright 1986, 1987 by Dave Taylor
  111. .ps 18
  112. \f3\(co\f1\s12 Copyright 1988, 1989, 1990 by The USENET Community Trust
  113. .ps 10
  114. .ss 12
  115. .vs 12
  116. .bp 1
  117. .sv 5v
  118. .ce 99
  119. .ps 14
  120. \f3Elm Users Guide\f1
  121. .ds h0 "Elm Users Guide
  122. .ds h1
  123. .ds h2 "Version 2.3
  124. .ds f0 "May 1, 1990
  125. .ds f1 "Page %
  126. .ps 10
  127. .sp
  128. (Version 2.3)
  129. .sp 2
  130. Dave Taylor
  131. Hewlett-Packard Laboratories
  132. 1501 Page Mill Road
  133. Palo Alto CA
  134. 94304
  135. .sp
  136. email:  taylor\s-1@\s+1hplabs.HP.COM  or  hplabs\s-1!\s+1taylor
  137. .sp 2
  138. >>> Elm is now in the public trust. Bug reports, comments, etc. to: <<<
  139. .sp
  140. Syd Weinstein
  141. Datacomp Systems, Inc.
  142. 3837 Byron Road
  143. Huntingdon Valley, PA 19006-2320
  144. .sp
  145. email: elm\s-1@\s+1DSI.COM  or  dsinc\s-1!\s+1elm
  146. .sp 2
  147. May 1, 1990
  148. .ce 0
  149. .sp 3
  150. .hn 1 Introduction
  151.  
  152. The
  153. .ux
  154. operating system was originally written on a small PDP machine,
  155. to work with teletypewriters.  Consequently, all the original software for
  156. the operating system was written with a `tty' in mind;
  157. with line oriented interfaces, rather than screen oriented.
  158.  
  159. Gradually this began to change, and, with the addition of the Berkeley \f2vi\f1
  160. visual shell to the \f2ed\f1
  161. line editor, the trend began to be brought to the attention of
  162. Unix systems designers.
  163. And yet, this transition has seemed
  164. too subtle for many software engineers,
  165. and so precious few Unix programs are available
  166. designed to exploit the entire CRT screen.
  167.  
  168. Consequently, after becoming more and more disenchanted
  169. with the existing electronic mail facilities (\f2binmail\f1
  170. and \f2Berkeley Mail\f1)
  171. I decided to undertake creating my own system.
  172. Once the ball was rolling it became quite
  173. difficult not to keep enhancing it, especially as I
  174. became more and more familiar with various different mail
  175. systems, but the result, I hope, is a solid, unified interface
  176. to electronic mail suitable for almost any environment.
  177.  
  178. One thing that sets \f3The Elm Mail System\f1 off from
  179. other packages is that it
  180. comes with an extensive documentation set, including;
  181. \f2The Elm Users Guide\f1, which you're holding,
  182. \f2The Elm Reference Guide\f1,
  183. \f2The Elm Alias Users Guide\f1,
  184. \f2The Elm Filter System Users Guide\f1,
  185. \f2The Elm Forms Mode Guide\f1,
  186. and \f2The Elm Configuration Guide\f1.
  187. The names of each indicate
  188. what they discuss (not unreasonably).
  189.  
  190. This particular document contains;
  191. this introduction, a tutorial session with the mailer, a
  192. discussion of non-interactive uses of \f3Elm\f1,
  193. a brief foray into the \f3Elm\f1 utilities,
  194. and finally, credits and references.
  195.  
  196. \f2The Elm Reference Guide\f1 contains a
  197. much more indepth discussion of all the possible options
  198. available within the \f3Elm\f1 environment, including
  199. the \f2``.elm/elmrc''\f1 file,
  200. the available outbound mail processing features,
  201. a section for expert users, suggestions
  202. on debugging strange installations, and
  203. many other useful topics.
  204.  
  205. \f2The Elm Alias Users Guide\f1 is the place
  206. to go to learn about the format of the
  207. ``.elm/aliases.text''
  208. file and the associated data files, to learn how
  209. to create and use path route aliases and domain
  210. based alias routing, system aliases, and other
  211. related topics.
  212.  
  213. One of the more innovative features of \f3Elm\f1 is
  214. the ability to transmit and receive ``forms'' (as
  215. defined by the AT&T Mail system).  To learn about
  216. how to create and reply to forms you should refer
  217. to \f2The Elm Forms Mode Guide\f1.
  218.  
  219. If you find yourself getting too much mail delivered in
  220. your mailbox, you might be a good candidate for the
  221. \f2filter\f1 program.  To learn more about what
  222. this program is and how to use it please
  223. consult \f2The Elm Filter System Users Guide\f1.
  224.  
  225. Finally, if you're working with the actual source code
  226. and are interested in what all the locally configured
  227. options are and mean, please see
  228. \f2The Elm Configuration Guide\f1.  It is
  229. strongly suggested that all system administrators
  230. and people installing the system print out the
  231. local ``sysdefs.h'' file and have it handy while
  232. reading the configuration guide.
  233.  
  234. The recommended order of learning the \f3Elm\f1
  235. system is to skim this guide until you feel
  236. confident enough to start up the program.  Once
  237. that's reached, \f2use it!\f1  Soon you'll find
  238. areas that you need to expand into, and you can
  239. achieve that by going into the \f2o)ptions\f1
  240. screen within \f2elm\f1 and changing your
  241. user level accordingly.
  242. After a while, sit down again and read through this
  243. guide.  You should have a couple of ``aha!'' intuitive
  244. flashes.  After another period of time, you're
  245. ready to delve into the real power of the system
  246. and read the reference guide.  The other manuals
  247. should be read as the need arises.
  248.  
  249. In any case, the system should be useable without reading
  250. \f2any\f1 of the documentation!
  251.  
  252. Any comments or problems with any of the documentation or the program
  253. itself are welcome; if you can't get electronic mail to me, please
  254. feel free instead to drop me a note via the overland mail address
  255. in the title page.
  256. .br
  257. .ne 20
  258. .sp
  259. .hn 1 The Main System
  260.  
  261. Upon entry to the program, the main screen will be
  262. displayed as below;
  263.  
  264. .\" display start, constant width, remember loc for BOX
  265. .ft CW
  266. .zf
  267. .ps 9
  268. .mk a
  269. .mk a
  270. .sp
  271. .ce
  272. Mailbox is '/usr/mail/mymail' with 15 messages  [Elm 2.2]
  273. .TS
  274. r l n l l l l.
  275.  ->    N    1    Apr 24    Larry Fenske    (49)    Hello there
  276.     N    2    Apr 24    jad@hpcnoe    (84)    Chico?  Why go there?
  277.     E    3    Apr 23    Carl Smith    (53)    Dinner tonight?
  278.     NU    4    Apr 18    Don Knuth    (354)    Your version of TeX...
  279.     N    5    Apr 18    games    (26)    Bug in cribbage game
  280.      A    6    Apr 15    kevin    (27)    More software requests
  281.         7    Apr 13    John Jacobs    (194)    How can you hate RUSH?
  282.      U    8    Apr 8    decvax!mouse    (68)    Re: your Usenet article
  283.         9    Apr 6    root    (7)
  284.     O    10    Apr 5    root    (13)
  285. .TE
  286. .sp
  287. .ce 3
  288. You can use any of the following commands by pressing the first character;
  289. d)elete or u)ndelete mail, m)ail a message, r)eply or f)orward mail, q)uit
  290. To read a message, press <return>.  j = move down, k = move up, ? = help
  291.  Command : @
  292. .sp
  293. .\" draw box, proportional Roman font back, display end
  294. .eb
  295. .ps 10
  296. .ft 1
  297.  
  298. There are a number of things to notice about this, the main screen;
  299.  
  300. .lp \h'12p'\(bu 20p
  301. Most likely, on your computer the message currently ``active'' will be
  302. displayed in an inverse bar rather than being delimited by the two
  303. character arrow as here.  It's nothing to worry about; displaying
  304. inverse video is just quite difficult on printable guides!
  305.  
  306. .lp \h'12p'\(bu 20p
  307. The first line on the screen always displays the name of the current folder,
  308. the number of messages in the folder, and the current \f3Elm\f1 version number.
  309.  
  310. .lp \h'12p'\(bu 20p
  311. The arrow (``->'') or inverse video bar will always
  312. indicate which is the current message.
  313.  
  314. .lp \h'12p'\(bu 20p
  315. The first field that appears associated with each message is
  316. the status field.  This can be blank (as with most of the
  317. ones above, or can have any combination of the following:
  318.  
  319. The first character signifies temporary status:
  320.  
  321. .ta .75iC 102p
  322. .nf
  323.     E    for an \f2expired\f1 message
  324.     N    for a \f2new\f1 message
  325.     O    for an \f2old\f1 (i.e. not new but not read) message
  326.     D    for a \f2deleted\f1 message
  327.  
  328. The second character which signifies permanent status:
  329.  
  330.     U    for \f2urgent\f1 mail
  331.     A    for messages that have an \f2action\f1 associated with them
  332.     F    for a \f2form\f1 letter
  333. .fi
  334.  
  335. The third character of the status field can be a ``+'' to
  336. indicate that the message is \f2tagged\f1 too.
  337.  
  338. .lp \h'12p'\(bu 20p
  339. Continuing from left to right, the next field is the message
  340. number.  For the most part you can ignore these unless you want
  341. to quickly move to a specific message (as we'll see later).
  342.  
  343. .lp \h'12p'\(bu 20p
  344. The date associated with each message is typically
  345. the date the person actually \f2sent\f1 the message.
  346.  
  347. .lp \h'12p'\(bu 20p
  348. The next field displayed indicates whom the message is from.
  349. \f3Elm\f1 will try to display the \f2full name\f1 of the person who
  350. sent the message, rather than the their return address or computer login.
  351. Some systems don't generate the correct headers, though, hence
  352. messages like numbers 2 and 8, where it's their return address.
  353.  
  354. .lp \h'12p'\(bu 20p
  355. The number in parentheses is the total number of lines in the message.
  356.  
  357. .lp \h'12p'\(bu 20p
  358. The final field is the subject of the message.  Notice
  359. that messages might not have any subject, as in messages #9 and #10.
  360.  
  361. .lp \h'12p'\(bu 20p
  362. A maximum of ten messages are displayed at one time\s-2\u1\d\s0.
  363. .fn
  364. 1. On screens with greater than 25 lines, more messages will be
  365. displayed automatically.  Further, if you choose to turn off
  366. the Menu display, you can have an even greater number
  367. displayed.
  368. .ef
  369. Further into the document we'll learn how to change ``pages'' in the folder.
  370.  
  371. .lp \h'12p'\(bu 20p
  372. The three line Menu display will always
  373. indicate the relevant commands.  There are actually two possible
  374. menus that can be displayed, based
  375. on the \f2user level\f1 as set from either the o)ptions screen or
  376. the \f2.elm/elmrc\f1
  377. file.  The alternate menu, for more advanced users,
  378. lists more options;
  379. .sp
  380. .ft CW
  381. .zf
  382. .ps 9
  383. .ce 3
  384. |=pipe, !=shell, ?=help, <n>=set current to n, /=search pattern
  385. a)lias, C)copy, c)hange folder, d)elete, e)dit, f)orward, g)roup reply, m)ail,
  386. n)ext, o)ptions, p)rint, r)eply, s)ave, t)ag, q)uit, u)ndelete, or e(x)it
  387. .ps 10
  388. .ft 1
  389.  
  390. .lp \h'12p'\(bu 20p
  391. Finally, the '@' character indicates where the cursor would be, awaiting
  392. your input.
  393.  
  394. .sp
  395. .in 0
  396. The typical action at this point is to use the \f2<return>\f1
  397. key to read the current message, which will clear the
  398. screen and display the current message:
  399.  
  400. .ne 10
  401. .ft CW
  402. .zf
  403. .ps 9
  404. .mk a
  405. .tl ' Message 1/15 from Larry Fenske''Apr 24 \'87 at 8:45 pm'
  406. .tl ''Hello there''
  407. .nf
  408.  Dave,
  409.       Just wanted to drop you a brief note to see what was going on with
  410.  you this afternoon.  Life here has been the usual fun and games...
  411.          Ah well, off to the great wilds beyond the desk!
  412.                 Larry
  413.  Command ('i' to return to index): @
  414. .fi
  415. .eb
  416. .ft 1
  417. .ps 10
  418.  
  419. Before we go further with our example, however, let's very
  420. quickly look at all the functions available from the main
  421. screen:
  422. .\" ensure we get a reasonable chunk of this table on the page...
  423. .br
  424. .ne 10
  425. .lp \h'18p'\f3Command 90p
  426. Action\f1
  427.  
  428. .lp "\h'18p'<return> or <space>" 90p
  429. Read current message.
  430. .lp \h'18p'| 90p
  431. Pipe current message or tagged messages to specified system command.
  432. .lp \h'18p'! 90p
  433. Shell escape.
  434. .lp \h'18p'$ 90p
  435. Resynchronize folder.
  436. .lp \h'18p'? 90p
  437. Help mode \(em any key pressed will be explained.
  438. .lp "\h'18p'+ or <right>" 90p
  439. Display next page of headers.
  440. .lp "\h'18p'- or <left>" 90p
  441. Display previous page of headers.
  442. .lp \h'18p'= 90p
  443. Set current message to 1.
  444. .lp \h'18p'* 90p
  445. Set current to last message.
  446. .lp \h'18p'<number><return> 90p
  447. Set current message to number \f2number\f1.
  448. .lp \h'18p'/ 90p
  449. Search for pattern in subject/from lines.
  450. .lp \h'18p'// 90p
  451. Search for pattern in entire folder.
  452. .lp \h'18p'< 90p
  453. Scan message for calendar entries.\s-2\u2\d\s0
  454. .fn
  455. 2. Some sites might opt not to have the calendar feature available.
  456. .ef
  457. .lp \h'18p'> 90p
  458. A synonym for `s' \(em \f2save\f1 message or messages.
  459. .sp
  460. .lp \h'18p'a 90p
  461. Alias, change to ``alias'' mode.
  462. .lp \h'18p'b 90p
  463. Bounce \(em remail message [see \f2f \(em forward\f1 too].
  464. .lp \h'18p'C 90p
  465. Copy current message or tagged messages to folder.
  466. .lp \h'18p'c 90p
  467. Change to another folder.
  468. .lp \h'18p'd 90p
  469. Delete current message.
  470. .lp \h'18p'<control>-D 90p
  471. Delete all messages matching specified pattern.
  472. .lp \h'18p'e 90p
  473. Edit current folder, resyncing upon reentry.\s-2\u3\d\s0
  474. .fn
  475. 3. Some sites might opt not to have the edit folder feature available.
  476. .ef
  477. .lp \h'18p'f 90p
  478. Forward message to specified user.\s-2\u4\d\s0
  479. .fn
  480. 4. The difference between \f2Forward\f1 and \f2Bounce\f1 is rather
  481. subtle \(em a forwarded message is ``from'' you, with the
  482. original message included, whereas a bounced message
  483. is still from the original sender.
  484. .ef
  485. .lp \h'18p'g 90p
  486. Group reply \(em reply to everyone who received the current message.
  487. .lp \h'18p'h 90p
  488. Display message with headers.
  489. .lp \h'18p'J 90p
  490. Set current to next message.
  491. .lp "\h'18p'j or <down>" 90p
  492. Set current to next message not marked deleted.
  493. .lp \h'18p'K 90p
  494. Set current to previous message.
  495. .lp "\h'18p'k or <up>" 90p
  496. Set current to previous message not marked deleted.
  497. .lp \h'18p'l 90p
  498. Limit displayed messages based on the specified criteria.
  499. .lp \h'18p'<control>-L 90p
  500. Rewrite screen.
  501. .lp \h'18p'm 90p
  502. Mail to arbitrary user(s).
  503. .lp \h'18p'n 90p
  504. Read current message, then increment to next message not marked deleted.
  505. .lp \h'18p'o 90p
  506. Alter current system options.
  507. .lp \h'18p'p 90p
  508. Print current message or tagged messages.
  509. .lp \h'18p'q 90p
  510. Quit \(em maybe prompting for messages to delete, store, or keep.
  511. .lp \h'18p'Q 90p
  512. Quick quit \(em like quit but without prompting.
  513. .lp \h'18p'r 90p
  514. Reply to the author of current message.
  515. .lp \h'18p's 90p
  516. Save current message or tagged messages to folder.
  517. .lp \h'18p't 90p
  518. Tag current message.
  519. .lp \h'18p'<control>-T 90p
  520. Tag all messages matching specified pattern.
  521. .lp \h'18p'u 90p
  522. Undelete current message.
  523. .lp \h'18p'<control>-U 90p
  524. Undelete all messages matching specified pattern.
  525. .lp \h'18p'x 90p
  526. Exit \(em prompt if mailbox changed, don't record as read, don't save...
  527. .lp \h'18p'X 90p
  528. Exit immediately \(em don't record as read, don't save...
  529. .in 0
  530. .\" again, make sure we start on a new page please
  531. .br
  532. .ne 10
  533. But let's go back to our example and see some of this at
  534. work, shall we?
  535. .sp
  536. We were reading the message from Larry and the screen looked
  537. like:
  538.  
  539. .ne 10
  540. .ft CW
  541. .zf
  542. .ps 9
  543. .mk a
  544. .tl ' Message 1/15 from Larry Fenske''Apr 24 \'87 at 8:45 pm'
  545. .tl ''Hello there''
  546. .nf
  547.  Dave,
  548.       Just wanted to drop you a brief note to see what was going on with
  549.  you this afternoon.  Life here has been the usual fun and games...
  550.           Ah well, off to the great wilds beyond the desk!
  551.                 Larry
  552.  Command ('i' to return to index): @
  553. .fi
  554. .eb
  555. .ft 1
  556. .ps 10
  557.  
  558. From this point let's go ahead and reply to the message.  To
  559. do this, we can use the \f2reply\f1 command...
  560. To do this, we type ``r'' and the last few lines change to
  561. something like:
  562. .ft CW
  563. .zf
  564. .ps 9
  565. .sp
  566. .tl '-------------------------------------------------------------------------------''
  567. .tl 'Command: Reply to message''Copy message (y/n) ? @ '
  568. .sp 2
  569. .ft 1
  570. .ps 10
  571. To which we decide that we don't need the text of this message in
  572. our new one, so we reply \f2no\f1 by pressing the ``n'' key.  The
  573. bottom part of the window then changes to:
  574. .ft CW
  575. .zf
  576. .ps 9
  577. .sp
  578. .tl '-------------------------------------------------------------------------------''
  579. .tl 'Command: Reply to message''To: Larry Fenske '
  580. .tl 'Subject: Re: Hello there@''
  581. .ft 1
  582. .ps 10
  583. .sp 2
  584. at this point we can either decide to enter a new subject (you could
  585. use either \f2backup word\f1 (<control>-W) or \f2backup line\f1 (this
  586. is the same as your `line kill' character, <control>-X or <control>-U
  587. usually)) or go with this one by pressing \f2<return>\f1.  We'll
  588. just leave it as it is and press \f2<return>\f1, changing the
  589. screen to:
  590. .ps 9
  591. .ft CW
  592. .zf
  593. .sp
  594. .tl '-------------------------------------------------------------------------------''
  595. .tl 'Command: reply to message''To: Larry Fenske '
  596. .tl 'Subject: Re: Hello there''
  597. .tl 'Copies to: @'''
  598. .ps 10
  599. .ft 1
  600. .sp
  601. There's no one we want to have receive copies of this message, so we'll
  602. just press \f2<return>\f1 again to indicate this.
  603.  
  604. Once you've answered these questions the program will put you into
  605. your favorite editor and let you compose a response.  When you're
  606. done it then asks:
  607. .ps 9
  608. .ft CW
  609. .zf
  610. .sp
  611. .tl ''-------------------------------------------------------------------------------''
  612. .tl 'Please choose one of the following options by parenthesized letter: @'''
  613. .tl ''e)dit message, edit h)eaders, s)end it, or f)orget it.''
  614. .ft 1
  615. .ps 10
  616. .sp
  617. Since we're just interested in sending the message out, we'll
  618. choose the \f2send\f1 option and press ``s''.  The program
  619. then sends the message, indicating that by the line below
  620. saying:
  621. .sp
  622. .ps 9
  623. .ft CW
  624. .zf
  625.     Sending mail...
  626. .ft 1
  627. .ps 10
  628. .sp
  629. then putting at the bottom of the screen ``Mail sent!'' and giving us
  630. the prompt:
  631. .ps 9
  632. .ft CW
  633. .zf
  634. .sp
  635. .tl ''-------------------------------------------------------------------------------''
  636. .tl 'Command:''(Use \'i\' to return to index.)''
  637. .sp
  638. .ps 10
  639. .ft 1
  640. Pretty easy, isn't it?  Let's continue by going back to the main
  641. screen by requesting \f2index\f1: pressing the ``i'' key.  The
  642. screen is then:
  643.  
  644. .ne 20
  645. .ft CW
  646. .zf
  647. .ps 9
  648. .mk a
  649. .mk a
  650. .sp
  651. .ce
  652. Mailbox is '/usr/mail/mymail' with 15 messages  [Elm 2.2]
  653. .TS
  654. r l r l l l l.
  655.  ->        1    Apr 24    Larry Fenske    (49)    Hello there
  656.     N    2    Apr 24    jad@hpcnoe    (84)    Chico?  Why go there?
  657.     E    3    Apr 23    Carl Smith    (53)    Dinner tonight?
  658.     NU    4    Apr 18    Don Knuth    (354)    Your version of TeX...
  659.     N    5    Apr 18    games    (26)    Bug in cribbage game
  660.      A    6    Apr 15    kevin    (27)    More software requests
  661.         7    Apr 13    John Jacobs    (194)    How can you hate RUSH?
  662.      U    8    Apr 8    decvax!mouse    (68)    Re: your Usenet article
  663.         9    Apr 6    root    (7)
  664.     O    10    Apr 5    root    (13)
  665. .TE
  666. .sp
  667. .ce 3
  668. You can use any of the following commands by pressing the first character;
  669. d)elete or u)ndelete mail, m)ail a message, r)eply or f)orward mail, q)uit
  670. To read a message, press <return>.  j = move down, k = move up, ? = help
  671.  Command : @
  672. .sp
  673. .\" draw box, proportional Roman font back, display end
  674. .eb
  675. .ft 1
  676. .ps 10
  677.  
  678. .ft 1
  679. Notice that the first message is no longer marked as \f2new\f1
  680. since we've now read it.
  681. .sp
  682. Let's go ahead and read the message from kevin (message #6) since
  683. it has some sort of \f2action\f1 associated with it anyway.  To
  684. do this, we simply press the ``6'' key, which will change the
  685. bottom of the screen to:
  686. .sp
  687. .ps 9
  688. .ft CW
  689. .zf
  690. .tl 'Command: New Current Message''Set current message to : 6@'
  691. .ft 1
  692. .ps 10
  693. .sp
  694. We'll just press \f2<return>\f1 to move the active message
  695. pointer (the arrow).
  696. .sp
  697. Now we're pointing at the new message, so let's go ahead and read
  698. it by pressing \f2<return>\f1 again, giving us:
  699.  
  700. .ne 10
  701. .ft CW
  702. .zf
  703. .ps 9
  704. .mk a
  705. .tl ' Message 6/15 from kevin''Apr 15 \'87 at 11:36 am'
  706. .tl ''More software requests''
  707.  Action: please acknowledge receipt
  708.  I don't suppose you have a nifty netnews reader around too, do you??
  709.  --
  710.  kevin
  711.  Command ('i' to return to index): @
  712. .eb
  713. .sp
  714. .ps 10
  715. .ft 1
  716.  
  717. .br
  718. .ne 5
  719. Well, it turns out that we don't, but a friend of ours does, so
  720. let's \f2forward\f1 the message to them by pressing ``f'':
  721. .ps 9
  722. .ft CW
  723. .zf
  724. .sp
  725. .tl '-------------------------------------------------------------------------------''
  726. .tl 'Command: Forward message''Edit outgoing message (y/n) ? @ '
  727. .ft 1
  728. .ps 10
  729. .sp 2
  730. No need to edit it, so let's answer \f2no\f1 with ``n'':
  731. .sp
  732. .ps 9
  733. .ft CW
  734. .zf
  735. .tl '-------------------------------------------------------------------------------''
  736. .tl 'Command: Forward message''Edit outgoing message (y/n) ? No '
  737. .tl 'To: @'''
  738. .ps 10
  739. .ft 1
  740. .sp
  741. We type in the address of the person we're forwarding to (in
  742. this case
  743. .ft CW
  744. .zf
  745. usenet\f1) and press
  746. \f2<return>\f1:
  747. .ft CW
  748. .zf
  749. .ps 9
  750. .sp
  751. .tl '-------------------------------------------------------------------------------''
  752. .tl 'Command: Forward message''To: usenet '
  753. .tl 'Subject: More software requests (fwd)@'
  754. .ft 1
  755. .ps 10
  756. .sp
  757. To which we again press \f2<return>\f1 to take the default subject.
  758. \f3Elm\f1 asks for any possible copy recipients, asks us if we're
  759. sure we want to send it, and shoots it off.
  760. .sp
  761. Enough mail for now, however, so we just \f2exit\f1 by pressing
  762. the ``x'' key and the program drops us back into our shell.
  763. .sp 2
  764. As you can see, it's quite easy to use the \f3Elm\f1 system, so
  765. rather than continue with our example, let's
  766. look at some other aspects of the program.
  767. .br
  768. .ne 5
  769. .sp
  770. .hn 1 Non-Interactive Uses of Elm
  771.  
  772. Before we go ahead and discuss the \f3Elm\f1 utilities, it's worth
  773. noting that
  774. there are a couple of other ways to use the main mail
  775. system, namely to `send only' and to send files (batchmail).
  776.  
  777. To send a message to someone without any of the associated
  778. overhead of reading in a mail folder, you can invoke the
  779. mailer with the name(s) of the people to send to.  For example:
  780. .nf
  781.   $ \f3elm dave_taylor\f1
  782. .fi
  783. The
  784. mailer will then prompt for Subject, Copies, and then drop
  785. you in your editor (defined in the \f2.elm/elmrc\f1 file) to compose
  786. the message.   When composition is complete, the program
  787. verifies transmission then terminates.
  788.  
  789. .ne 3
  790. The mailer also supports batch type mailing, of files and so on,
  791. by using the following command:
  792. .nf
  793.   $ \f3elm dave_taylor < help.c\f1
  794. .fi
  795. which will read in the file and transmit it to the specified user.
  796.  
  797. .ne 3
  798. A subject may be specified with ``-s \f2subject\f1'' as an option
  799. to the program in either `send only' or `batch' modes, as in:
  800. .nf
  801.   $ \f3elm -s "File help.c, as promised" dave_taylor < help.c\f1
  802. .fi
  803. .br
  804. .ne 5
  805. .sp
  806. .hn 1 The Elm Utilities
  807.  
  808. The \f3Elm\f1 mail system is really much more than a single
  809. program for reading and writing mail.  It's a unified
  810. environment for intelligently dealing with electronic
  811. correspondence.  As a consequence, it contains a number of other
  812. programs to aid in the easy processing of `email',
  813. including the following;
  814.  
  815. .lp \h'10p'answer 1.0i
  816. An answering-machine transcription program.  Please see the
  817. manual entry for more information on how to use this program.
  818.  
  819. .lp \h'10p'autoreply 1.0i
  820. This program, in conjunction with the ``arepdaemon'', enables users
  821. to automatically reply to incoming mail when they're not directly
  822. available.
  823.  
  824. .lp \h'10p'checkalias 1.0i
  825. A script for checking aliases simply.
  826.  
  827. .lp \h'10p'messages 1.0i
  828. A script that lists the number of messages in the specified
  829. folder.  Suitable for login scripts and such.
  830.  
  831. .lp \h'10p'newmail 1.0i
  832. This program monitors a mailbox or set of mailboxes and can
  833. output notification of new mail in one of two possible
  834. formats; either:
  835.  
  836. .ne 6
  837. .ft CW
  838. .zf
  839. .ps 9
  840. >> New mail from Jimmy Carter - Urgent matters of state
  841. >> New mail from joe@ucbvax.arpa - Did I hear someone say PARTY??
  842. .ft 1
  843. .ps 10
  844.  
  845. if running as \f2newmail\f1 or:
  846.  
  847. .ft CW
  848. .zf
  849. .ps 9
  850. Jimmy Carter -- Urgent matters of state
  851. joe@ucbvax.arpa -- Did I hear someone say PARTY??
  852. .ft 1
  853. .ps 10
  854.  
  855. if running as \f2wnewmail\f1.  BSD Users will find this is
  856. a far superior \f2biff\f1 program.
  857.  
  858. .lp \h'10p'wnewmail 1.0i
  859. This is the same program as newmail, but has different
  860. defaults if invoked this way.
  861.  
  862. .lp \h'10p'readmsg 1.0i
  863. This handy little program can be used in two ways.  First off,
  864. it can be used to easily read a specific message in the
  865. incoming mailbox, specified by ordinal number, by a string that
  866. the message contains, by the metacharacter `$' which
  867. represents the last message in the folder, or `*' which matches
  868. all the messages in the folder.
  869.  
  870. For example;
  871.  
  872. $ \f3readmsg 4 5 9 | lpr\f1
  873.  
  874. would generate a printout, \f2sans\f1 superfluous headers, of the fourth,
  875. fifth and ninth messages in your mailbox.
  876.  
  877. $ \f3readmsg Carter | page\f1
  878.  
  879. would be a fast way to read what `ole Jimmy has to say...
  880. and
  881.  
  882. $ \f3readmsg -h hear someone say\f1
  883.  
  884. would list, including all the message headers, the message
  885. containing the string ``hear someone say''.
  886.  
  887. .lp \h'10p'frm 1.0i
  888. Similar to the Berkeley \f2from\f1 command, this will
  889. give you a ``table of contents'' of either the current
  890. mailbox or a mailbox of your choice.   It's useful to
  891. see what mail is pending, or what's in a mailbox.
  892. If used with the `-n' option, it will number each message
  893. in a way compatible with the arguments \f2readmsg\f1
  894. expects to get, too!
  895.  
  896. .lp \h'10p'newalias 1.0i
  897. This is used to install new user/group aliases.  Please see
  898. \f2The Elm Alias Users Guide\f1 for further information on this!
  899.  
  900. .lp \h'10p'fastmail 1.0i
  901. Sometimes you want to have a batchmailing system that works as
  902. quickly as possible, not bothering with aliases or any of the
  903. other ``deluxe'' features of \f3Elm\f1.  An example of this would
  904. be if you have a large mailing list for a newsletter, say.
  905. This command, \f2fastmail\f1, is designed just for that purpose.
  906. It avoids the lengthy startup time of \f3Elm\f1 while still
  907. generating valid \f2RFC-822\f1\s-2\u5\d\s0 mail.
  908. .fn
  909. 5. If you don't know what RFC-822 is, don't worry about it!
  910. .ef
  911. Please see the manual entry for more information on this
  912. command.
  913. .in 0
  914. .br
  915. .ne 5
  916. .sp
  917. .hn 1 Credits and So on
  918.  
  919. This mailer has been evolving over the past few years with
  920. invaluable comments on the interface and general mail
  921. issues from the following people;
  922. Jim Davis, Steve Wolf (or should that say Steve!! Wolf!!!! perhaps?),
  923. Larry Fenske, Rob Sartin,
  924. John Dilley and Carl Dierschow.
  925. .sp
  926. For the Berkeley implementation, lots of help came from
  927. both John Lebovitz and Ken Stone.
  928. .sp
  929. For the Amdahl/UTS implementation, thanks to Scott McGregor and
  930. Stan Isaacs.
  931. .sp
  932. For the Sun problems, Dave England in Lancaster (UK) turned out to be
  933. ``bloody useful'', as he would no doubt say.
  934. .sp
  935. The Pyramid version is due to the work of Steve Malone
  936. of the University of Washington.
  937. .sp
  938. A number of other people have been amazingly disciplined at reporting
  939. problems and (usually, much to my relief) indicating the fixes needed,
  940. especially Guy Hillyer, Bruce Townsend and Eric Negaard.
  941. .sp
  942. There have been many, many others, too numerous to mention, that
  943. have inspired me with questions like "Why can't Elm..." or
  944. "Why does it ..." or "Can we make it..." too.  A loud round of
  945. applause and an enthusiastic THANK YOU to you all!!
  946. .sp
  947. Also helpful was the ability to have my `own' machine to
  948. close up the many many iterative loops that this software
  949. has gone through \(em since being on a big multi-user machine
  950. tends to slow it down to a standstill...
  951. For that, I thank Hewlett-Packard Colorado Networks Division for their
  952. initial support, and now HP Laboratories for the wonderful working
  953. environment that I have here (more than any one person is safe having,
  954. I suspect).
  955. .sp
  956. Mailers that have influenced the design and implementation of \f3Elm\f1,
  957. for better or worse, include the following;
  958.  
  959. .lp \h'4p'\f2/bin/mail\f1 1.0i
  960. The most basic of mailers, this one was simply the example of how \f2not\f1
  961. to force the user to interact with a program.
  962.  
  963. .lp "\h'4p'\f2Berkeley Mail\f1" 1.0i
  964. A surprisingly sophisticated mailer, especially the version with 4.3 BSD,
  965. \f2Berkeley Mail\f1 still suffers from the tendency to force the user to
  966. know too much about the system, and also lacks a friendly, non-cryptic
  967. interface for the large subset of the population that use Unix but aren't
  968. interested in becoming a ``hacker''.
  969.  
  970. .lp \h'4p'\f2MH\f1 1.0i
  971. This is another nifty mailer.  The main difference between this and the
  972. other mailers about is that it is a discrete set of programs rather than
  973. a single unified interface.  This is quite useful for those people that
  974. receive \f2lots\f1 of mail and are willing to spend some time learning
  975. the intricacies of the program.  It's quite powerful, but again, misses some
  976. of the basic friendly features the majority of users are interested in.
  977.  
  978. .lp \h'4p'\f2dmail\f1 1.0i
  979. A sort of mutated cross between \f2MH\f1 and \f2Berkeley Mail\f1, it was
  980. this program that convinced me to implement the \f2Limit\f1 functions.
  981.  
  982. .lp \h'4p'\f2NMail\f1 1.0i
  983. (a part of the HP AI Workstation Software Environment).  This program hints
  984. at the power that mailers could be given to help deal with mail in a quick
  985. and intelligent fashion.  Most of what it can do, and a lot more, are
  986. therefore part of \f3Elm\f1.  Indubitably.  And quite faster too!
  987.  
  988. .lp \h'4p'\f2PMX/TERM\f1 1.0i
  989. Part of the AT&T Mail package, a single glance at this interface convinced
  990. me that a PC interface, with almost half of the screen taken up by a silly
  991. function key mapping, is most certainly \f2not\f1 the way to do things!!
  992. On the other hand, it also shows that the \f2Forms\f1 mode can be quite
  993. nicely integrated into a more sophisticated mailer.
  994.  
  995. .lp \h'4p'\f2fmail\f1 1.0i
  996. A nickel addition to the \f2/bin/mail\f1 program to add some rudimentary
  997. screen interface stuff, this nonetheless interesting mailer is part of
  998. the AT&T Toolchest.
  999.  
  1000. .lp \h'4p'\f2Laurel\f1 1.0i
  1001. A program only available within Xerox PARC, this was an interesting
  1002. early attempt at a graphics based full-screen mail program.  The one,
  1003. perhaps trivial, part of the interface I really like was the fact that
  1004. it would \f2cross out\f1 a message that was marked for deletion.  One
  1005. day when we get real graphics and the ability to use them indicated in
  1006. a facility (not too) like \f2termcap\f1, perhaps \f3Elm\f1 will do
  1007. this too!
  1008.  
  1009. .lp \h'4p'\f2Mailtool\f1 1.0i
  1010. Part of the Sun distribution package, this program is a really nice
  1011. example of what can be done by putting a smart shell on top of a dumb
  1012. program \(em it uses \f2/bin/mail\f1 for all the `dirty work'.  Other than
  1013. that, it's not a particularly interesting interface or mailer, and it
  1014. certainly doesn't add much functionality!
  1015.  
  1016. .lp \h'4p'\f2Metamail\f1 1.0i
  1017. What can I say?  This isn't even a real mailer, but is just what I dream
  1018. of as an interface to mail in the future.  A program that works sort of
  1019. like \f3HAL\f1 did in \f22001: A Space Odyssey\f1 \(em where it interrupts
  1020. me as appropriate for important mail, and can answer inane and other
  1021. queries itself according to what I teach it.  Maybe \f3Elm\f1, by some sort
  1022. of groupmind metamorphosis, will change into that someday.  Maybe not.  Maybe
  1023. no-one bothers to read this far into the document!!
  1024.  
  1025. .in 0
  1026. Finally, it's also been a very useful experience overall,
  1027. confirming my beliefs that iterative software design and
  1028. keeping a close watch on users (not to mention an open
  1029. mind and mailbox!) improves a product manyfold.  Comments,
  1030. feedback and bug reports (and fixes!) are, of course, always welcome!
  1031. .br
  1032. .ne 5
  1033. .sp
  1034. .hn 1 "Credits and So on Part II - The Usenet Elm Development Group"
  1035.  
  1036. As coordinator of the Elm Development Group, I must add to the credits.
  1037. This group of volunteers has taken the Elm code from Dave Taylor and
  1038. added features, made it more robust, and more portable.
  1039. .sp
  1040. For getting the Usenet Elm group going, for without which I wouldn't be
  1041. writing this, thanks to Greg Hackney at Southwestern Bell Telephone Co.
  1042. .sp
  1043. For the Configuration system and its newer Dist 2.0 version, thanks are
  1044. due to Larry Wall of JPL-NASA.
  1045. .sp
  1046. For his over two hundred sets of changes to version 2.2, Elm owes a lot
  1047. to Rob Bernardo at Pacbell.
  1048. .sp
  1049. The ability to run Elm at all on Intel 286 machines owes a lot to the
  1050. insistent nudging of the coordinator by Chip Salzenberg,
  1051. Chip Rosenthal, and Tim Evans.
  1052. .sp
  1053. For getting us the rights to use the news macros and converting all
  1054. the documentation over to those macros, thanks to Mike Brown.
  1055.  
  1056. Now, before I get accused of leaving someone out, here are the
  1057. members of the Elm Development and the Elm Testing Group:
  1058. .sp
  1059. Jonathan Bayer,
  1060. Rob Bernardo,
  1061. Doug Blair,
  1062. Kevin Bond,
  1063. Mike Brown,
  1064. Ed Clarke,
  1065. Steven Donegan,
  1066. Paul Ebersman,
  1067. Avi Feldblum,
  1068. Steven Goodman,
  1069. Greg Hackney,
  1070. Mark Hahn,
  1071. Mitch Hamilton,
  1072. Ed Hann,
  1073. David Hawkins,
  1074. Nate Hess,
  1075. Phil Hochstetler,
  1076. Bud Hovell,
  1077. Kenneth Ingham,
  1078. Chad Larson,
  1079. Warren Lavallee,
  1080. Howard Leadman,
  1081. John A. Limpert,
  1082. Andy Linton,
  1083. Darrell McIntosh,
  1084. Datta Miruke,
  1085. Paul M. Moriarty,
  1086. Andrew Mossberg,
  1087. Robert B. Nelson,
  1088. Leo C. Noordhuizen,
  1089. Brian O'Neill,
  1090. Fairfax O'Riley,
  1091. Pete Phillips,
  1092. Dave Rasmussen,
  1093. Len Rose,
  1094. Chip Rosenthal,
  1095. Chip Salzenberg,
  1096. Ray Smith,
  1097. Gary Trujillo,
  1098. Ed Wells,
  1099. Mike Whitman,
  1100. Dave Yearke,
  1101. Jon Zeeff,
  1102. and
  1103. Syd Weinstein, Elm Coordinator.
  1104.