TTTThhhheeee EEEEllllmmmm UUUUsssseeeerrrrssss GGGGuuuuiiiiddddeeee _A _p_a_i_n_l_e_s_s _i_n_t_r_o_d_u_c_t_i_o_n _t_o _e_l_e_c_t_r_o_n_i_c _m_a_i_l _u_s_i_n_g _t_h_e EEEEllllmmmm _m_a_i_l _s_y_s_t_e_m The Elm Mail System (Version 2.4) Syd Weinstein, Elm Coordinator Datacomp Systems, Inc. 3837 Byron Road Huntingdon Valley, PA 19006-2320 email: elm@DSI.COM or dsinc!elm AAAABBBBSSSSTTTTRRRRAAAACCCCTTTT While various Unix utilities have been designed to take advantage of the CRT screen (rather than line-oriented systems) electron- ic mail systems haven't ``caught the wave''. This document presents _E_l_m, a sophisticated full-screen mail system for interactive use. _E_l_m offers all the features of /_b_i_n/_m_a_i_l, _B_e_r_k_e_l_e_y _M_a_i_l, _u_u_m_a_i_l, _N_M_a_i_l and the AT&T Mail family of Unix mailers (namely _P_M_X/_T_E_R_M) in a unified and intuitive fashion. Copyright 1986,1987 by Dave Taylor Copyright 1988-1992 by The USENET Community Trust EEEEllllmmmm UUUUsssseeeerrrrssss GGGGuuuuiiiiddddeeee (The Elm Mail System, Version 2.4) October 1, 1992 Syd Weinstein Datacomp Systems, Inc. 3837 Byron Road Huntingdon Valley, PA 19006-2320 email: elm@DSI.COM or dsinc!elm Derived from "The Elm Mail System, Version 2.0" by Dave Taylor Intuitive Systems Mountain View, California email: taylor@intuitive.com or limbo!taylor 1111.... IIIInnnnttttrrrroooodddduuuuccccttttiiiioooonnnn The UNIX(R) operating system was originally written on a small PDP machine, to work with teletypewriters. Consequently, all the original software for the operating system was written with a `tty' in mind; with line oriented interfaces, rather than screen oriented. Gradually this began to change, and, with the addition of the Berkeley _v_i visual shell to the _e_d line editor, the trend began to be brought to the attention of Unix systems designers. And yet, this transition has seemed too subtle for many software en- gineers, and so precious few Unix programs are available designed to exploit the entire CRT screen. Consequently, after becoming more and more disenchanted with the existing electronic mail facilities (_b_i_n_m_a_i_l and _B_e_r_k_e_l_e_y _M_a_i_l) __________ (R)UNIX is a registered trademark of UNIX Systems Laboratories. Elm Users Guide Version 2.4 Elm Users Guide Version 2.4 Dave Taylor decided to undertake creating his own system. Once the ball was rolling it became quite difficult not to keep enhancing it, especially as he and the Elm Development Group be- came more and more familiar with various different mail systems, but the result, we hope, is a solid, unified interface to elec- tronic mail suitable for almost any environment. One thing that sets TTTThhhheeee EEEEllllmmmm MMMMaaaaiiiillll SSSSyyyysssstttteeeemmmm off from other packages is that it comes with an extensive documentation set, including; _T_h_e _E_l_m _U_s_e_r_s _G_u_i_d_e, which you're holding, _T_h_e _E_l_m _R_e_f_e_r_e_n_c_e _G_u_i_d_e, _T_h_e _E_l_m _A_l_i_a_s _U_s_e_r_s _G_u_i_d_e, _T_h_e _E_l_m _F_i_l_t_e_r _S_y_s_t_e_m _U_s_e_r_s _G_u_i_d_e, _T_h_e _E_l_m _F_o_r_m_s _M_o_d_e _G_u_i_d_e, and _T_h_e _E_l_m _C_o_n_f_i_g_u_r_a_t_i_o_n _G_u_i_d_e. The names of each indicate what they discuss (not unreasonably). This particular document contains; this introduction, a tutorial session with the mailer, a discussion of non-interactive uses of EEEEllllmmmm, a brief foray into the EEEEllllmmmm utilities, and finally, credits and references. _T_h_e _E_l_m _R_e_f_e_r_e_n_c_e _G_u_i_d_e contains a much more in-depth discussion of all the possible options available within the EEEEllllmmmm environment, including the ``._e_l_m/_e_l_m_r_c'' file, the available outbound mail processing features, a section for expert users, suggestions on debugging strange installations, and many other useful topics. _T_h_e _E_l_m _A_l_i_a_s _U_s_e_r_s _G_u_i_d_e is the place to go to learn about the format of the ``.elm/aliases.text'' file and the associated data files, system aliases, and other related topics. One of the more innovative features of EEEEllllmmmm is the ability to transmit and receive ``forms'' (as defined by the AT&T Mail sys- tem). To learn about how to create and reply to forms you should refer to _T_h_e _E_l_m _F_o_r_m_s _M_o_d_e _G_u_i_d_e. If you find yourself getting too much mail delivered in your mailbox, you might be a good candidate for the _f_i_l_t_e_r program. To learn more about what this program is and how to use it please consult _T_h_e _E_l_m _F_i_l_t_e_r _S_y_s_t_e_m _U_s_e_r_s _G_u_i_d_e. Finally, if you're working with the actual source code and are interested in what all the locally configured options are and mean, please see _T_h_e _E_l_m _C_o_n_f_i_g_u_r_a_t_i_o_n _G_u_i_d_e. It is strongly suggested that all system administrators and people installing the system print out the local ``sysdefs.h'' file and have it handy while reading the configuration guide. The recommended order of learning the EEEEllllmmmm system is to skim this guide until you feel confident enough to start up the program. Once that's reached, _u_s_e _i_t! Soon you'll find areas that you need to expand into, and you can achieve that by going into the _o)_p_t_i_o_n_s screen within _e_l_m and changing your user level accord- ingly. After a while, sit down again and read through this guide. You should have a couple of ``aha!'' intuitive flashes. After another period of time, you're ready to delve into the real October 1, 1992 Page 2 Elm Users Guide Version 2.4 power of the system and read the reference guide. The other manuals should be read as the need arises. In any case, the system should be usable without reading _a_n_y of the documentation! Any comments or problems with any of the documentation or the program itself are welcome; if you can't get electronic mail to the Elm Development group, please feel free instead to drop me a note via the overland mail address in the title page. 2222.... TTTThhhheeee MMMMaaaaiiiinnnn SSSSyyyysssstttteeeemmmm Upon entry to the program, the main screen will be displayed as below; Mailbox is '/usr/mail/mymail' with 15 messages [Elm 2.4PL0] -> N 1 Apr 24 Larry Fenske (49) Hello there N 2 Apr 24 jad@hpcnoe (84) Chico? Why go there? E 3 Apr 23 Carl Smith (53) Dinner tonight? NU 4 Apr 18 Don Knuth (354) Your version of TeX... N 5 Apr 18 games (26) Bug in cribbage game A 6 Apr 15 kevin (27) More software requests 7 Apr 13 John Jacobs (194) How can you hate RUSH? U 8 Apr 8 decvax!mouse (68) Re: your Usenet article 9 Apr 6 root (7) O 10 Apr 5 root (13) You can use any of the following commands by pressing the first character; d)elete or u)ndelete mail, m)ail a message, r)eply or f)orward mail, q)uit To read a message, press . j = move down, k = move up, ? = help Command : @ 7 __________________________________________________________________ There are a number of things to notice about this, the main screen; +o Most likely, on your computer the message currently ``active'' will be displayed in an inverse bar rather than being delimit- ed by the two character arrow as here. It's nothing to worry about; displaying inverse video is just quite difficult on printable guides! +o The first line on the screen always displays the name of the current folder, the number of messages in the folder, and the current EEEEllllmmmm version number. October 1, 1992 Page 3 Elm Users Guide Version 2.4 +o The arrow (``->'') or inverse video bar will always indicate which is the current message. +o The first field that appears associated with each message is the status field. This can be blank (as with most of the ones above, or can have any combination of the following: The first character signifies temporary status: E for an _e_x_p_i_r_e_d message N for a _n_e_w message O for an _o_l_d (i.e. not new but not read) message D for a _d_e_l_e_t_e_d message The second character which signifies permanent status: C for _C_o_n_f_i_d_e_n_t_i_a_l mail U for _u_r_g_e_n_t mail P for a _P_r_i_v_a_t_e message A for messages that have an _a_c_t_i_o_n associated with them F for a _f_o_r_m letter M for a _M_I_M_E compliant Message The third character of the status field can be a ``+'' to in- dicate that the message is _t_a_g_g_e_d too. +o Continuing from left to right, the next field is the message number. For the most part you can ignore these unless you want to quickly move to a specific message (as we'll see later). +o The date associated with each message is typically the date the person actually _s_e_n_t the message. +o The next field displayed indicates whom the message is from. EEEEllllmmmm will try to display the _f_u_l_l _n_a_m_e of the person who sent the message, rather than the their return address or computer login. Some systems don't generate the correct headers, though, hence messages like numbers 2 and 8, where it's their return address. +o The number in parentheses is the total number of lines in the message. October 1, 1992 Page 4 Elm Users Guide Version 2.4 +o The final field is the subject of the message. Notice that messages might not have any subject, as in messages #9 and #10. +o A maximum of ten messages are displayed at one time1. Further into the document we'll learn how to change ``pages'' in the folder. +o The three line Menu display will always indicate the relevant commands. There are actually two possible menus that can be displayed, based on the _u_s_e_r _l_e_v_e_l as set from either the o)ptions screen or the ._e_l_m/_e_l_m_r_c file. The alternate menu, for more advanced users, lists more options; |=pipe, !=shell, ?=help, =set current to n, /=search pattern a)lias, C)copy, c)hange folder, d)elete, e)dit, f)orward, g)roup reply, m)ail, n)ext, o)ptions, p)rint, r)eply, s)ave, t)ag, q)uit, u)ndelete, or e(x)it +o Finally, the '@' character indicates where the cursor would be, awaiting your input. The typical action at this point is to use the <_r_e_t_u_r_n> key to read the current message, which will clear the screen and display the current message: Message 1/15 from Larry Fenske Apr 24 '87 at 8:45 pm edt Hello there Dave, Just wanted to drop you a brief note to see what was going on with you this afternoon. Life here has been the usual fun and games... Ah well, off to the great wilds beyond the desk! Larry Command ('i' to return to index): @ 7 __________________________________________________________________ Before we go further with our example, however, let's very quick- ly look at all the functions available from the main screen: __________ 1. On screens with greater than 24 lines, more messages will be displayed automatically. Further, if you choose to turn off the Menu display, you can have an even greater number displayed. October 1, 1992 Page 5 Elm Users Guide Version 2.4 CCCCoooommmmmmmmaaaannnndddd AAAAccccttttiiiioooonnnn or Read current message. | Pipe current message or tagged messages to specified system command. ! Shell escape. $ Resynchronize folder. ? Help mode - any key pressed will be explained. + or Display next page of headers. - or Display previous page of headers. = Set current message to 1. * Set current to last message. Set current message to number _n_u_m_b_e_r. / Search for pattern in subject/from lines. // Search for pattern in entire folder. < Scan message for calendar entries.2 > A synonym for `s' - _s_a_v_e message or messages. a Alias, change to ``alias'' mode. b Bounce - remail message [see _f - _f_o_r_w_a_r_d too]. C Copy current message or tagged messages to folder. c Change to another folder. d Delete current message. -D Delete all messages matching specified pattern. __________ 2. Some sites might opt not to have the calendar feature available. October 1, 1992 Page 6 Elm Users Guide Version 2.4 e Edit current folder, resyncing upon re-entry.3 f Forward message to specified user.4 g Group reply - reply to everyone who received the current message. h Display message with headers. J Set current to next message. j or Set current to next message not marked deleted. K Set current to previous message. k or Set current to previous message not marked deleted. l Limit displayed messages based on the specified cri- teria. -L Rewrite screen. m Mail to arbitrary user(s). n Read current message, then increment to next message not marked deleted. o Alter current system options. p Print current message or tagged messages. q Quit - maybe prompting for messages to delete, store, or keep. Q Quick quit - like quit but without prompting. r Reply to the author of current message. s Save current message or tagged messages to folder. t Tag current message. -T Tag all messages matching specified pattern. __________ 3. Some sites might opt not to have the edit folder feature available. 4. The difference between _F_o_r_w_a_r_d and _B_o_u_n_c_e is rather subtle - a forwarded message is ``from'' you, with the original message included, whereas a bounced message is still from the original sender. October 1, 1992 Page 7 Elm Users Guide Version 2.4 u Undelete current message. -U Undelete all messages matching specified pattern. x Exit - prompt if mailbox changed, don't record as read, don't save... X Exit immediately - don't record as read, don't save... But let's go back to our example and see some of this at work, shall we? We were reading the message from Larry and the screen looked like: Message 1/15 from Larry Fenske Apr 24 '87 at 8:45 pm edt Hello there Dave, Just wanted to drop you a brief note to see what was going on with you this afternoon. Life here has been the usual fun and games... Ah well, off to the great wilds beyond the desk! Larry Command ('i' to return to index): @ 7 __________________________________________________________________ From this point let's go ahead and reply to the message. To do this, we can use the _r_e_p_l_y command... To do this, we type ``r'' and the last few lines change to something like: ------------------------------------------------------------------------------- Command: Reply to message Copy message (y/n) ? @ To which we decide that we don't need the text of this message in our new one, so we reply _n_o by pressing the ``n'' key. The bot- tom part of the window then changes to: ------------------------------------------------------------------------------- Command: Reply to message To: Larry Fenske Subject: Re: Hello there@ at this point we can either decide to enter a new subject (you could use either _b_a_c_k_u_p _w_o_r_d (-W) or _b_a_c_k_u_p _l_i_n_e (this is the same as your `line kill' character, -X or -U usually)) or go with this one by pressing <_r_e_t_u_r_n>. We'll just leave it as it is and press <_r_e_t_u_r_n>, changing the screen to: ------------------------------------------------------------------------------- Command: reply to message To: Larry Fenske Subject: Re: Hello there Copies to: @ October 1, 1992 Page 8 Elm Users Guide Version 2.4 There's no one we want to have receive copies of this message, so we'll just press <_r_e_t_u_r_n> again to indicate this. Once you've answered these questions the program will put you into your favorite editor and let you compose a response. When you're done it then asks: ------------------------------------------------------------------------------- Please choose one of the following options by parenthesized letter: @ e)dit message, edit h)eaders, s)end it, or f)orget it. Since we're just interested in sending the message out, we'll choose the _s_e_n_d option and press ``s''. The program then sends the message, indicating that by the line below saying: Sending mail... then putting at the bottom of the screen ``Mail sent!'' and giv- ing us the prompt: ------------------------------------------------------------------------------- Command: (Use 'i' to return to index.) Pretty easy, isn't it? Let's continue by going back to the main screen by requesting _i_n_d_e_x: pressing the ``i'' key. The screen is then: Mailbox is '/usr/mail/mymail' with 15 messages [Elm 2.4PL0] -> 1 Apr 24 Larry Fenske (49) Hello there N 2 Apr 24 jad@hpcnoe (84) Chico? Why go there? E 3 Apr 23 Carl Smith (53) Dinner tonight? NU 4 Apr 18 Don Knuth (354) Your version of TeX... N 5 Apr 18 games (26) Bug in cribbage game A 6 Apr 15 kevin (27) More software requests 7 Apr 13 John Jacobs (194) How can you hate RUSH? U 8 Apr 8 decvax!mouse (68) Re: your Usenet article 9 Apr 6 root (7) O 10 Apr 5 root (13) You can use any of the following commands by pressing the first character; d)elete or u)ndelete mail, m)ail a message, r)eply or f)orward mail, q)uit To read a message, press . j = move down, k = move up, ? = help Command : @ 7 __________________________________________________________________ Notice that the first message is no longer marked as _n_e_w since we've now read it. Let's go ahead and read the message from kevin (message #6) since it has some sort of _a_c_t_i_o_n associated with it anyway. To do this, we simply press the ``6'' key, which will change the bottom of the screen to: October 1, 1992 Page 9 Elm Users Guide Version 2.4 Command: New Current Message Set current message to : 6@ We'll just press <_r_e_t_u_r_n> to move the active message pointer (the arrow). Now we're pointing at the new message, so let's go ahead and read it by pressing <_r_e_t_u_r_n> again, giving us: Message 6/15 from kevin Apr 15 '87 at 11:36 am pst More software requests Action: please acknowledge receipt I don't suppose you have a nifty netnews reader around too, do you?? -- kevin Command ('i' to return to index): @ 7 __________________________________________________________________ Well, it turns out that we don't, but a friend of ours does, so let's _f_o_r_w_a_r_d the message to them by pressing ``f'': ------------------------------------------------------------------------------- Command: Forward message Edit outgoing message (y/n) ? @ No need to edit it, so let's answer _n_o with ``n'': ------------------------------------------------------------------------------- Command: Forward message Edit outgoing message (y/n) ? No To: @ We type in the address of the person we're forwarding to (in this case usenet) and press <_r_e_t_u_r_n>: ------------------------------------------------------------------------------- Command: Forward message To: usenet Subject: More software requests (fwd)@ To which we again press <_r_e_t_u_r_n> to take the default subject. EEEEllllmmmm asks for any possible copy recipients, asks us if we're sure we want to send it, and shoots it off. Enough mail for now, however, so we just _e_x_i_t by pressing the ``x'' key and the program drops us back into our shell. As you can see, it's quite easy to use the EEEEllllmmmm system, so rather than continue with our example, let's look at some other aspects of the program. October 1, 1992 Page 10 Elm Users Guide Version 2.4 3333.... NNNNoooonnnn----IIIInnnntttteeeerrrraaaaccccttttiiiivvvveeee UUUUsssseeeessss ooooffff EEEEllllmmmm Before we go ahead and discuss the EEEEllllmmmm utilities, it's worth not- ing that there are a couple of other ways to use the main mail system, namely to `send only' and to send files (batchmail). To send a message to someone without any of the associated over- head of reading in a mail folder, you can invoke the mailer with the name(s) of the people to send to. For example: $ eeeellllmmmm ddddaaaavvvveeee____ttttaaaayyyylllloooorrrr The mailer will then prompt for Subject, Copies, and then drop you in your editor (defined in the ._e_l_m/_e_l_m_r_c file) to compose the message. When composition is complete, the program verifies transmission then terminates. The mailer also supports batch type mailing, of files and so on, by using the following command: $ eeeellllmmmm ddddaaaavvvveeee____ttttaaaayyyylllloooorrrr <<<< hhhheeeellllpppp....cccc which will read in the file and transmit it to the specified user. A subject may be specified with ``-s _s_u_b_j_e_c_t'' as an option to the program in either `send only' or `batch' modes, as in: $ eeeellllmmmm ----ssss """"FFFFiiiilllleeee hhhheeeellllpppp....cccc,,,, aaaassss pppprrrroooommmmiiiisssseeeedddd"""" ddddaaaavvvveeee____ttttaaaayyyylllloooorrrr <<<< hhhheeeellllpppp....cccc EEEEllllmmmm also has an option to specify that a certain file be used as the initial text of the message. This is make it easier to use EEEEllllmmmm with other programs that interface with a mailer. Use ``-i _f_i_l_e'' as an option to EEEEllllmmmm in `send only' mode. For example, to specify to _r_n to use EEEEllllmmmm as the mailer, define the following in RRRRNNNNIIIINNNNIIIITTTT: ----EEEEMMMMAAAAIIIILLLLPPPPOOOOSSSSTTTTEEEERRRR====""""eeeellllmmmm ----iiii %%%%hhhh ----ssss \\\\""""RRRReeee:::: %%%%SSSS\\\\"""" %%%%tttt"""" See the man page for _r_n(1) or the newsreader you use for more specific information. 4444.... TTTThhhheeee EEEEllllmmmm UUUUttttiiiilllliiiittttiiiieeeessss The EEEEllllmmmm mail system is really much more than a single program for reading and writing mail. It's a unified environment for intel- ligently dealing with electronic correspondence. As a conse- quence, it contains a number of other programs to aid in the easy processing of `email', including the following; answer An answering-machine transcription program. Please see the manual entry for more information on how to use this program. autoreply This program, in conjunction with the ``arepdaemon'', enables users to automatically reply to incoming mail October 1, 1992 Page 11 Elm Users Guide Version 2.4 when they're not directly available. checkalias A script for checking aliases simply. messages A script that lists the number of messages in the specified folder. Suitable for login scripts and such. newmail This program monitors a mailbox or set of mailboxes and can output notification of new mail in one of two pos- sible formats; either: >> New mail from Jimmy Carter - Urgent matters of state >> New mail from joe@ucbvax.arpa - Did I hear someone say PARTY?? if running as _n_e_w_m_a_i_l or: Jimmy Carter -- Urgent matters of state joe@ucbvax.arpa -- Did I hear someone say PARTY?? if running as _w_n_e_w_m_a_i_l. BSD Users will find this is a far superior _b_i_f_f program. wnewmail This is the same program as newmail, but has different defaults if invoked this way. readmsg This handy little program can be used in two ways. First off, it can be used to easily read a specific message in the incoming mailbox, specified by ordinal number, by a string that the message contains, by the metacharacter `$' which represents the last message in the folder, or `*' which matches all the messages in the folder. For example; $ rrrreeeeaaaaddddmmmmssssgggg 4444 5555 9999 |||| llllpppprrrr would generate a printout, _s_a_n_s superfluous headers, of the fourth, fifth and ninth messages in your mailbox. $ rrrreeeeaaaaddddmmmmssssgggg CCCCaaaarrrrtttteeeerrrr |||| ppppaaaaggggeeee would be a fast way to read what `ole Jimmy has to say... and $ rrrreeeeaaaaddddmmmmssssgggg ----hhhh hhhheeeeaaaarrrr ssssoooommmmeeeeoooonnnneeee ssssaaaayyyy October 1, 1992 Page 12 Elm Users Guide Version 2.4 would list, including all the message headers, the mes- sage containing the string ``hear someone say''. frm Similar to the Berkeley _f_r_o_m command, this will give you a ``table of contents'' or a summary of either the current mailbox or a mailbox of your choice. It's useful to see what mail is pending, or what's in a mailbox. If used with the `-n' option, it will number each message in a way compatible with the arguments _r_e_a_d_m_s_g expects to get, too! newalias This is used to install new user/group aliases. Please see _T_h_e _E_l_m _A_l_i_a_s _U_s_e_r_s _G_u_i_d_e for further information on this! fastmail Sometimes you want to have a batchmailing system that works as quickly as possible, not bothering with aliases or any of the other ``deluxe'' features of EEEEllllmmmm. An example of this would be if you have a large mailing list for a newsletter, say. This command, _f_a_s_t_m_a_i_l, is designed just for that purpose. It avoids the lengthy startup time of EEEEllllmmmm while still generating valid _R_F_C- _8_2_25 mail. Please see the manual entry for more infor- mation on this command. 5555.... CCCCrrrreeeeddddiiiittttssss aaaannnndddd SSSSoooo oooonnnn ((((EEEEllllmmmm''''ssss eeeeaaaarrrrllllyyyy yyyyeeeeaaaarrrrssss ffffrrrroooommmm This mailer has been evolving over the past few years with in- valuable comments on the interface and general mail issues from the following people; Jim Davis, Steve Wolf (or should that say Steve!! Wolf!!!! perhaps?), Larry Fenske, Rob Sartin, John Dilley and Carl Dierschow. For the Berkeley implementation, lots of help came from both John Lebovitz and Ken Stone. For the Amdahl/UTS implementation, thanks to Scott McGregor and Stan Isaacs. For the Sun problems, Dave England in Lancaster (UK) turned out to be ``bloody useful'', as he would no doubt say. The Pyramid version is due to the work of Steve Malone of the University of Washington. A number of other people have been amazingly disciplined at __________ 5. If you don't know what RFC-822 is, don't worry about it! October 1, 1992 Page 13 Elm Users Guide Version 2.4 reporting problems and (usually, much to my relief) indicating the fixes needed, especially Guy Hillyer, Bruce Townsend and Eric Negaard. There have been many, many others, too numerous to mention, that have inspired me with questions like "Why can't Elm..." or "Why does it ..." or "Can we make it..." too. A loud round of ap- plause and an enthusiastic THANK YOU to you all!! Also helpful was the ability to have my `own' machine to close up the many many iterative loops that this software has gone through - since being on a big multi-user machine tends to slow it down to a standstill... For that, I thank Hewlett-Packard Colorado Networks Division for their initial support, and now HP Labora- tories for the wonderful working environment that I have here (more than any one person is safe having, I suspect). Mailers that have influenced the design and implementation of EEEEllllmmmm, for better or worse, include the following; /_b_i_n/_m_a_i_l The most basic of mailers, this one was simply the ex- ample of how _n_o_t to force the user to interact with a program. _B_e_r_k_e_l_e_y _M_a_i_l A surprisingly sophisticated mailer, especially the version with 4.3 BSD, _B_e_r_k_e_l_e_y _M_a_i_l still suffers from the tendency to force the user to know too much about the system, and also lacks a friendly, non-cryptic in- terface for the large subset of the population that use Unix but aren't interested in becoming a ``hacker''. _M_H This is another nifty mailer. The main difference between this and the other mailers about is that it is a discrete set of programs rather than a single unified interface. This is quite useful for those people that receive _l_o_t_s of mail and are willing to spend some time learning the intricacies of the program. It's quite powerful, but again, misses some of the basic friendly features the majority of users are interested in. _d_m_a_i_l A sort of mutated cross between _M_H and _B_e_r_k_e_l_e_y _M_a_i_l, it was this program that convinced me to implement the _L_i_m_i_t functions. _N_M_a_i_l (a part of the HP AI Workstation Software Environment). This program hints at the power that mailers could be given to help deal with mail in a quick and intelligent October 1, 1992 Page 14 Elm Users Guide Version 2.4 fashion. Most of what it can do, and a lot more, are therefore part of EEEEllllmmmm. Indubitably. And quite faster too! _P_M_X/_T_E_R_M Part of the AT&T Mail package, a single glance at this interface convinced me that a PC interface, with almost half of the screen taken up by a silly function key mapping, is most certainly _n_o_t the way to do things!! On the other hand, it also shows that the _F_o_r_m_s mode can be quite nicely integrated into a more sophisticat- ed mailer. _f_m_a_i_l A nickel addition to the /_b_i_n/_m_a_i_l program to add some rudimentary screen interface stuff, this nonetheless interesting mailer is part of the AT&T Toolchest. _L_a_u_r_e_l A program only available within Xerox PARC, this was an interesting early attempt at a graphics based full- screen mail program. The one, perhaps trivial, part of the interface I really like was the fact that it would _c_r_o_s_s _o_u_t a message that was marked for deletion. One day when we get real graphics and the ability to use them indicated in a facility (not too) like _t_e_r_m_c_a_p, perhaps EEEEllllmmmm will do this too! _M_a_i_l_t_o_o_l Part of the Sun distribution package, this program is a really nice example of what can be done by putting a smart shell on top of a dumb program - it uses /_b_i_n/_m_a_i_l for all the `dirty work'. Other than that, it's not a particularly interesting interface or mailer, and it certainly doesn't add much functionali- ty! _M_e_t_a_m_a_i_l What can I say? This isn't even a real mailer, but is just what I dream of as an interface to mail in the fu- ture. A program that works sort of like HHHHAAAALLLL did in _2_0_0_1: _A _S_p_a_c_e _O_d_y_s_s_e_y - where it interrupts me as ap- propriate for important mail, and can answer inane and other queries itself according to what I teach it. Maybe EEEEllllmmmm, by some sort of groupmind metamorphosis, will change into that someday. Maybe not. Maybe no- one bothers to read this far into the document!! Finally, it's also been a very useful experience overall, con- firming my beliefs that iterative software design and keeping a close watch on users (not to mention an open mind and mailbox!) improves a product manyfold. Comments, feedback and bug reports (and fixes!) are, of course, always welcome! October 1, 1992 Page 15 Elm Users Guide Version 2.4 6666.... CCCCrrrreeeeddddiiiittttssss aaaannnndddd SSSSoooo oooonnnn PPPPaaaarrrrtttt IIIIIIII ---- TTTThhhheeee UUUUsssseeeennnneeeetttt EEEEllllmmmm DDDDeeeevvvveeeellllooooppppmmmmeeeennnntttt GGGGrrrroooouuuupppp As coordinator of the Elm Development Group, I must add to the credits. This group of volunteers has taken the Elm code from Dave Taylor and added features, made it more robust, and more portable. For getting the Usenet Elm group going, for without which I wouldn't be writing this, thanks to Greg Hackney at Southwestern Bell Telephone Co. For the Configuration system and its newer Dist 2.0 version, thanks are due to Larry Wall of JPL-NASA. For his over two hundred sets of changes to version 2.2, Elm owes a lot to Rob Bernardo who was at Pacbell at that time. The ability to run Elm at all on Intel 286 machines owes a lot to the insistent nudging of the coordinator by Chip Salzenberg, Chip Rosenthal, and Tim Evans. For getting us the rights to use the news macros and converting all the documentation over to those macros, thanks to Mike Brown. For pushing us into the 90s and forcing the issues of NLS and foreign language support, I thank Jan Saell of Administration & Systemkonsult AB along with Larry Philps of SCO Canada. I'd also like to thank the many current and prior members of the Elm development and testing groups. The list varies from time to time as people come and go. Also, to all the Elm users out there that send in patches. The group can use all the extra help it gets. As a PostScript, if you wish to join the group, all it takes is some time to work on things, and to ask. Syd Weinstein, Elm Coordinator. October 1, 1992 Page 16