home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Spezial
/
SPEZIAL2_97.zip
/
SPEZIAL2_97.iso
/
ANWEND
/
ONLINE
/
ELM23-2
/
ELM23-2.ZIP
/
manuals
/
Users.doc
< prev
next >
Wrap
Text File
|
1994-04-24
|
52KB
|
1,123 lines
TThhee EEllmm UUsseerrss GGuuiiddee
_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 EEllmm _m_a_i_l _s_y_s_t_e_m
Dave Taylor
Hewlett-Packard Laboratories
1501 Page Mill Road
Palo Alto CA
94304
email: taylor@hplabs.HP.COM or hplabs!taylor
>>> Elm is now in the public trust. Bug reports, comments, etc. to: <<<
Syd Weinstein
Datacomp Systems, Inc.
3837 Byron Road
Huntingdon Valley, PA 19006-2320
email: elm@DSI.COM or dsinc!elm
AABBSSTTRRAACCTT
While various Unix utilities have been de-
signed 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.
((CC)) Copyright 1986, 1987 by Dave Taylor
((CC)) Copyright 1988, 1989, 1990 by The USENET Community Trust
EEllmm UUsseerrss GGuuiiddee
(Version 2.3)
Dave Taylor
Hewlett-Packard Laboratories
1501 Page Mill Road
Palo Alto CA
94304
email: taylor@hplabs.HP.COM or hplabs!taylor
>>> Elm is now in the public trust. Bug reports, comments, etc.
to: <<<
Syd Weinstein
Datacomp Systems, Inc.
3837 Byron Road
Huntingdon Valley, PA 19006-2320
email: elm@DSI.COM or dsinc!elm
May 1, 1990
11.. IInnttrroodduuccttiioonn
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.
__________
(R)UNIX is a registered trademark of AT&T.
Elm Users Guide Version 2.3
Elm Users Guide Version 2.3
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) I
decided to undertake creating my own system. Once the ball was
rolling it became quite difficult not to keep enhancing it, espe-
cially as I became more and more familiar with various different
mail systems, but the result, I hope, is a solid, unified inter-
face to electronic mail suitable for almost any environment.
One thing that sets TThhee EEllmm MMaaiill SSyysstteemm 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
EEllmm, a brief foray into the EEllmm 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 indepth discussion
of all the possible options available within the EEllmm 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, to learn how to create and use path route aliases and do-
main based alias routing, system aliases, and other related top-
ics.
One of the more innovative features of EEllmm 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 EEllmm 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
May 1, 1990 Page 2
Elm Users Guide Version 2.3
accordingly. 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
power of the system and read the reference guide. The other man-
uals should be read as the need arises.
In any case, the system should be useable 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
me, please feel free instead to drop me a note via the overland
mail address in the title page.
22.. TThhee MMaaiinn SSyysstteemm
Upon entry to the program, the main screen will be displayed as
below;
MMaaiillbbooxx iiss ''//uussrr//mmaaiill//mmyymmaaiill'' wwiitthh 1155 mmeessssaaggeess [[EEllmm 22..22]]
-->> NN 11 AApprr 2244 LLaarrrryy FFeennsskkee ((4499)) HHeelllloo tthheerree
NN 22 AApprr 2244 jjaadd@@hhppccnnooee ((8844)) CChhiiccoo?? WWhhyy ggoo tthheerree??
EE 33 AApprr 2233 CCaarrll SSmmiitthh ((5533)) DDiinnnneerr ttoonniigghhtt??
NNUU 44 AApprr 1188 DDoonn KKnnuutthh ((335544)) YYoouurr vveerrssiioonn ooff TTeeXX......
NN 55 AApprr 1188 ggaammeess ((2266)) BBuugg iinn ccrriibbbbaaggee ggaammee
AA 66 AApprr 1155 kkeevviinn ((2277)) MMoorree ssooffttwwaarree rreeqquueessttss
77 AApprr 1133 JJoohhnn JJaaccoobbss ((119944)) HHooww ccaann yyoouu hhaattee RRUUSSHH??
UU 88 AApprr 88 ddeeccvvaaxx!!mmoouussee ((6688)) RRee:: yyoouurr UUsseenneett aarrttiiccllee
99 AApprr 66 rroooott ((77))
OO 1100 AApprr 55 rroooott ((1133))
YYoouu ccaann uussee aannyy ooff tthhee ffoolllloowwiinngg ccoommmmaannddss bbyy pprreessssiinngg tthhee ffiirrsstt cchhaarraacctteerr;;
dd))eelleettee oorr uu))nnddeelleettee mmaaiill,, mm))aaiill aa mmeessssaaggee,, rr))eeppllyy oorr ff))oorrwwaarrdd
mmaaiill,, qq))uuiitt
TToo rreeaadd aa mmeessssaaggee,, pprreessss <<rreettuurrnn>>.. jj == mmoovvee ddoowwnn,, kk == mmoovvee uupp,, ??
== hheellpp
CCoommmmaanndd :: @@
____________________________________________________________________________________________________________________________________
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!
May 1, 1990 Page 3
Elm Users Guide Version 2.3
+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 EEllmm version number.
+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:
U for _u_r_g_e_n_t mail
A for messages that have an _a_c_t_i_o_n associated with them
F for a _f_o_r_m letter
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 lat-
er).
+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.
EEllmm 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.
May 1, 1990 Page 4
Elm Users Guide Version 2.3
+o
The number in parentheses is the total number of lines in the
message.
+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;
||==ppiippee,, !!==sshheellll,, ??==hheellpp,, <<nn>>==sseett ccuurrrreenntt ttoo nn,, //==sseeaarrcchh ppaatttteerrnn
aa))lliiaass,, CC))ccooppyy,, cc))hhaannggee ffoollddeerr,, dd))eelleettee,, ee))ddiitt,, ff))oorrwwaarrdd,,
gg))rroouupp rreeppllyy,, mm))aaiill,,
nn))eexxtt,, oo))ppttiioonnss,, pp))rriinntt,, rr))eeppllyy,, ss))aavvee,, tt))aagg,, qq))uuiitt,,
uu))nnddeelleettee,, oorr ee((xx))iitt
+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:
__________
1. On screens with greater than 25 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.
May 1, 1990 Page 5
Elm Users Guide Version 2.3
MMeessssaaggee 11//1155 ffrroomm LLaarrrryy FFeennsskkee AApprr 2244 ''8877 aatt 88::4455 ppmm
HHeelllloo tthheerree
DDaavvee,,
JJuusstt wwaanntteedd ttoo ddrroopp yyoouu aa bbrriieeff nnoottee ttoo sseeee wwhhaatt wwaass ggooiinngg oonn wwiitthh
yyoouu tthhiiss aafftteerrnnoooonn.. LLiiffee hheerree hhaass bbeeeenn tthhee uussuuaall ffuunn aanndd ggaammeess......
AAhh wweellll,, ooffff ttoo tthhee ggrreeaatt wwiillddss bbeeyyoonndd tthhee ddeesskk!!
LLaarrrryy
__CC__oo__mm__mm__aa__nn__dd____((__''__ii__''____tt__oo____rr__ee__tt__uu__rr__nn____tt__oo____ii__nn__dd__ee__xx__))__::____@@______________________________________________________________
Before we go further with our example, however, let's very quick-
ly look at all the functions available from the main screen:
CCoommmmaanndd AAccttiioonn
<return> or <space>
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 <right>
Display next page of headers.
- or <left>
Display previous page of headers.
= Set current message to 1.
* Set current to last message.
<number><return>
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.
__________
2. Some sites might opt not to have the calendar fea-
ture available.
May 1, 1990 Page 6
Elm Users Guide Version 2.3
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.
<control>-D
Delete all messages matching specified pattern.
e Edit current folder, resyncing upon reentry.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 <down>
Set current to next message not marked deleted.
K Set current to previous message.
k or <up> Set current to previous message not marked deleted.
l Limit displayed messages based on the specified cri-
teria.
<control>-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.
__________
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.
May 1, 1990 Page 7
Elm Users Guide Version 2.3
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.
<control>-T
Tag all messages matching specified pattern.
u Undelete current message.
<control>-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:
MMeessssaaggee 11//1155 ffrroomm LLaarrrryy FFeennsskkee AApprr 2244 ''8877 aatt 88::4455 ppmm
HHeelllloo tthheerree
DDaavvee,,
JJuusstt wwaanntteedd ttoo ddrroopp yyoouu aa bbrriieeff nnoottee ttoo sseeee wwhhaatt wwaass ggooiinngg oonn wwiitthh
yyoouu tthhiiss aafftteerrnnoooonn.. LLiiffee hheerree hhaass bbeeeenn tthhee uussuuaall ffuunn aanndd ggaammeess......
AAhh wweellll,, ooffff ttoo tthhee ggrreeaatt wwiillddss bbeeyyoonndd tthhee ddeesskk!!
LLaarrrryy
__CC__oo__mm__mm__aa__nn__dd____((__''__ii__''____tt__oo____rr__ee__tt__uu__rr__nn____tt__oo____ii__nn__dd__ee__xx__))__::____@@______________________________________________________________
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:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
CCoommmmaanndd:: RReeppllyy ttoo mmeessssaaggee CCooppyy mmeessssaaggee ((yy//nn)) ?? @@
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:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
CCoommmmaanndd:: RReeppllyy ttoo mmeessssaaggee TToo:: LLaarrrryy FFeennsskkee
SSuubbjjeecctt:: RRee:: HHeelllloo tthheerree@@
May 1, 1990 Page 8
Elm Users Guide Version 2.3
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 (<control>-W) or _b_a_c_k_u_p _l_i_n_e (this
is the same as your `line kill' character, <control>-X or <con-
trol>-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:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
CCoommmmaanndd:: rreeppllyy ttoo mmeessssaaggee TToo:: LLaarrrryy FFeennsskkee
SSuubbjjeecctt:: RRee:: HHeelllloo tthheerree
CCooppiieess ttoo:: @@
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 in-
to your favorite editor and let you compose a response. When
you're done it then asks:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
PPlleeaassee cchhoooossee oonnee ooff tthhee ffoolllloowwiinngg ooppttiioonnss bbyy ppaarreenntthheessiizzeedd lleetttteerr:: @@
ee))ddiitt mmeessssaaggee,, eeddiitt hh))eeaaddeerrss,, ss))eenndd iitt,, oorr ff))oorrggeett iitt..
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:
SSeennddiinngg mmaaiill......
then putting at the bottom of the screen ``Mail sent!'' and giv-
ing us the prompt:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
CCoommmmaanndd:: ((UUssee ''ii'' ttoo rreettuurrnn ttoo iinnddeexx..))
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:
May 1, 1990 Page 9
Elm Users Guide Version 2.3
MMaaiillbbooxx iiss ''//uussrr//mmaaiill//mmyymmaaiill'' wwiitthh 1155 mmeessssaaggeess [[EEllmm 22..22]]
-->> 11 AApprr 2244 LLaarrrryy FFeennsskkee ((4499)) HHeelllloo tthheerree
NN 22 AApprr 2244 jjaadd@@hhppccnnooee ((8844)) CChhiiccoo?? WWhhyy ggoo tthheerree??
EE 33 AApprr 2233 CCaarrll SSmmiitthh ((5533)) DDiinnnneerr ttoonniigghhtt??
NNUU 44 AApprr 1188 DDoonn KKnnuutthh ((335544)) YYoouurr vveerrssiioonn ooff TTeeXX......
NN 55 AApprr 1188 ggaammeess ((2266)) BBuugg iinn ccrriibbbbaaggee ggaammee
AA 66 AApprr 1155 kkeevviinn ((2277)) MMoorree ssooffttwwaarree rreeqquueessttss
77 AApprr 1133 JJoohhnn JJaaccoobbss ((119944)) HHooww ccaann yyoouu hhaattee RRUUSSHH??
UU 88 AApprr 88 ddeeccvvaaxx!!mmoouussee ((6688)) RRee:: yyoouurr UUsseenneett aarrttiiccllee
99 AApprr 66 rroooott ((77))
OO 1100 AApprr 55 rroooott ((1133))
YYoouu ccaann uussee aannyy ooff tthhee ffoolllloowwiinngg ccoommmmaannddss bbyy pprreessssiinngg tthhee ffiirrsstt cchhaarraacctteerr;;
dd))eelleettee oorr uu))nnddeelleettee mmaaiill,, mm))aaiill aa mmeessssaaggee,, rr))eeppllyy oorr ff))oorrwwaarrdd
mmaaiill,, qq))uuiitt
TToo rreeaadd aa mmeessssaaggee,, pprreessss <<rreettuurrnn>>.. jj == mmoovvee ddoowwnn,, kk == mmoovvee uupp,, ??
== hheellpp
CCoommmmaanndd :: @@
____________________________________________________________________________________________________________________________________
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:
CCoommmmaanndd:: NNeeww CCuurrrreenntt MMeessssaaggee SSeett ccuurrrreenntt mmeessssaaggee ttoo :: 66@@
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:
MMeessssaaggee 66//1155 ffrroomm kkeevviinn AApprr 1155 ''8877 aatt 1111::3366 aamm
MMoorree ssooffttwwaarree rreeqquueessttss
AAccttiioonn:: pplleeaassee aacckknnoowwlleeddggee rreecceeiipptt
II ddoonn''tt ssuuppppoossee yyoouu hhaavvee aa nniiffttyy nneettnneewwss rreeaaddeerr aarroouunndd ttoooo,, ddoo
yyoouu????
----
kkeevviinn
__CC__oo__mm__mm__aa__nn__dd____((__''__ii__''____tt__oo____rr__ee__tt__uu__rr__nn____tt__oo____ii__nn__dd__ee__xx__))__::____@@______________________________________________________________
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'':
--------------------------------------------------------------------------------------------------------------------------------------------------------------
CCoommmmaanndd:: FFoorrwwaarrdd mmeessssaaggee EEddiitt oouuttggooiinngg mmeessssaaggee ((yy//nn)) ?? @@
No need to edit it, so let's answer _n_o with ``n'':
May 1, 1990 Page 10
Elm Users Guide Version 2.3
--------------------------------------------------------------------------------------------------------------------------------------------------------------
CCoommmmaanndd:: FFoorrwwaarrdd mmeessssaaggee EEddiitt oouuttggooiinngg mmeessssaaggee ((yy//nn)) ?? NNoo
TToo:: @@
We type in the address of the person we're forwarding to (in this
case uusseenneett) and press _<_r_e_t_u_r_n_>:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
CCoommmmaanndd:: FFoorrwwaarrdd mmeessssaaggee TToo:: uusseenneett
SSuubbjjeecctt:: MMoorree ssooffttwwaarree rreeqquueessttss ((ffwwdd))@@
To which we again press _<_r_e_t_u_r_n_> to take the default subject.
EEllmm 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 EEllmm system, so rather
than continue with our example, let's look at some other aspects
of the program.
33.. NNoonn--IInntteerraaccttiivvee UUsseess ooff EEllmm
Before we go ahead and discuss the EEllmm 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:
$ eellmm ddaavvee__ttaayylloorr
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:
$ eellmm ddaavvee__ttaayylloorr << hheellpp..cc
which will read in the file and transmit it to the specified us-
er.
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:
$ eellmm --ss ""FFiillee hheellpp..cc,, aass pprroommiisseedd"" ddaavvee__ttaayylloorr << hheellpp..cc
44.. TThhee EEllmm UUttiilliittiieess
The EEllmm mail system is really much more than a single program for
reading and writing mail. It's a unified environment for
May 1, 1990 Page 11
Elm Users Guide Version 2.3
intelligently dealing with electronic correspondence. As a con-
sequence, 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
when they're not directly available.
checkalias
A script for checking aliases simply.
messages A script that lists the number of messages in the spec-
ified 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:
>>>> NNeeww mmaaiill ffrroomm JJiimmmmyy CCaarrtteerr -- UUrrggeenntt mmaatttteerrss ooff ssttaattee
>>>> NNeeww mmaaiill ffrroomm jjooee@@uuccbbvvaaxx..aarrppaa -- DDiidd II hheeaarr ssoommeeoonnee
ssaayy PPAARRTTYY????
if running as _n_e_w_m_a_i_l or:
JJiimmmmyy CCaarrtteerr ---- UUrrggeenntt mmaatttteerrss ooff ssttaattee jjooee@@uuccbbvvaaxx..aarrppaa
---- DDiidd II hheeaarr ssoommeeoonnee ssaayy PPAARRTTYY????
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;
May 1, 1990 Page 12
Elm Users Guide Version 2.3
$ rreeaaddmmssgg 44 55 99 || llpprr
would generate a printout, _s_a_n_s superfluous headers, of
the fourth, fifth and ninth messages in your mailbox.
$ rreeaaddmmssgg CCaarrtteerr || ppaaggee
would be a fast way to read what `ole Jimmy has to
say... and
$ rreeaaddmmssgg --hh hheeaarr ssoommeeoonnee ssaayy
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'' of either the current mail-
box 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 alias-
es or any of the other ``deluxe'' features of EEllmm. 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 EEllmm while still generating valid
_R_F_C_-_8_2_25 mail. Please see the manual entry for more
information on this command.
55.. CCrreeddiittss aanndd SSoo oonn
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
__________
5. If you don't know what RFC-822 is, don't worry about
it!
May 1, 1990 Page 13
Elm Users Guide Version 2.3
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 re-
porting problems and (usually, much to my relief) indicating the
fixes needed, especially Guy Hillyer, Bruce Townsend and Eric Ne-
gaard.
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 Laborato-
ries 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
EEllmm, 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 be-
tween 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
May 1, 1990 Page 14
Elm Users Guide Version 2.3
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
fashion. Most of what it can do, and a lot more, are
therefore part of EEllmm. 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 EEllmm 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 mail-
er, and it certainly doesn't add much functionality!
_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 HHAALL 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
May 1, 1990 Page 15
Elm Users Guide Version 2.3
other queries itself according to what I teach it.
Maybe EEllmm, 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!
66.. CCrreeddiittss aanndd SSoo oonn PPaarrtt IIII -- TThhee UUsseenneett EEllmm DDeevveellooppmmeenntt GGrroouupp
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 at Pacbell.
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.
Now, before I get accused of leaving someone out, here are the
members of the Elm Development and the Elm Testing Group:
Jonathan Bayer, Rob Bernardo, Doug Blair, Kevin Bond, Mike Brown,
Ed Clarke, Steven Donegan, Paul Ebersman, Avi Feldblum, Steven
Goodman, Greg Hackney, Mark Hahn, Mitch Hamilton, Ed Hann, David
Hawkins, Nate Hess, Phil Hochstetler, Bud Hovell, Kenneth Ingham,
Chad Larson, Warren Lavallee, Howard Leadman, John A. Limpert,
Andy Linton, Darrell McIntosh, Datta Miruke, Paul M. Moriarty,
Andrew Mossberg, Robert B. Nelson, Leo C. Noordhuizen, Brian
O'Neill, Fairfax O'Riley, Pete Phillips, Dave Rasmussen, Len
Rose, Chip Rosenthal, Chip Salzenberg, Ray Smith, Gary Trujillo,
Ed Wells, Mike Whitman, Dave Yearke, Jon Zeeff, and Syd Wein-
stein, Elm Coordinator.
May 1, 1990 Page 16