home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Spezial
/
SPEZIAL2_97.zip
/
SPEZIAL2_97.iso
/
ANWEND
/
ONLINE
/
ELM23-2
/
ELM23-2.ZIP
/
manuals
/
Ref.doc
< prev
next >
Wrap
Text File
|
1994-04-24
|
96KB
|
1,981 lines
TThhee EEllmm RReeffeerreennccee GGuuiiddee
_A _c_o_m_p_r_e_h_e_n_s_i_v_e _l_i_s_t _o_f _a_l_l _c_o_m_m_a_n_d_s_,
_o_p_t_i_o_n_s _a_n_d _s_u_c_h _t_o _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
((CC)) Copyright 1986, 1987 by Dave Taylor
((CC)) Copyright 1988, 1989, 1990 by The USENET Community Trust
TThhee EEllmm RReeffeerreennccee 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
There are many parts to a complex software system and TThhee EEllmm
MMaaiill SSyysstteemm is no different. This document describes fully all
the options available in the mailer, including the command line
options, the commands (in considerably more detail than in _T_h_e
_E_l_m _U_s_e_r_s _G_u_i_d_e) and the _._e_l_m_/_e_l_m_r_c file.
To be more explicit, this document covers: a discussion of the
_._e_l_m_/_e_l_m_r_c file, command line options of _e_l_m, outgoing mail pro-
cessing, responses of various commands, mail archive folders, the
Alias system, system aliases etc, more on the EEllmm utilities, and
a section for expert mail users.
Without any further ado, then, let's get this show on the road!!
Elm Reference Guide Version 2.3
Elm Reference Guide Version 2.3
22.. TThhee ..eellmm//eellmmrrcc FFiillee
Elm, like lots of other software on the UnixTM system, has the
ability to automatically read in a configuration file at each in-
vocation. The file must be called _e_l_m_r_c and reside in the _._e_l_m
directory located in your home directory. It can have any of the
entries below, in any order. If you are missing any entries, or
if you don't have an _._e_l_m_/_e_l_m_r_c file, the default values (listed
below for each option) will be used. Note that those options be-
low designated with * can be altered using elm via the o)ptions
screen. Also note that when you save a new _._e_l_m_/_e_l_m_r_c file via
the `>' command of the options screen, it will be (re)created in-
cluding even those options that have default values.
SSttrriinngg VVaarriiaabblleess
alternatives
This is a list of other machine/username combinations
that you receive mail from (forwarded). This is used
when the _g_r_o_u_p _r_e_p_l_y feature is invoked to ensure that
you don't send yourself a copy of the outbound message.
(The default is a list of no alternatives.)
calendar* This is used in conjunction with the `<' _s_c_a_n _m_e_s_s_a_g_e
_f_o_r _c_a_l_e_n_d_a_r _e_n_t_r_i_e_s command, as the file to append any
found calendar entries to. (The default is _c_a_l_e_n_d_a_r in
your home directory.)
editor* The editor to use when typing in new mail. If you se-
lect ``none'' or ``builtin'' you'll get a Berkeley Mail
style interface for all mail that doesn't already have
text in the buffer (e.g. a reply, mail with a ``signa-
ture'', etc). (The default is to use the value of $ED-
ITOR in your current environment, and if not set, an
editor selected by the person who configured _e_l_m for
your system.)
escape The character used with the ``builtin'' editor (see
above) to escape from text entry to input a command.
When a line begins with this character, the editor in-
terprets it as a command rather than as text to add.
(The default is ``~''.)
fullname* This is the name the mailer will use in messages you
send. It is highly recommended that you use your full
name and nothing strange or unusual, as that can appear
extremely rude to people receiving your mail. (The de-
fault is to use the ``gcos'' field from the _/_e_t_c_/_p_a_s_s_w_d
May 1, 1990 Page 2
Elm Reference Guide Version 2.3
file on systems that use this field to store full
names, and to use the contents of _._f_u_l_l_n_a_m_e in your
home directory on other systems.)
maildir* This is your folder directory. When you specify a
folder name beginning with the `=' metacharacter1, it
stands for this directory name. That is, if you save a
message to folder _=_s_t_u_f_f the `=' will be expanded to
the current value of _m_a_i_l_d_i_r. (The default is the di-
rectory _M_a_i_l in your home directory.)
tmpdir* Use this if you want to define your own directory for
the temporary file Elm creates while running. This is
only necessary if using the system temporary directory
could cause problems, such as when not all NFS clients
mount the common temporary directory, or when the tem-
porary directory is prone to being cleared periodical-
ly. The default entry of the system temporary directo-
ry is normally ok.
pager This is the program to be used to display messages.
You can specify ``builtin'' or the name of any standard
pager. If you use ``builtin+'', each screenfull of
displayed message is ``paged'' from the top of your
screen with a title line, while ``builtin'' simply
``scrolls up'' subsequent screenfulls once it has
``paged'' the first screenfull. (The default is to use
the value of $PAGER in your current environment, and if
not set, a pager selected by the person who configured
_e_l_m for your system, quite likely ``builtin+''.)
attribution
When you _f_o_r_w_a_r_d a message or _r_e_p_l_y to it, you can op-
tionally attribute the quoted text to its original au-
thor. Defining the attribution string here allows you
to indicate the form that the attribution should take.
The sequence `%s' in the attribution will be replaced
by the name of the original author. Examples are:
aattttrriibbuuttiioonn == AAccccoorrddiinngg ttoo %%ss::
aattttrriibbuuttiioonn == %%ss wwrriitteess::
prefix When you _r_e_p_l_y to a message or _f_o_r_w_a_r_d a message to an-
other person, you can optionally include the original
message. Defining the prefix value here allows you to
indicate what the prefix of each included line should
__________
1. Note that `%' and `+' are synonymous with `='
throughout _e_l_m
May 1, 1990 Page 3
Elm Reference Guide Version 2.3
be. (The default is ``> '' and is standard in the Unix
community.)
print* This is the command used for printing messages. There
are two possible formats for it, either a command that
can have a filename affixed to (as a suffix) before be-
ing executed, or a string that contains the meta-
sequence `%s' which will be replaced by the name of the
file before being executed. Examples of each are:
pprriinntt == pprriinntt --ffoorrmmffeeeedd
pprriinntt == pprr %%ss || llpprr
(The default is set by the person who configured _e_l_m
for your system.)
receivedmail
This is the folder to which incoming mail is saved af-
ter you've read it. When you answer _n_o (`n') to the
``keep unread messages in your incoming mailbox?''
prompt or _y_e_s (`y') to the ``store read messages in
your "received" folder?'', this is where the messages
go. (The default is "=received", that is, a folder
called _r_e_c_e_i_v_e_d in your _m_a_i_l_d_i_r directory).
sentmail* This is the folder to which a copy of outgoing mail is
automatically saved. This will only be done if the
_c_o_p_y flag is turned on (see below). Also note that if
the _s_a_v_e_n_a_m_e feature (see below) is enabled then this
folder may be ignored since the program may save to a
folder that has the same name as the login of the per-
son you're sending to. Whether or not a copy is saved,
and to what folder, can be changed just prior to send-
ing a message, see below. (The default is "=sent",
that is, a folder called _s_e_n_t in your _m_a_i_l_d_i_r directo-
ry).
shell This defines the shell to use when doing ``!'' escapes
and such. (The default is to use the value of $SHELL
in your current environment, and if not set, a shell
selected by the person who configured _e_l_m for your sys-
tem.)
signature This file, if defined, will be automatically appended
to all outbound mail before the editor is invoked.
Furthermore, if you'd like a different ``.signature''
file for _l_o_c_a_l mail and _r_e_m_o_t_e mail (remote being via
other hosts), you can alternatively define two vari-
ables, _l_o_c_a_l_s_i_g_n_a_t_u_r_e and _r_e_m_o_t_e_s_i_g_n_a_t_u_r_e, to have the
same functionality. (The default is "localsignature"
and "remotesignature" in your home directory.)
May 1, 1990 Page 4
Elm Reference Guide Version 2.3
sortby* You can have your folder sorted by any of the following
ways:
from This will sort according to whom each message
is _f_r_o_m.
lines This will sort _s_h_o_r_t_e_s_t to _l_o_n_g_e_s_t by mes-
sage.
mailbox This will leave the messages in the order
found in the folder.
received This will sort _l_e_a_s_t _r_e_c_e_n_t_l_y _r_e_c_e_i_v_e_d to
_m_o_s_t _r_e_c_e_n_t_l_y _r_e_c_e_i_v_e_d.
sent This will sort _l_e_a_s_t _r_e_c_e_n_t_l_y _s_e_n_t to _m_o_s_t
_r_e_c_e_n_t_l_y _s_e_n_t.
status This will sort by priority, action, new,
tagged, then deleted.
subject This will sort according to the _s_u_b_j_e_c_t of
each message.
Each of these fields can also optionally be prepended
with the sequence ``reverse-'' to reverse the order of
the sort. This doesn't imply anything about the order
of the message in the folder itself and affects only
their order on the index screen. (The default is _m_a_i_l_-
_b_o_x order.)
weedout When specifying this option, you can list headers that
you _d_o_n_'_t want to see when you are displaying a mes-
sage. This list can continue for as many lines as de-
sired, as long as the continued lines all have leading
indentation. (The default is ``Received:'' and oth-
ers.)
NNuummeerriicc VVaarriiaabblleess
bounceback
This is a hop count threshold value and allows you to
set up the mailer so that when you send mail more than
_n machines away, it'll automatically include a ``Cc:''
to you through the remote machine. In practice this
should be very rarely used. (Note: this refuses to
bounce mail off an Internet address. The default is to
have it set to zero, which disables the function)
timeout On more advanced systems, it's nice to start up the
mailer in a window and let it sit in background unless
May 1, 1990 Page 5
Elm Reference Guide Version 2.3
new mail arrives (see _w_n_e_w_m_a_i_l for another window based
program) at which point it can be brought up to the
forefront of the system and read. In this case, it
would be quite convenient to have the mailer internally
resynchronize every so often. This option specifies
the number of seconds that this occurs.
This is also useful for normal terminals, for example
you can leave _e_l_m running at night (I usually do) and
when you come in in the morning it'll be all ready to
read your mail!
(The default is a 300 second (5 minute) timeout peri-
od).
userlevel*
This is what the program uses to determine the relative
level of sophistication of the user -- the values are 0
for a new user (the default), 1 for someone familiar
with _e_l_m user, and 2 for experts. Some advanced fea-
tures are hidden from novice users, while experts get
less verbose prompt messages.
BBoooolleeaann VVaarriiaabblleess
alwaysdelete
When set, this changes the default answer of the prompt
``Delete messages?'' to the indicated value. (The de-
fault is to have the answer be _N_o (i.e. alwaysdelete =
OFF).)
alwaysstore
This sets the default answer on the ``store read mail
in "received" folder'' prompt to the value indicated.
(The default is to have the default answer be _N_o (i.e.,
alwaysstore = OFF).)
alwayskeep
This sets the default answer on the ``keep unread mail
in incoming mailbox'' However, if you answered _N_o to
the ``store read mail in "received" folder'' it is pre-
sumed that you'd also want to keep your unread mail in
the incoming mailbox, too, and the value of alwayskeep
is ignored. (The default is to have the default answer
be _Y_e_s (i.e., alwayskeep = ON).)
arrow* Sometimes you are forced to use a slow, or ``dumb''
terminal. In this case, you can force the current mes-
sage pointer to be the ``->'' sequence rather than the
May 1, 1990 Page 6
Elm Reference Guide Version 2.3
inverse bar. (Note that this is overridden by the sim-
ilar `-a' command line option, see below.) (The de-
fault is OFF.)
ask This allows you to tell the _e_l_m system that you'd
rather not be asked ``Delete Mail?'' and such each time
you quit, resynchronize a folder or change folders, and
instead it should just use the values of ``always-
delete'', ``alwaysstore'', and ``awayskeep'' without
prompting. (Note that when you quit _e_l_m, if you use
`Q' instead of `q', you will never be questioned, re-
gardless of how you have _a_s_k set.) (The default is ON,
i.e. to ask the questions.)
askcc If turned off, this will allow you to send mail without
being presented the ``Copies to:'' prompt for each mes-
sage. This still allows you to explicitly include ad-
dresses in the ``cc'' list via either ``~c'' in the
builtin editor, or via using the header editor. (The
default is ON, i.e. to ask about copies.)
autocopy If turned on, this will automatically copy the text of
each message being replied to into the edit buffer.
Otherwise you will be prompted as to whether you want
the message included in yours. (See the _p_r_e_f_i_x option
above.) (The default is OFF.)
copy This, in combination with the _s_e_n_t_m_a_i_l folder, will al-
low you to have silent copies of all outgoing mail made
on the outbound step. Whether a copy is saved and to
which folder can be set prior to sending a message, see
below. (The default is OFF.)
forcename This, in combination with the _s_a_v_e_n_a_m_e option, governs
how a copy of an outgoing message will be saved. (See
_s_a_v_e_n_a_m_e below for details.) (The default is OFF.)
keep The mail system has a habit of deleting folders when
you've removed everything from them. With this option
turned on, it will instead preserve them as zero-byte
files. This option does not apply to your incoming
mailbox. (The default is OFF.)
keypad If on, this tells _e_l_m that you have an HP terminal and
enables the <NEXT>, <PREV>, <HOME> and <SHIFT-HOME>
keys. (The default is OFF.)
May 1, 1990 Page 7
Elm Reference Guide Version 2.3
menu* If turned off, this will inhibit the Menu display on
all of the screen displays within the _e_l_m program.
(Note that this is overridden by the similar `-m' com-
mand line option, see below.) (The default is ON.)
names* If turned off, the primary recipients' address is dis-
played on your screen with their full names when you
send a message. Otherwise, only the full names are
given. (The default is ON.)
movepage If this is enabled then commands that move through the
folder by pages (the `+', `-', <right-arrow>, and
<left-arrow> keys) will also move the current message
pointer to the top of that page of messages. If this
is turned off then moving through the pages doesn't al-
ter the current message pointer location. (The default
is OFF.)
noheader This boolean flag tells the mailer not to include the
headers of messages when copying a message into a file
buffer for replying to or forwarding. (The default is
ON.)
promptafter
If this flag is ON and you use an external pager, when
the pager exits, you will be prompted for a command
rather than returned directly to the index screen. If
the external pager you are using exits when it reaches
end of file (i.e. end of the message), you should have
this flag ON, otherwise the last screen of the dis-
played message will not be held but instead be immedi-
ately replaced by the index screen. If the external
pager you are using does not exit until you command it
to exit, you have a choice. If you usually want to see
the index screen before issuing a command, having the
flag OFF will cut down out the extra keystroke needed
to return to the index screen. If you usually don't
need to see the index screen to before issuing the next
command, having the flag ON will allow you to proceed
with your next command without having to wait for the
redrawing of the index screen. (The default is ON.)
pointnew If this is turned on, the mailer will be automatically
pointing to the first new message in your folder when
started, instead of at message #1. This will only be
effective for the incoming mailbox since other folders
are not expected to have `new' mail. (The default is
ON.)
May 1, 1990 Page 8
Elm Reference Guide Version 2.3
resolve This is a boolean flag that defines the behaviour of
the program for such actions as deletion, saving a mes-
sage and so on. Specifically, with this option en-
abled, as soon as mail is `dealt with' the program
moves you to the next message in the folder, with dele-
tion, undeletion, saving a message and forwarding a
message all being treated as dealing with email in this
manner. (The default is ON.)
savename One of the problems with electronic mail systems is
that one tends to get very large, one-dimensional
(flat) files that contain lots of completely unrelated
mail. If this option is turned on, _e_l_m will use a more
intelligent algorithm -- on incoming mail, when you
_s_a_v_e or _c_o_p_y it, the default mailbox to save to
(changeable by pressing anything other than <return> of
course) is a folder that is the _l_o_g_i_n _n_a_m_e of the per-
son who sent you the message. Similarly, when sending
mail out, instead of just blindly saving it to the
_s_e_n_t_m_a_i_l folder, _e_l_m will save it to a folder that is
the login name of the person who is to receive the
mail2.
If _f_o_r_c_e_n_a_m_e is off (see above), the copy will be saved
to that folder only if the folder already exists. In
practice, this means that important people that you
communicate with (those that you tend to save mail
from) have folders that are actually _a _r_e_c_o_r_d_e_d _l_o_g _o_f
_t_h_e _d_i_s_c_u_s_s_i_o_n _i_n _b_o_t_h _d_i_r_e_c_t_i_o_n_s and those others
(random mailings) are all stuffed in the _s_e_n_t_m_a_i_l fold-
er for easy perusal and removal.
Otherwise, if you always want to save copies of outgo-
ing messages in separate folders by recipient login
name, you'll want to set _f_o_r_c_e_n_a_m_e to on. (The default
for _s_a_v_e_n_a_m_e is ON.)
sigdashes If on, this tells _e_l_m that you wish to follow the con-
vention of prefixing your signature with newline dash
dash blank newline. This will be placed in your mes-
sage before your signature file. If off, the signature
file is placed at the end of the message without any
prefix.
softkeys If on, this tells _e_l_m that you have an HP terminal with
the HP 2622 function key protocol and that you'd like
to have them available while in the program. (The
__________
2. When sending to a group, it's saved to the first
person in the list only.
May 1, 1990 Page 9
Elm Reference Guide Version 2.3
default is OFF.)
titles This flag allows you to have the first line of a mes-
sage titled with:
MMeessssaaggee _N_/_M ffrroomm _u_s_e_r_n_a_m_e _d_a_t_e aatt _t_i_m_e
where all the information has been previously extracted
from the message. This is especially useful if you
weed out all the headers of each message with a large
`weedout' list... (The default is ON.)
warnings The mailer likes to warn you when you send mail to a
machine that cannot be directly accessed. In some sit-
uations, however, the system is set up so that mail is
automatically forwarded to another machine that might
then have better connections. Setting this flag to OFF
will allow you to effectively shut off all the warning
messages. Use of this flag requires support of the uu-
name command on your system. Without this command, the
flag will be cleared to OFF automatically. (The default
is ON.)
weed This is a boolean flag that, in combination with the
``weedout'' list, allows you to custom define the set
of headers you would like to not have displayed while
reading messages. (The default is ON.)
One more thing: the format for each of the lines is:
vvaarriiaabbllee == vvaalluuee
and for boolean variables, _v_a_l_u_e can be `ON' or `OFF' only.
For a better idea of how this all works, here's my _._e_l_m_/_e_l_m_r_c
file. While looking through it, notice that you can have lots of
comments and blank lines for readability and that you can also
use `shell variables' and the `~' metacharacter for your home di-
rectory, and they are expanded accordingly when read in by the
mailer. (Note that this was automatically saved by the _e_l_m pro-
gram on the fly from the o)ptions screen)
##
## ..eellmm//eellmmrrcc -- ooppttiioonnss ffiillee ffoorr tthhee EELLMM mmaaiill ssyysstteemm
##
## SSaavveedd aauuttoommaattiiccaallllyy bbyy EELLMM 22..22 ffoorr DDaavvee TTaayylloorr
##
## FFoorr yyeess//nnoo sseettttiinnggss wwiitthh ??,, OONN mmeeaannss yyeess,, OOFFFF mmeeaannss nnoo
## wwhheerree ttoo ssaavvee ccaalleennddaarr eennttrriieess
ccaalleennddaarr == ~~//..AAggeennddaa
## wwhhaatt eeddiittoorr ttoo uussee ((""nnoonnee"" mmeeaannss ssiimmuullaattee BBeerrkkeelleeyy MMaaiill))
May 1, 1990 Page 10
Elm Reference Guide Version 2.3
eeddiittoorr == nnoonnee
## tthhee cchhaarraacctteerr ttoo uussee iinn tthhee bbuuiillttiinn eeddiittoorr ffoorr eenntteerriinngg ccoommmmaannddss
eessccaappee == ~~
## tthhee ffuullll uusseerr nnaammee ffoorr oouuttbboouunndd mmaaiill
ffuullllnnaammee == DDaavvee TTaayylloorr
## wwhheerree ttoo ssaavvee rreecceeiivveedd mmeessssaaggeess ttoo,, ddeeffaauulltt ffiillee iiss ""==rreecceeiivveedd""
rreecceeiivveeddmmaaiill == $$HHOOMMEE//MMaaiill//rreecceeiivveedd
## wwhheerree ttoo ssaavvee mmyy mmaaiill ttoo,, ddeeffaauulltt ddiirreeccttoorryy iiss ""MMaaiill""
mmaaiillddiirr == //uusseerrss//ttaayylloorr//MMaaiill
## pprrooggrraamm ttoo uussee ffoorr ddiissppllaayyiinngg mmeessssaaggeess ((''bbuuiillttiinn'' iiss rreeccoommmmeennddeedd))
ppaaggeerr == bbuuiillttiinn
## pprreeffiixx sseeqquueennccee ffoorr iinnddeennttiinngg iinncclluuddeedd mmeessssaaggee tteexxtt iinn oouuttggooiinngg mmeessssaaggeess......
pprreeffiixx == >>__
## hhooww ttoo pprriinntt aa mmeessssaaggee ((''%%ss'' iiss tthhee ffiilleennaammee))
pprriinntt == llpprr --PPllww22 %%ss
## wwhheerree ttoo ssaavvee ccooppiieess ooff oouuttggooiinngg mmaaiill ttoo,, ddeeffaauulltt ffiillee iiss ""==sseenntt""
sseennttmmaaiill == //uusseerrss//ttaayylloorr//MMaaiill//mmaaiill..sseenntt
## tthhee sshheellll ttoo uussee ffoorr sshheellll eessccaappeess
sshheellll == //bbiinn//ccsshh
## llooccaall ""..ssiiggnnaattuurree"" ffiillee ttoo aappppeenndd ttoo aapppprroopprriiaattee mmeessssaaggeess......
llooccaallssiiggnnaattuurree == llooccaallssiigg
## rreemmoottee ""..ssiiggnnaattuurree"" ffiillee ttoo aappppeenndd ttoo aapppprroopprriiaattee mmeessssaaggeess......
rreemmootteessiiggnnaattuurree == rreemmootteessiigg
## ddoo wwee wwaanntt ddaasshheess aabboovvee ssiiggnnaattuurreess?? ((NNeewwss 22..1111 ccoommppaattiibbiilliittyy aanndd ccoonnvveennttiioonn))
ssiiggddaasshheess == OONN
## hhooww ttoo ssoorrtt ffoollddeerrss,, ""MMaaiillbbooxx"" bbyy ddeeffaauulltt
ssoorrttbbyy == RReevveerrssee--RReecceeiivveedd
## sshhoouulldd tthhee ddeeffaauulltt bbee ttoo ddeelleettee mmeessssaaggeess wwee''vvee mmaarrkkeedd ffoorr ddeelleettiioonn??
aallwwaayyssddeelleettee == OONN
## sshhoouulldd tthhee ddeeffaauulltt bbee ttoo ssttoorree rreeaadd mmeessssaaggeess ttoo tthhee ""rreecceeiivveedd"" ffoollddeerr??
aallwwaayyssssttoorree == OONN
## sshhoouulldd tthhee ddeeffaauulltt bbee ttoo kkeeeepp uunnrreeaadd mmeessssaaggeess iinn tthhee iinnccoommiinngg mmaaiillbbooxx??
aallwwaayysskkeeeepp == OONN
## sshhoouulldd wwee uussee tthhee ""-->>"" rraatthheerr tthhaann tthhee iinnvveerrssee vviiddeeoo bbaarr??
aarrrrooww == OOFFFF
## sshhoouulldd tthhee mmeessssaaggee ddiissppoossiittiioonn qquueessttiioonnss bbee ddiissppllaayyeedd((OONN)) oorr
May 1, 1990 Page 11
Elm Reference Guide Version 2.3
## aauuttoo--aannsswweerreedd((OOFFFF)) wwiitthh tthhee ddeeffaauulltt aannsswweerrss wwhheenn wwee rreessyynncc oorr cchhaannggee ffoollddeerrss??
aasskk == OONN
## wwoouulldd yyoouu lliikkee ttoo bbee aasskkeedd ffoorr CCaarrbboonn--CCooppiieess iinnffoorrmmaattiioonn eeaacchh mmssgg??
aasskkcccc == OONN
## aauuttoommaattiiccaallllyy ccooppyy mmeessssaaggee bbeeiinngg rreepplliieedd ttoo iinnttoo bbuuffffeerr??
aauuttooccooppyy == OOFFFF
## tthhrreesshhoolldd ffoorr bboouunncciinngg ccooppiieess ooff rreemmoottee uuuuccpp mmeessssaaggeess......
## zzeerroo == ddiissaabbllee ffuunnccttiioonn..
bboouunncceebbaacckk == 00
## ssaavvee aa ccooppyy ooff aallll oouuttbboouunndd mmeessssaaggeess??
ccooppyy == OONN
## ddoo wwee wwaanntt ttoo bbee aabbllee ttoo mmaaiill oouutt AATT&&TT MMaaiill FFoorrmmss??
ffoorrmmss == OOFFFF
## sshhoouulldd wwee kkeeeepp ffoollddeerrss ffrroomm wwhhiicchh aallll mmeessssaaggeess aarree ddeelleetteedd??
kkeeeeppeemmppttyy == OOFFFF
## wwee''rree rruunnnniinngg oonn aann HHPP tteerrmmiinnaall aanndd wwaanntt HHOOMMEE,, PPRREEVV,, NNEEXXTT,, eettcc......
kkeeyyppaadd == OOFFFF
## sshhoouulldd wwee ddiissppllaayy tthhee tthhrreeee--lliinnee ''mmiinnii'' mmeennuu??
mmeennuu == OONN
## wwhheenn uussiinngg tthhee ppaaggee ccoommmmaannddss ((++ -- <<NNEEXXTT>> <<PPRREEVV>>)) cchhaannggee tthhee ccuurrrreenntt
## mmeessssaaggee ppooiinntteerr......??
mmoovveeppaaggee == OONN
## jjuusstt sshhooww tthhee nnaammeess wwhheenn eexxppaannddiinngg aalliiaasseess??
nnaammeess == OONN
## wwhheenn mmeessssaaggeess aarree ccooppiieedd iinnttoo tthhee oouuttbboouunndd bbuuffffeerr,, ddoonn''tt iinncclluuddee hheeaaddeerrss??
nnoohheeaaddeerr == OONN
## ssttaarrtt uupp bbyy ppooiinnttiinngg ttoo tthhee ffiirrsstt nneeww mmeessssaaggee rreecceeiivveedd,, iiff ppoossssiibbllee??
ppooiinnttnneeww == OONN
## pprroommpptt ffoorr aa ccoommmmaanndd aafftteerr tthhee eexxtteerrnnaall ppaaggeerr eexxiittss??
pprroommppttaafftteerr == OONN
## eemmuullaattee tthhee mmaaiillxx mmeessssaaggee iinnccrreemmeenntt mmooddee ((oonnllyy iinnccrreemmeenntt aafftteerr ssoommeetthhiinngg
## hhaass bbeeeenn ''ddoonnee'' ttoo aa mmeessssaaggee,, eeiitthheerr ssaavveedd oorr ddeelleetteedd,, aass ooppppoosseedd ttoo
## ssiimmppllyy eeaacchh ttiimmee ssoommeetthhiinngg iiss ttoouucchheedd))??
rreessoollvvee == OONN
## ssaavvee mmeessssaaggeess,, iinnccoommiinngg aanndd oouuttbboouunndd,, bbyy llooggiinn nnaammee ooff sseennddeerr//rreecciippiieenntt??
ssaavveennaammee == OONN
## ssaavvee oouuttbboouunndd mmeessssaaggeess bbyy llooggiinn nnaammee ooff sseennddeerr//rreecciippiieenntt eevveenn iiff tthhee
## aassssoocciiaatteedd ffoollddeerr ddooeessnn''tt aallrreeaaddyy eexxiisstt??
May 1, 1990 Page 12
Elm Reference Guide Version 2.3
ffoorrcceennaammee == OOFFFF
## aarree wwee rruunnnniinngg oonn aann HHPP tteerrmmiinnaall aanndd wwaanntt HHOOMMEE,, PPRREEVV,, NNEEXXTT,, eettcc......??
## ((tthhiiss iimmpplliieess ""kkeeyyppaadd==OONN"" ttoooo))
ssooffttkkeeyyss == OOFFFF
## sseett tthhee mmaaiinn pprroommpptt ttiimmeeoouutt ffoorr rreessyynncchhiinngg......
ttiimmeeoouutt == 6600
## ddiissppllaayy mmeessssaaggee ttiittllee wwhheenn ddiissppllaayyiinngg ppaaggeess ooff mmeessssaaggee??
ttiittlleess == OONN
## aarree wwee ggoooodd aatt iitt?? 00==bbeeggiinnnneerr,, 11==iinntteerrmmeeddiiaattee,, 22++ == eexxppeerrtt!!
uusseerrlleevveell == 22
## tteellll uuss aabboouutt aaddddrreesssseess ttoo mmaacchhiinneess wwee ccaann''tt ddiirreeccttllyy ggeett ttoo??
wwaarrnniinnggss == OOFFFF
## eennaabbllee tthhee wweeeeddoouutt lliisstt ttoo bbee rreeaadd??
wweeeedd == OONN
## wwhhaatt hheeaaddeerrss II DDOONN''TT wwaanntt ttoo sseeee,, eevveerr..
wweeeeddoouutt == ""PPaatthh::"" ""VViiaa::"" ""SSeenntt::"" ""DDaattee"" ""SSttaattuuss::"" ""OOrriiggiinnaall"" ""PPhhaassee""
""SSuubbjjeecctt::"" ""FFrruuiitt"" ""SSuunn"" ""LLaatt"" ""BBuuzzzzwwoorrdd"" ""RReettuurrnn"" ""PPoosstteedd""
""TTeelleepphhoonnee"" ""PPoossttaall--AAddddrreessss"" ""OOrriiggiinn"" ""XX--SSeenntt--BByy--NNmmaaiill--VV"" ""RReesseenntt""
""XX--LLooccaattiioonn"" ""SSoouurrccee"" ""MMoooodd"" ""NNeeuurroonn"" ""LLiibbiiddoo"" ""TToo::"" ""XX--MMaaiilleerr::""
""FFuullll--NNaammee::"" ""XX--HHPPMMAAIILL"" ""CCcc::"" ""cccc::"" ""MMmmddff"" ""NNeettwwoorrkk--"" ""RReeaallllyy--""
""SSeennddeerr::"" ""PPoosstt"" ""MMeessssaaggee--"" ""RReellaayy--"" ""AArrttiiccllee--"" ""LLiinneess::""
""AApppprroovveedd::"" ""XXrreeff::"" ""OOrrggaanniizzaattiioonn::"" ""**eenndd--ooff--uusseerr--hheeaaddeerrss**""
## aalltteerrnnaattiivvee aaddddrreesssseess tthhaatt II ccoouulldd rreecceeiivvee mmaaiill ffrroomm ((uussuuaallllyy aa
## ffoorrwwaarrddiinngg mmaaiillbbooxx)) aanndd ddoonn''tt wwaanntt ttoo hhaavvee lliisstteedd......
aalltteerrnnaattiivveess == hhppllaabbss!!ttaayylloorr hhppllddaatt!!ttaayylloorr ttaayylloorr@@hhppllaabbss ttaayylloorr%%hhppllddaatt
33.. TThhee CCoommmmaanndd LLiinnee OOppttiioonnss
There are a number of command line options to the _e_l_m program,
with only one that needs to be remembered: ``-?''or ``-h'' for
help.
The flags are:
-a Arrow. This allows you to have the ``->'' arrow pointer
rather than the inverse bar. This can also be set in
the _._e_l_m_/_e_l_m_r_c file -- check the boolean variable _a_r_-
_r_o_w).
-c Check only. This is useful for expanding aliases with-
out sending any mail. The invocation is similar to in-
voking _e_l_m in send-only mode: eellmm --cc _l_i_s_t_-_o_f_-_a_l_i_a_s_e_s
May 1, 1990 Page 13
Elm Reference Guide Version 2.3
-d _n Set debug level to _n. Useful for debugging the _e_l_m pro-
gram, this option will create a file in your home direc-
tory called _E_L_M_:_d_e_b_u_g_._i_n_f_o, then output a running log of
what is going on with the program. Level _n can be 1
through 11, where the higher numbers generate more out-
put. This option might be disabled by the the person
who configured _e_l_m for your system.
-f _f_o_l_d_e_r
Folder. Read specified folder rather than the default
incoming mailbox. Note that you can use the same
metacharacters (e.g. `=') as when you _c_h_a_n_g_e _f_o_l_d_e_r_s
from within the program. You can also use the same ab-
breviatory symbols (`!', `>' and `<'), but remember to
``single quote'' them in case they have special meaning
in the shell you use.
-h or -?
Help. Gives a short list of all these options and ex-
its.
-k Keypad -- This option, when used, lets the _e_l_m program
know that you're on an HP terminal, and it can then in-
terpret the <PREV>, <NEXT> and <HOME>/<SHIFT>-<HOME>
keys accordingly. If you are not on an HP terminal, it
is recommended that you do NOT use this option. (See the
_k_e_y_p_a_d option in the _._e_l_m_/_e_l_m_r_c section.)
-K Keypad + softkeys. The _e_l_m mailer can use the HP soft-
keys as an alternative form of input. If you specify
this option be sure that you're on an HP terminal that
can accept the standard 2622 terminal escape sequences!
(See the _s_o_f_t_k_e_y_s option in the _._e_l_m_/_e_l_m_r_c section for
more information.)
-m Inhibit display of the 3-line menu when using the mail-
er. This, of course, gives you three more message head-
ers per page instead. (See also the mmeennuu option in the
_._e_l_m_/_e_l_m_r_c section.)
-s _s_u_b_j_e_c_t
In send-only and batch mode, this is how to indicate the
subject of the resulting message. Please see the sec-
tion on ``Non-Interactive Uses of Elm'' in _T_h_e _E_l_m _U_s_e_r_s
_G_u_i_d_e for more information.
May 1, 1990 Page 14
Elm Reference Guide Version 2.3
-z Zero. This causes the mailer not to be started if you
don't have any mail. This emulates the behaviour of
programs like _B_e_r_k_e_l_e_y _M_a_i_l.
All the above flags default to reasonable options, so there is
usually no need to use them. Furthermore, the most used flags
are available through the _._e_l_m_/_e_l_m_r_c file. See above.
44.. SSppeecciiaall OOuuttggooiinngg MMaaiill PPrroocceessssiinngg
There are a few extra features that the mailer offers on outgoing
mail that are worthy of mention:
The first, and probably the most exciting feature3, is the abili-
ty to send _e_n_c_r_y_p_t_e_d mail! To do this is extremely simple: You
need merely to have two key lines [[eennccooddee]] and [[cclleeaarr]] in the
message body.
Consider the following outgoing message:
JJooee,,
RReemmeemmbbeerr tthhaatt ttaallkk wwee hhaadd aabboouutt AAmmyy?? WWeellll,, II ttaallkkeedd ttoo mmyy mmaannaaggeerr
aabboouutt iitt aanndd hhee ssaaiidd......
uuhhhh......bbeetttteerr eennccrryypptt tthhiiss......tthhee uussuuaall ``kkeeyy''......
[[eennccooddee]]
HHee ssaaiidd tthhaatt AAmmyy wwaass hhaavviinngg ffaammiillyy pprroobblleemmss aanndd tthhaatt iitt hhaadd bbeeeenn
aaffffeeccttiinngg hheerr wwoorrkk..
GGiivveenn tthhiiss,, II wweenntt aanndd ttaallkkeedd ttoo hheerr,, aanndd ttoolldd hheerr II wwaass ssoorrrryy ffoorr
ggeettttiinngg aannggrryy.. SShhee ssaaiidd tthhaatt sshhee uunnddeerrssttoooodd..
WWee''rree ffrriieennddss aaggaaiinn!!!!
[[cclleeaarr]]
EExxcciittiinngg ssttuuffff,, eehh??
MMiikkee
While this is obviously quite readable while being typed into the
editor, as soon as the message is confirmed as wanting to be
sent, the _e_l_m mailer prompts with:
EEnntteerr eennccrryyppttiioonn kkeeyy:: @@
and accepts a key (a series of 8 or less characters) without
echoing them to the screen. After entry, it will ask for the
same key again to confirm it, then *poof* it will encrypt and
send the mail.
If you have the _c_o_p_y option enabled, the program will save your
copy of the message encrypted too. (This is to ensure the priva-
cy and security of your mail archive, too.)
If the mailer doesn't ask for the encryption key, it's because
you don't have the [[eennccooddee]] entered as the first 8 characters of
__________
3. Unfortunately, at many non-US sites, it's quite
probable that you won't be able to use this feature
since you won't have the _c_r_y_p_t_(_) library available due
to licensing restrictions.
May 1, 1990 Page 15
Elm Reference Guide Version 2.3
the line. It MUST be so for this to work!!
On the other end, a person receiving this mail (they must also be
using _e_l_m to receive it, since this mailer has a unique encryp-
tion program) will be reading the message and then suddenly be
prompted:
EEnntteerr ddeeccrryyppttiioonn kkeeyy:: @@
and will again be asked to re-enter it to confirm. The program
will then on-the-fly decrypt the mail and display each line as it
is decoded. The [[cclleeaarr]] line signifies that the block to encrypt
is done.
Note that it is not possible currently to _p_i_p_e or _p_r_i_n_t encrypted
mail.
The other option on outgoing mail is the ability to specify what
section of the message you want to have archived (assuming _c_o_p_y
is enabled) and what section you don't. This is most useful for
sending out source file listings and so on.
To indicate the end of the section that should be saved in the
archive, you need merely to have the line
[[nnoossaavvee]]
or
[[nnoo ssaavvee]]
appear by itself on a line. This will be removed from the outgo-
ing mail, and will indicate the last line of the message in the
saved mail. Other than this, the saved mail is identical to the
outgoing mail.
55.. CCuussttoommiizzeedd hheeaaddeerr lliinneess
The mailer provides a facility for including customized header
lines in the messages you send. If you have an _._e_l_m_/_e_l_m_h_e_a_d_e_r_s
file, the mailer will include its contents immediately after the
regular headers of all outbound mail. The mailer supports use
of the backquote convention in this file. Here's a typical
_._e_l_m_/_e_l_m_h_e_a_d_e_r_s file.
OOrrggaanniizzaattiioonn:: HHeewwlleetttt--PPaacckkaarrdd LLaabboorraattoorriieess
PPhhoonnee:: ((441155))--555555--11223344
OOppeerraattiinngg SSyysstteemm:: ``uunnaammee --ssrrvv``
These lines will appear after all other header lines in the mes-
sage.
66.. CCoommmmaannddss
This section will discuss each command in the _e_l_m program in more
detail than above, including the prompts the user can expect upon
executing the command, the meaning of different options, etc.
May 1, 1990 Page 16
Elm Reference Guide Version 2.3
? Help. This command used once puts you in the _h_e_l_p mode,
where any key you press will result in a one-line de-
scription of the key. Pressed again at this point will
produce a two page summary listing each command avail-
able. <escape> or `.' will leave the help mode and re-
turn you to the main menu level.
<space>
Display the current message. <space> is useful for
reading through a mail folder. When issued from the in-
dex screen, it will display the first screen of the cur-
rent message; and then when issued while in the builtin
pager, it will page through the message to the end; and
then when issued at the end of a message (with either
the builtin pager or an external pager), it will display
the first screen of the next message not marked for
deletion.
<return>
Display the current message. <return> behaves somewhat
differently from <space>. When issued while in the
builtin pager, it will scroll the current message for-
ward one line, and then when issued at the end of a mes-
sage (with either the builtin pager or an external
pager), it will redisplay the first screen of the the
_c_u_r_r_e_n_t message. The latter is useful in case you have
issued a non-pager command while in the builtin pager
and want to restart the display of the current message.
! Shell. This allows you to send a command to the shell
without leaving the program.
| Pipe. This command allows you to pipe the current mes-
sage or the set of _t_a_g_g_e_d messages through other filters
as you desire. The shell used for the entire command
will be either the one specified in your _._e_l_m_/_e_l_m_r_c
file, or the default shell (see above).
Pattern match. This command, on the top level, allows
the user to search through all the _f_r_o_m and _s_u_b_j_e_c_t
lines of the current folder starting at the current mes-
sage and continuing through the end. If the first char-
acter of the pattern is a `/', then the program will try
to match the specified pattern against _a_n_y line in the
folder. Again, this works from one after the current
message through the end. Both searches are case insen-
sitive.
May 1, 1990 Page 17
Elm Reference Guide Version 2.3
- or <left>
Display the next page of the message index.
+ or <right>
Display the previous page of the message index.
<number><return>
Specify new current message. When you type in any digit
key _e_l_m will prompt ``Set current to : n'', where `n' is
the digit entered. Enter the full number and terminate
with <return>. Note that changing the current message
to a message not on the current page of headers will re-
sult in a new page being displayed.
< Scan message for calendar entries. A rather novel fea-
ture of the _e_l_m mailer is the ability to automatically
incorporate calendar/agenda information from a mail mes-
sage into the users calendar file. This is done quite
simply; any line that has the pattern
-> _c_a_l_e_n_d_a_r _e_n_t_r_y
will be automatically added to the users _c_a_l_e_n_d_a_r file
(see the _c_a_l_e_n_d_a_r option of the _._e_l_m_/_e_l_m_r_c file) if the
`<' command is used.
For example, let's say we had a message with the text:
RReeggaarrddlleessss ooff tthhaatt mmeeeettiinngg,, hheerree''ss tthhee sseemmiinnaarr
ssttuuffff::
-->> 88//0033 33::0000ppmm:: AAII SSeemmiinnaarr wwiitthh IIrraa GGoollddsstteeiinn ooff HHPP
LLaabbss
then using the `<' command would add the line:
88//0033 33::0000ppmm:: AAII SSeemmiinnaarr wwiitthh IIrraa GGoollddsstteeiinn ooff HHPP
LLaabbss
to the users _c_a_l_e_n_d_a_r file.
a Alias. The alias system is a way by which more complex
mail addresses can be shortened for the mail user. For
example:
jjooee,, bblleeuu == JJooee BBlleeuu == jjooee@@hhppffccllaa..SSSSOO..HHPP..CCOOMM
which allows mail to `joe' or `bleu' with the system ex-
panding the address properly. As is obvious, this not
only saves remembering complex addresses, it also allows
the address to be optimized to go through the minimum
number of machines without anyone having to be informed
of the change. A more detailed discussion can be found
May 1, 1990 Page 18
Elm Reference Guide Version 2.3
in either the section entitled _T_h_e _A_l_i_a_s _S_y_s_t_e_m in this
document or _T_h_e _E_l_m _A_l_i_a_s _S_y_s_t_e_m _U_s_e_r_s _G_u_i_d_e.
b Bounce mail. This ``remails'' mail to someone else in
such a way as to make the return address the original
sender rather than you. (The _f_o_r_w_a_r_d command is simi-
lar, but it makes the return address _y_o_u rather than the
original sender.)
C Copy to folder. This command copies the current message
or set of tagged messages to a folder. If there is any-
thing in the folder currently the message or messages
are appended to the end, otherwise the folder is created
containing only the newly copied message. The prompt
for this command is `Copy to folder: '. A response of
<return> cancels the command and returns the user to the
system prompt. The usual filename metacharacters are
available, too. That is, this command expands filenames
with `~' being your home directory and `=' being your
_m_a_i_l_d_i_r directory, if defined. This command also allows
you to use `>' for your _r_e_c_e_i_v_e_d_m_a_i_l folder and `<' for
your _s_e_n_t_m_a_i_l folder. You can also enter `?' at the
prompt to list the names of your folders.
c Change folder. Specifying this command allows the user
to change the folder that is currently being read. This
is intended for perusal and reply to previously archived
messages. The prompt is `Name of new folder: ' and en-
tering <return> cancels the operation, while entering a
filename causes the program to read that file as the new
folder, if possible. This command expands filenames
with `~' being your home directory and `=' being your
_m_a_i_l_d_i_r directory, if defined. This command also allows
you to use `!' as an abbreviation for you incoming mail-
box, `>' for your _r_e_c_e_i_v_e_d_m_a_i_l folder, and `<' for your
_s_e_n_t_m_a_i_l folder. You can also enter `?' at the prompt
to list the names of your folders.
d, u Delete and Undelete. Neither of these two commands have
any prompts and indicate their action by either adding a
`D' to the current message index entry (indicating dele-
tion pending) or removing the `D' (indicating that the
message isn't set for deletion).
<control>-D
This command allows you to easily mark for deletion all
messages that have a specific pattern. After <con-
trol>-D is pressed, the program will prompt for the
string to match (currently it only matches either the
May 1, 1990 Page 19
Elm Reference Guide Version 2.3
_f_r_o_m or _s_u_b_j_e_c_t lines of the message).
<control>-U
This is the direct opposite command to the previous --
all messages that match the specified pattern can have
any mark for deletion removed by using this command.
e Edit mailbox. This allows you to modify the current
mail file at a single keystroke. This is mostly useful
for editing down messages before saving them. Modifying
headers should be done with extreme caution, as they
contain routing information and other vital stuff for
full functionality.
f Forward. Allows the user to forward the current message
to another user. This copies the message into the edit
buffer and allows the user to add their own message too.
The prompt is `Forward to:' and will expand an alias if
entered. (See also _b_o_u_n_c_e, above.)
Elm will ask you if you want to edit the message before
sending it. If you answer `yes', Elm will prepend your
prefix string to each line of the message, and let you
edit the result. If you do not want the prefix string
on each line, answer `no'; you will have another chance
to edit the message when you get to the `send' menu.
(See also the `elmrc' section, under _p_r_e_f_i_x.)
g Group reply. Identical to _r_e_p_l_y below, except that the
response is mailed to _a_l_l _r_e_c_i_p_i_e_n_t_s of the original
message (except yourself -- see the _a_l_t_e_r_n_a_t_i_v_e_s option
for your _._e_l_m_/_e_l_m_r_c file above).
h Display the current message with all headers intact.
When you display a message with other commands, certain
header lines are formatted and others discarded (accord-
ing to the _w_e_e_d_l_i_s_t parameter in your _._e_l_m_/_e_l_m_r_c file).
i Return to the index screen, when issued in the builtin
pager or at the end of a message (with either the
builtin pager or an external pager).
j or <down>, k or <up>
These four keys work similarly to what they would do in
_v_i or any of the other (precious few) screen oriented
programs. The `j' and <down> keys move the current mes-
sage pointer down to the next message skipping over any
May 1, 1990 Page 20
Elm Reference Guide Version 2.3
marked deleted (going to the next page if needed) and
the `k' and <up> keys move the current message pointer
back to the previous message skipping over any marked
deleted (also changing pages if needed)
J, K These two keys work similarly to their lower case coun-
terparts, except that they don't skip over deleted mes-
sages.
l Limit. This feature allows you to specify a subset of
the existing messages to be dealt with. For example,
let's say we had a folder with four hundred messages in
it, about four or five different subjects. We could
then limit what we're dealing with by using the _l_i_m_i_t
command. Pressing `l' would result in the prompt:
CCrriitteerriiaa::
to which we could answer ssuubbjjeecctt _s_t_r_i_n_g, ffrroomm _s_t_r_i_n_g or
ttoo _s_t_r_i_n_g. In our example, we could use ssuubbjjeecctt pprroo--
ggrraammmmiinngg as a criteria for selection. Once we've limit-
ed our selections down, the screen will be rewritten
with just the selected messages and the top line will
change to have a message like:
FFoollddeerr iiss ""==eellmm"" wwiitthh 9922 sshhoowwnn oouutt ooff 112244 [[EEllmm 22..22]]
We can further limit selections by entering further cri-
teria, each time using the _l_i_m_i_t option again.
To clear all the criteria and get back to the `regular'
display, simply enter _a_l_l as the limiting criteria. It
should be noted that the selection based on ``to'' isn't
fully implemented for this version, so it is recommended
that users stay with ``subject'' and ``from'' as the ba-
sis for their criteria.
m Mail. Send mail to a specified user. The prompt that
is associated with this command is `Send mail to :'.
Entering an alias name results in the full address being
rewritten in parenthesis immediately. This prompt is
followed by `Subject:' which allows the user to title
their note. The final field is `Copies to: ', which al-
lows other people specified to receive "carbon copies"
of the message. (See the _a_s_k_c_c option of the _._e_l_m_/_e_l_m_r_c
file above.) Upon entering all three items the editor
is invoked and the message can be composed.
n Next message that is not marked deleted: useful for dis-
playing successive messages in a folder. When issued
from the index screen, it displays the current message,
and then when issued while in the builtin pager or at
the end of a message (with either the builtin pager or
an external pager), it will display the first screen of
May 1, 1990 Page 21
Elm Reference Guide Version 2.3
the next message not marked for deletion.
o Options. This full-screen display allows you to alter
the settings of a number of parameters, including the
current sorting method, the method of printing files,
the calendar file, the save file, and so on. It's self-
documenting (where have you heard _t_h_a_t before?) so isn't
explained in too much detail here.
p Print. This allows you to print out the current message
or the tagged messages to a previously defined printer.
(See the section on the _._e_l_m_/_e_l_m_r_c discussing the _p_r_i_n_t
variable.)
q Quit. If you in the pager, you are returned to the in-
dex screen. If you are on the index screen, _e_l_m quits
altogether. However, if you have the option _a_s_k set,
_e_l_m first prompts you for the disposition of the mes-
sages in the current folder. If any messages are marked
for deletion, it will ask if you want them deleted. If
the current folder is your incoming mailbox, you will
also be asked if read messages should be stored in your
_r_e_c_e_i_v_e_d_m_a_i_l folder, and if unread messages should be
kept in the incoming mailbox. The default answers to
these questions are set by the _._e_l_m_/_e_l_m_r_c options _a_l_-
_w_a_y_s_d_e_l_e_t_e, _a_l_w_a_y_s_s_t_o_r_e, and _a_l_w_a_y_s_k_e_e_p. However, if
you elect to not store your read messages (i.e. keep
them) it is presumed you want to keep your unread mes-
sages, too.
Q Quick quit. This behaves similar to the `q' command ex-
cept that you are never prompted for answers to the mes-
sage disposition questions. _E_l_m will dispose of mes-
sages according to the values you have set for _a_l_w_a_y_s_-
_d_e_l_e_t_e, _a_l_w_a_y_s_s_t_o_r_e, and _a_l_w_a_y_s_k_e_e_p in your _._e_l_m_/_e_l_m_r_c
file.
r Reply. Reply to the sender of the current message. If
the _a_u_t_o_c_o_p_y flag is OFF in your _._e_l_m_/_e_l_m_r_c file, the
program will prompt ``Copy message? (y/n)'' to which the
user can specify whether a copy of the source message is
to be copied into the edit buffer, or not. If copied
in, all lines from the message are prepended with the
_p_r_e_f_i_x character sequence specified in your _._e_l_m_/_e_l_m_r_c
file.
s Save to folder. This command is like the `copy' com-
mand, except that the saved messages are marked for
May 1, 1990 Page 22
Elm Reference Guide Version 2.3
deletion, and that if you are saving just the current
message, the current message pointer is incremented af-
terwards (see the _r_e_s_o_l_v_e option in the _._e_l_m_/_e_l_m_r_c file
above). This command expands folder names with `~' be-
ing your home directory and `=' being your _m_a_i_l_d_i_r di-
rectory, if defined. This command also allows you to
use `>' for your _r_e_c_e_i_v_e_d_m_a_i_l folder and `<' for your
_s_e_n_t_m_a_i_l folder.
t Tag. Tag the current message for a later operation4.
<control>-T
Tag all messages containing the specified pattern.
Since _t_a_g_g_i_n_g messages can occur on screens other than
the one being viewed, the _e_l_m system will first check to
see if any messages are currently _t_a_g_g_e_d and ask you if
you'd like to remove those tags. After that, it will,
similar to the _<_c_o_n_t_r_o_l_>_-_D function, prompt for a pat-
tern to match and then mark for deletion all messages
that contain the (case insensitive) pattern in either
the _f_r_o_m or _s_u_b_j_e_c_t lines.
x Exit. This leaves _e_l_m discarding any changes to the
mailbox. If changes are pending (such as messages
marked for deletion) a prompt is made to confirm dis-
carding the changes. If confirmed, no messages are
deleted and the statuses of messages are unchanged.
That is, any messages that were new will remain new in-
stead of being noted as old, and any messages that were
read for the first time will be again noted as unread.
X Exit immediately. This leaves _e_l_m in the quickest pos-
sible manner without even prompting about discarding the
changes to the mailbox. No messages are deleted and the
statuses of messages are unchanged. That is, any mes-
sages that were new will remain new instead of being
noted as old, and any messages that were read for the
first time will be again noted as unread.
When you are about to send of a message under the _f_o_r_w_a_r_d, _m_a_i_l,
or _r_e_p_l_y commands (see above), a small menu of the following op-
tions appears:
c Specify folder for saving a copy to. This allows you to
override the _c_o_p_y, _f_o_r_c_e_n_a_m_e and _s_a_v_e_n_a_m_e options of
__________
4. Currently only _p_i_p_e, _p_r_i_n_t, and _s_a_v_e support this.
May 1, 1990 Page 23
Elm Reference Guide Version 2.3
your _._e_l_m_/_e_l_m_r_c file. It prompts you for the name of
the folder where a copy of the outgoing message is to be
saved. The default displayed is taken from those three
_._e_l_m_/_e_l_m_r_c options and can be changed. This command al-
so allows you to use `>' for your _r_e_c_e_i_v_e_d_m_a_i_l folder
and `<' for your _s_e_n_t_m_a_i_l folder, and `=?' to mean
``conditionally save by name'' and `=' to mean ``uncon-
ditionally save by name''. (See the _s_a_v_e_n_a_m_e option
above for details on saving by name.) (Since you could
next enter the _e_d_i_t _h_e_a_d_e_r_s command and change the re-
cipients of your message, the name of the folder under
the two ``save by name'' options is not established un-
til you enter the _s_e_n_d command.) You can also enter `?'
at the prompt to list the names of your folders.
f Forget. This gets you out of sending a message you
started. If you are in send-only mode, the message is
saved to the file _C_a_n_c_e_l_l_e_d_._m_a_i_l in your home directory.
Otherwise it can be restored at the next _f_o_r_w_a_r_d, _m_a_i_l,
or _r_e_p_l_y command during the current session of _e_l_m. Af-
ter issuing one of those commands you will be prompted
with ``Recall last kept message?''
e Edit message (or form). Entering this command will al-
low you to edit the text of your message or form.
h Edit headers. This puts you into the _h_e_a_d_e_r _e_d_i_t_i_n_g
_m_o_d_e, whereby you can edit to any of the various headers
of your message. Like the options screen, it's self-
documenting, so it isn't explained in too much detail
here.
m Make form. This converts the message you have edited
into a form. (See _T_h_e _E_l_m _F_o_r_m_s _M_o_d_e _G_u_i_d_e for more de-
tails.)
s Send. This sends the message as is without any further
ado.
77.. UUssiinngg EEllmm wwiitthh ````eeddiittoorr == nnoonnee''''
The _E_l_m program also supports a builtin editor for simple message
composition that is very (very) similar to the simple line editor
available from the _B_e_r_k_e_l_e_y _M_a_i_l system.
To access it, you need merely to specify ``_e_d_i_t_o_r_=_n_o_n_e'' in your
_._e_l_m_/_e_l_m_r_c file. With that, any messages to be composed that
don't already have text in the buffer (e.g. no reply with the
May 1, 1990 Page 24
Elm Reference Guide Version 2.3
text included, etc), will use this editor.
From the builtin editor, the following options are available for
use. Each command here is prefixed with a `~'. You can specify
a different ``escape'' character in your _._e_l_m_/_e_l_m_r_c file, if you
desire (see above).
~? Print a brief help menu.
~b Change the Blind-Carbon-Copy list.
~c Change the Carbon-Copy list.
~e Invoke the Emacs editor on the message, if possible.
~f Add the specified message or current message.
~h Change all the available headers (To, Cc, Bcc, and Subject).
~m Same as `~f', but with the current `prefix'.
~o Invoke a user specified editor on the message.
~p Print out the message as typed in so far.
~r Include (read in) the contents of the specified file.
~s Change the Subject line.
~t Change the To list.
~v Invoke the Vi visual editor on the message.
~< Execute the specified unix command, entering the output of
the command into the editor buffer upon completion. (For
example ``~< who'' will include the output of the _w_h_o com-
mand in your message.)
May 1, 1990 Page 25
Elm Reference Guide Version 2.3
~! Execute a unix command if one is given (as in ``~!ls'') or
give the user a shell (either from their shell setting in
their _._e_l_m_/_e_l_m_r_c file or the default).
~~ Add a line prefixed by a single `~' character.
A useful note is that the `~f' and `~m' commands invoke the
_r_e_a_d_m_s_g command, so you can pass parameters along too. For exam-
ple, if we wanted to include a message from Joe, without any
headers, prefixed, we could use:
~m -n Joe
to accomplish the task.
To learn more about how they work, try 'em!
88.. TThhee AAlliiaass SSyysstteemm
As mentioned previously, there exists in the _e_l_m system a set of
aliases that associate an arbitrary word (such as a persons name)
to a complex address or group. The advantages are readily appar-
ent; rather than remembering an address of the form:
hhoosstt11!!hhoosstt22!! ...... !!hhoossttNN!!uusseerr
the user merely has to remember a single word.
Two alias tables are available for a each user within _e_l_m, namely
the system alias file and the user's alias file. The system
alias file is created and maintained (by the system administra-
tor) by editing the file _S_Y_S_T_E_M___A_L_I_A_S_E_S as defined in the `sys-
defs.h' file (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) and as described
in the documentation with the _n_e_w_a_l_i_a_s command, then running the
_n_e_w_a_l_i_a_s program.
An individual user can also have an alias file which works in
conjunction with the system aliases. To do this, they need mere-
ly to peruse the documentation for the _n_e_w_a_l_i_a_s command and cre-
ate a file as indicated therein. After executing the program,
the aliases will be available for using from within _e_l_m.
Please refer to _T_h_e _E_l_m _A_l_i_a_s _U_s_e_r_s _G_u_i_d_e for more helpful hints
and so on.
Within _e_l_m, however, the alias system acts as an entirely differ-
ent program, with it's own commands and own mini-menu. The menu
replaces the standard mini-menu with:
May 1, 1990 Page 26
Elm Reference Guide Version 2.3
----------------------------------------------------------------------------------------------------------------------------------------------------------------
AAlliiaass ccoommmmaannddss
aa))lliiaass ccuurrrreenntt mmeessssaaggee,, dd))eelleettee aann aalliiaass,, cchheecckk aa pp))eerrssoonn oorr ss))yysstteemm,,
ll))iisstt eexxiissttiinngg aalliiaasseess,, mm))aakkee nneeww aalliiaass oorr rr))eettuurrnn
AAlliiaass:: @@
----------------------------------------------------------------------------------------------------------------------------------------------------------------
The commands are:
a Alias current message. This allows the user to create an
alias that has the return address of the current message as
the address field of the alias. It prompts for a unique
alias name. Important note: when you alias an address in
this fashion, the mailer will try to minimize the amount it
needs to store by iteratively comparing machine names in the
path with the machines in the pathalias database. Once it
finds an entry the address will be saved at that point.
For further information, please see _T_h_e _E_l_m _A_l_i_a_s _S_y_s_t_e_m
_U_s_e_r_s _G_u_i_d_e.
d Delete an existing alias. This allows the user to delete an
alias the user has previously made. It prompts for the
alias name, and displays the alias information, if found,
and then prompts for confirmation to delete.
l List all existing aliases. This simply lists all the alias-
es you have previously made.
m Make user alias. This will prompt for a unique alias name
and then for an address. The information provided will be
added to your individual aliases.text file
(_$_H_O_M_E_/_._e_l_m_/_a_l_i_a_s_e_s_._t_e_x_t) and then added to the database.
p Check personal alias. This is a simple way of checking what
is in the alias database -- it prompts for an alias name,
and returns the address associated with that name or the er-
ror message `alias not found' as appropriate.
r Return. Return to the main level of the _e_l_m program.
s Check system alias. If you're not sure that your machine
can talk to another machine, you can use this command to
May 1, 1990 Page 27
Elm Reference Guide Version 2.3
either find the appropriate route or find that you're cor-
rect in your suspicions and it is indeed unknown!
99.. WWhhiillee WWee''rree TTaallkkiinngg AAlliiaasseess......
Another feature worthy of discussion, since it's been getting
lots of veiled references throughout this document, is the host-
path file. This is implemented using the uucp pathalias
database, with a file containing lines with the format:
_h_o_s_t_n_a_m_e _a_d_d_r_e_s_s!!%%ss
or
_h_o_s_t_n_a_m_e %%ss@@_h_o_s_t_n_a_m_e
The actual details of the file are located in _T_h_e _A_l_i_a_s _S_y_s_t_e_m
_U_s_e_r_s _G_u_i_d_e.
Anyway, to use them is quite simple...when specifying the address
of someone, you can either have an alias for them already, reply
to their message, or use the system alias feature!
Enough hype, right? Okay...to use this feature, you specify an
address by either "machine!person" ignoring if your specific ma-
chine can talk directly to the machine specified, or, if you pre-
fer the Internet addressing scheme, "person@machine". When you
enter the address as specified, the mailer will quickly search
through the pathalias database file and expand the specified ad-
dress to be a legitimate routing address.
What's really nice about this is that the address that we're go-
ing to send to can be either on ARPA, CSNET, BITNET, uucp, or any
other network. The method of specifying the basic address is the
same regardless!
For example, mail to me could be sent as either "hplabs!taylor"
or "taylor@hplabs". _e_l_m will expand them both in the same manner
and include a ``route'' to the machine _h_p_l_a_b_s, if needed.
For those sites with the domains database installed, you can also
mail to users on domain based systems by simply specifying their
name, the machine they receive mail on and a full domain specifi-
cation.
For example, say you have a friend Maurice who reads mail on JOE-
VAX in the Mailnet world. You could mail to him by using the ad-
dress "Maurice@JOEVAX.MAILNET" and your system will expand the
address correctly.
1100.. EExxppeerrtt MMaaiill UUsseerrss aanndd DDeebbuuggggiinngg tthhee MMaaiilleerr
There are some additional facilities available in the _e_l_m mailer
for those people who are knowledgeable about mail protocols, or
trying to debug/track down a problem.
May 1, 1990 Page 28
Elm Reference Guide Version 2.3
The `h' _h_e_a_d_e_r_s command at the outermost level of the mailer will
display the current message ignoring the current setting of the
`weed' option. This is most useful for answering questions of
the form "I wonder what this guy put in his header?" and such.
This command does not show up on the mini-menu because it is
somewhat esoteric, but it does appear on the `?' help screen (can
you find it there, though?).
The `@' command at the outermost level of the mailer will output
a screen of debugging information, including the number of lines
and offsets of each of the messages in the current mailbox.
The `#' command at the outermost level of the mailer will display
the entire stored `record structure' for the current message.
The `%' command will display the full computed return address of
the current message.
Starting up _e_l_m with the "-d" debug option will create a file
called _E_L_M_:_d_e_b_u_g_._i_n_f_o in your home directory and contain a wealth
of useful information (to me, at least!) to aid in tracking down
what errors are occurring and why.
If there are any problems with the mailer, please try to recre-
ate the error with the debug option enabled and set to the high-
est level (11) before sending defect reports my way.
One final note: all error names reported by the program are docu-
mented in the AT&T System V Interface Definition Reference Manual
in _e_r_r_n_o(2).
May 1, 1990 Page 29