gonzalm@prism.cs.orst.edu (Mario Gonzales) (05/06/91)
Here are the ELM MAN PAGES FOR USERS ON MACHINES WITHOUT THEM:
-------------------------------------------------------------------------------
ELM(1) ELM(1)
NAME
elm - process mail through screen-oriented interface
SYNOPSIS
elm [ -akKmz ] [ -f folder ]
elm [ -s subject ] address-list
elm -h
DESCRIPTION
Elm is screen-oriented electric mail processing system. In
interactive use, the main header index and mini-menu of
commands are displayed upon initial invocation and at any
point when the program is waiting for input.
There are three main ways to use elm: explicitly to send a
single message by invoking the program with a list of mail
addresses, with the program then prompting for the subject,
message body, and so on; as a convenient way to send files
or the output of commands via command line redirection; or
as an interactive mail interface program(see EXAMPLES).
The following options are recognized:
-a Arrow - force the arrow cursor (instead of
the inverse bar).
-f folder File - read specified file rather than the
incoming mailbox.
-h Help - give a list of starting options.
-k Softkeys off - disable use of
softkeys(function keys).
-K Keypad + softkeys off - disable use of
softkeys and arrow cursor keys. If your
terminal doesn't have HP2622 function key
protocols, you must use this option.
-m Menu off - Use the extra lines for more
message headers.
-s subject Subject - specify subject for a message to
mail.
-z Zero - don't enter elm if no mail is pending.
You can get screen-oriented interface when you invoke elm
without address-list. Invoking elm as a interactive mailer,
you get into command mode. In command mode, every
command(see also COMMANDS) entered is executed for the
message that has current message pointer(inverse bar or
Hewlett-Packard Company - 1 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
arrow) and some commands can operate on 'tagged' messages,
too. So when you execute a command, you set the pointer to
the message and input the character for the command.
On the header index page, status of the message is always
indicated. The status field composed of three different
character fields, with the first one indicating temporary
status:
D For a deleted message.
E For an expired message. This flag is set
according to the header field "Expires:". If
the date of this field is older than the day,
this flag will appear. The following date
formats are examples of what is understood:
1). Mon, 11 Jun 88
2). Jun 11, 88
3). 11 Jun, 88
4). 880611HHMMZ <- X.400 format
N For a new message.
The second character denotes permanent status:
C For confidential mail. If "Sensitivity: 3"
of the user defined header field is attached,
this can appear and the message is considered
company confidential, as per the ISO X.400
standard.
U For urgent mail. This flag is set if the
message contains a "Priority:".
P For private mail. This flag is associated
with the header field "Sensitivity:" also.
This is set for "Sensitivity: 2" of the user
defined header field only.
A For messages that have an explicit action
associated with them through inclusion of the
"Action: " header field.
F For a form letter.
When a message has more than one status flag set of a
particular type, the highest precedent indicator will be
displayed on the index page. For example, of a form letter
is also marked as company confidential, the `C' will be
displayed, rather than the `F' status character.
The third character of the status field can be a ``+'' to
indicated that the message is tagged too.(See also COMMANDS)
Hewlett-Packard Company - 2 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
When sending a message, elm will use the editor specified in
your .elm/elmrc file(see CUSTOMIZATION), the editor listed
as $EDITOR in your environment, or the default of ``vi(1)''.
If `builtin' is specified as your editor, you will also have
a large set of commands available while composing your
message (see TILDE ESCAPES).
If you have a $HOME/.elm/elmheaders file, elm will
automatically read in the contents of the file and add it to
the headers of all outbound mail(good for having an
`Organization:' field, or `Phone:' field, etc). Elm also
supports the use of backquotes in the elmheaders file, so an
entry like:
Operating System: `uname -srv`
will work fine.
Elm has its own alias system, and supports two classes of
aliases; personal and system-wide. Personal aliases are
specific to a single user and system aliases are good for
everyone on a specific machine(see also elmalias(1)). To
enter the elm alias mode, use the A)lias command at the main
command prompt. From there, you will be able to create and
save an alias for the current message, check personal and
system-wide aliases, and other options(see ALIAS COMMANDS).
At invoking time, elm can read customized variables from
file $HOME/.elm/elmrc to initialize parameters. This file
can be saved from within elm and some of these variables can
be modified also by command O)ption. (See also
CUSTOMIZATION)
FORMS MODE
One feature that is unique to elm is the ability to compose
and reply to form letters and other types of forms.
Creating a form message is quite simple: first you must
enable forms mode by adding "forms=ON" to your
$HOME/.elm/elmrc(see CUSTOMIZATION). Then, when you compose
the message, each field to be filled in by recipient should
have a colon(`:') followed by either the number of spaces
allowed for the field or a newline, which indicates fields
through the end of the line. Additionally, if a colon
appears on a line by itself, the recipient will be prompted
for multi-line input.
Upon reception of a form message, the user is allowed to
reply (but not group reply), at which time elm will prompt
the user for each field, with any text present between the
fields displayed as appropriate.
Hewlett-Packard Company - 3 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
A simple form message is:
----
On-Line Phone and Address Database
Please fill out and return as soon as possible.
Name:
Manager:
Department: Division:
Your home address
:
home phone number:
Thank you for your cooperation.
----
COMMANDS
? Help. This command used once puts you in the
explain key mode, where any key you press
will result in a one-line description of the
key. Pressed again at this point will
produce a summary listing for each command
available. <escape> or ` . ' will leave the
help mode and return you to the main menu
level.
! Shell. This allows you to send a command to
the shell without leaving elm.
| Pipe. This command allows you to pipe the
current message or the set of tagged messages
through other filters as you desire. The
shell used for the entire command will be
either the one specified in your .elm/elmrc
file, or, if none, /bin/sh.
+ Next index page. This displays next header
index page, if possible.
- Previous index page. This displays previous
header index page, if possible.
= Set current to 1. This set current message
pointer to first message.
Hewlett-Packard Company - 4 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
* Set current to last. This set current message
pointer to last message.
/ Pattern match. This command, on the top
level, allows you to search through all the
from and subject lines of the current
mailbox. If the first character of the
pattern is a `/', then the program will try
to match the specified pattern against any
line in the mailbox. Both searches are case
insensitive.
<n> Specify new current message. Typing in the
number of the message will result in the elm
program producing the prompt ``Set current to
: n'', where `n' is the number entered. Note
that changing the current message to a
message not on the current page of headers
will result in a new page being displayed.
<return> Read current message. After entering, screen
is cleared and the current message is
displayed by the pager specified in system or
pager(see also CUSTOMIZATION).
< Scan message for calendar entries. A rather
novel feature of the elm mailer is the
ability to automatically incorporate
calendar/agenda information from a mail
message into the user's calendar file. This
is done quite simply; any message that has
either the pattern;
-> calendar entry
or
- multi-line
- calendar entry
will be automatically added to the user's
calendar file with stripping '->' or '-' if
the `<' command is used. (See also
CUSTOMIZATION)
a Alias. The alias command is a way by which
more complex mail addresses can be shortened
for the mail user. In alias mode, it provides
command a for making alias for current
message, p for checking a user alias, s for
checking system aliases, m for making a new
alias and d for deleting alias (see also
ALIAS COMMANDS).
b Bounce mail. This ``remails'' mail to
someone else in such a way as to make the
Hewlett-Packard Company - 5 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
return address the original sender rather
than you (as opposed to the forward command,
which makes the return address you rather
than the original sender).
c Change mailbox. Specifying this command
allows you to change the mailbox file that is
currently being read. As with the save
command, this command expands filenames with
`~' being your home directory and `=' being
your maildir directory, if defined.(See also
CUSTOMIZATION) This command also allows the
special character `!' to be used to allow you
to change to the default incoming mailbox.
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 deletion
pending) or removing the `D' (indicating that
the message isn't queued for deletion).
<control>-D This command allows you to easily mark for
deletion all messages that have a specific
pattern. After <control>-D is pressed, the
program will prompt for the string to match
(it matches either the from or subject 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.
f Forward. Allows you to forward the current
message to another person. This copies the
message into the edit buffer and allows you
to add their own message too. (see bounce
above, too)
g Group reply. Identical to reply below,
except that the response is mailed to all
recipients of the original message (see also
CUSTOMIZATION alternatives)
h Same as <return>, but message is displayed
with all headers.
j, k These two keys work similarly to what they
would do in vi(1) or any of the other screen
oriented programs. The j key moves the
current message pointer down to the next
Hewlett-Packard Company - 6 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
message and the k key moves back to the
previous message.
l Limit. This specifies a subset of the
existing messages to be dealt with. It's
valid for subject, from and to field. To set
the criteria, enter or To clear all the
criteria and get back to the `regular'
display, simply enter "all" as the limiting
criteria.
<control>-L Rewrite the screen. If the screen is
confused, you can redraw screen with this
command.
m Mail. Send mail to a specified user.
n Next message. See also <return>.
o Options. This allows you to alter the
settings of a number of option values. (See
also CUSTOMIZATION)
p Print. This allows you to print out the
current message or the tagged messages to a
previously defined printing method print.(See
also CUSTOMIZATION)
q Quit. Quit elm, processing messages as you
like. When reading your incoming mail, you
can choose to keep the undeleted mail in the
incoming mailbox or move it to an `mbox' file
specified by maildir in $HOME/.elm/elmrc
file. You can also decide whether or not to
actually delete messages previously marked
for deletion. (See also CUSTOMIZATION)
<control>-Q ,DEL
Exit. Same as `x'. This allows you to leave
elm in the quickest possible manner without
any changing the mailbox.
r Reply. Reply to the author of the current
message. If the autocopy(see also
CUSTOMIZATION) is not specified, you 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
with the prefix character sequence defined as
prefix (see also CUSTOMIZATION).
s Save to file. This command allows the
Hewlett-Packard Company - 7 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
current message or set of tagged messages to
be copied into a user specified file or
folder. After saving a file, each message is
marked for deletion and, if saving just one
message, the current message pointer is
incremented.
t Tag. Tag the current message for operation
`|', `p' or `s'.
<control>-T Tag all messages containing the specified
pattern. Since tagging messages can occur on
screens other than the one being viewed, the
elm will first check to see if any messages
are currently tagged and ask you if you'd
like to remove those tags. After that, it
will, similar to the <control>-D function to
set criteria(see <control>-D).
x Exit. This allows you to leave elm in the
quickest possible manner without any changing
the mailbox.
TILDE ESCAPE
~? Print a brief help menu.
~b Change the Blind-Carbon-Copy list.
~c Change the Carbon-Copy list.
~e Invoke $EDITOR in your environment on the
message, if possible.
~f options Add the specified list of messages, or
current. This uses readmail(1) and all
options for readmail(1) are available.
~h Change all the available headers (To, Cc,
Bcc, and Subject)
~m options 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 filename Include (read in) the contents of the
specified file.
~s Change the Subject line.
Hewlett-Packard Company - 8 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
~t Change the To list.
~v Invoke $VISUAL in your environment on the
message if possible.
~< command execute the specified shell command, entering
the output of the command into the editor
buffer upon completion. (for example "~<
who" will include the output of the who(1)
command in your message)
~! command execute a shell command if one is given (as
in "~!ls") or give you a shell (either your
shell setting as a shell(see also
CUSTOMIZATION) or $SHELL in your
environment).
~~ Add a line prefixed by a single "~"
character.
ALIAS COMMANDS
a Alias current message. This allows you 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.
d Delete user alias. This prompts for alias
name to be deleted. The alias is deleted
from your alias_text file
($HOME/.elm/aliases.text).
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 alias_text file
($HOME/.elm/aliases.text) 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 or the list of addresses associated
with that name or the error message "alias
not found" as appropriate.
s Check system alias. This is for checking
what aliases are installed yet as system
aliases. All the system aliases are listed.
r Return. Return to the main level of elm
program.
Hewlett-Packard Company - 9 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
CUSTOMIZATION
Like many other programs, elm also has the ability to read
in a `rc' file automatically for personal configuration. The
file should be called $HOME/.elm/elmrc and can contain any
combination of the following.
String Variables
alternatives This is a list of other machine/username
combinations that you receive mail from
(forwarded). This is used when the group
reply feature is invoked to ensure that you
don't send yourself a copy of the outbound
message. No default.
calendar Name of calendar file. This is used in
conjunction with the scan message for
calendar entries command '<'. Default is
$HOME/calendar.
editor The editor to use when typing in new mail.
You can also select none or builtin for
builtin editor. Builtin editor is available
for all mail that doesn't already have text
in the buffer(in replying, mailing with a
signature, etc). Default is the $EDITOR in
your current environment, or vi(1) if not.
escape Escape character used in builtin editor.
Default is tilde(`~').
fullname This is the name the mailer will use when
sending mail from you. Default is the "gecos"
field from the /etc/passwd file.
mailbox This is where to put incoming mail after
you've read it. When you answer no (`n') to
the ``keep messages in incoming mailbox?''
prompt, this is where the messages go.
Default is $HOME/mbox.
maildir This is the default mail directory, and is
used to expand filenames in elm when
specified using the `=' metacharacter. That
is, if you save to file =/archive then the
`=' will be expanded to the current value of
maildir. Default is $HOME/Mail.
pager This defines the program to be used to
display each message. This can be changed
while within the elm program by selecting the
appropriate entry in the O)ption Menu.
Hewlett-Packard Company - 10 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
Default is 'builtin'.
prefix Value of prefix for included line. When you
reply to a message or forward a message to
another person, you can optionally include
the original message. This prefix indicates
the included line. Default is "> ".
print The command to run when p)rint command is
executed. This indicates how to print out a
message. There are two possible formats for
this string, either a command that can have a
filename affixed to (as a suffix) and then
sent to the system for execution, or a string
that contains the meta-sequence `%s' which
will be replaced by the name of the message
file and then also sent to the shell.
Default is "pr %s | lp".
savemail This is where outgoing mail will have a copy
silently saved. This will only be used if
the copy flag is turned on. Also note that
if the savename feature is enabled then this
filename may be ignored since the program
first looks for a mailbox that has the same
name as the login of the person you're
sending to, using that instead if found.
Default is $HOME/mbox.
shell This defines the shell to use when doing '!'
escapes and such. Default is $SHELL in your
current environment.
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 local
mail and remote mail (remote being via other
hosts), you can alternatively define two
variables, localsignature and
remotesignature, to have the same
functionality. No default.
sortby When reading mailboxes, either incoming or
specified, you can have them sorted by any
number of different ways. This can be
changed without leaving the elm by changing
the S)orting criteria field in o)ption mode,
but it can also be predefined to any of
`from', `sent', `received', `subject',
`lines' or `status'. Each of these fields
can also optionally be prefixed with the
Hewlett-Packard Company - 11 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
sequence `reverse-' to reverse the order of
the sort. Default is received.
weedout When specifying this option, you can then
list headers that you don't want to see when
you are reading mail. This is effective with
weed is ON. This list can continue for as
many lines as desired, as long as the
continued lines all have leading indentation.
Default is ">From" "In-Reply-To:"
"References:" "Newsgroups:" "Received:"
"Apparently-To:" "Message-Id:" "Content-
Type:" "From" "Mailer:".
Numeric Variables
timeout This is the interval between resynchronizing.
Elm internally resynchronize every this
interval seconds. Default is 600 seconds (10
minutes).
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 elm
user, and 2 for experts.
Boolean Variables
alwaysdelete When set, this changes the default answer of
the prompt "Delete messages?" to the
indicated value. Default is ON for YES.
alwaysleave This changes the default answer on the "keep
mail in incoming mailbox?" prompt to the
value indicated. Default is ON for YES.
arrow This is identical in function to the `-a'
command line option. Default is OFF.
ask This allows you to tell the elm that you
would rather not be asked "Delete message?"
and such each time you leave the program, and
instead it should just use the values of
alwaysdelete and alwaysleave without
prompting. Default is ON.
askbcc If turned on, it will appear the prompt
"Blind-Copies-To:" for each message. If this
is off, user can add "bcc" list by ~b in the
builtin editor or using header editor.
Default is OFF.
Hewlett-Packard Company - 12 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
askcc If turned off, this allows you to send mail
without being presented the "Copies-To:"
prompt for each message. This still allows
the user to explicitly include addresses in
the "cc" list via either ~c in the builtin
editor, or via using the screen-oriented
header editor. Default is ON.
autocopy This is a boolean flag, and if set
automatically copies the text of the message
you are replying to into the edit buffer.
Default is OFF.
copy This, in combination with the savemail
option, will allow you to have silent copies
of all outgoing mail made on the outbound
step. Default is OFF.
expand If this flag is on, tabs in your message
written are expanded to spaces. This will
enable that your message is displayed in the
same layout as you write on the screen having
defferent tab setting. Default is ON.
forms This allows you to mail forms. Default is
OFF.
keep The mail system has a habit of deleting
mailboxes when you have removed everything
from them. With this option turned on, it
will instead preserve them as zero-byte
files. Default is OFF.
keypad If on, this tells elm that you have an HP
terminal and enables the <NEXT>, <PREV>,
<HOME> and <SHIFT-HOME> keys. Default is ON.
menus If turned off, this will inhibit the menu
display on all of the screen displays within
the elm program. Default is ON.
movepage If this is enabled then commands that move
through the mailbox by pages (the + and -
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 alter the current message
pointer location. Default is OFF.
names Show only the user names when expanding
aliases, rather than the name and electronic
mail address on the "To:" field when you send
Hewlett-Packard Company - 13 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
mail. Default is OFF.
noheader This tells the mailer not to include the
headers of messages when copying a message
into a file buffer for replying to or
forwarding. Default is ON.
pointnew If this is turned on, the mailer will be
automatically pointing to the first new
message in your mailbox when started, instead
of at message #1. This is only used for the
incoming mailbox since other mailboxes are
assumed not to have `new' and `old' mail.
Default is ON.
resolve With this option enabled, as soon as mail is
`dealt with' elm moves you to the next
message in the mailbox, with deletion,
undeletion, saving a message and forwarding a
message. Default is ON.
savename When the user saves the messages, elm uses
filename to save to that is the login name of
the person who sent you the message rather
than savemail value. Similarly, when sending
mail out, instead of just blindly saving it
to the savemail file, elm will first try to
save it to a file that is the login name of
the person who is to receive the mail. If
the file doesn't already exist on outbound
mail, then it will save the mail in the
savemail file. Default is ON.
skipdeleted If this flag is on, current message pointer
skips the message with deleted flag "D" by j
or k command. Default is OFF.
softkeys If on, this tells elm that you have an HP
terminal with the HP 2622 function key
protocol and that you would like to have them
available while in the program. Default is
ON.
titles Using with the flag weed, this flag allows
you to have the first line of a message
titled with:
Message N/M from username''date at time
where all the information has been previously
extracted from the message. Default is ON.
warnings The mailer likes to warn you when you send
mail to a machine that cannot be directly
Hewlett-Packard Company - 14 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
accessed. Setting this flag will allow you
to effectively shut off all the warning
messages. 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.
Default is ON.
EXAMPLES
If you invoke elm with a list of addresses to send to, you
can send a message to them without any overhead of the main
system being loaded. Elm will then prompt for Subject,
Copies, Blind-Copies, and then drop you in your editor to
compose the message:
$ elm taylor
To: taylor(Dave Taylor)
Subject: this is test
Copies To: <return>
Blind-Copies To: <return>
...invokes editor, message composed, then...
Your options now are:
S)end the message, E)dit it again, change/add H)eaders
or F)orget it
What is your choice? s
mail sent!
Elm can send files or the output of commands via command
line redirection:
$ elm taylor < help.c
This will read in the file and transmit it to the specified
people. A subject may be specified with "-s subject" as an
option to elm:
$ elm -s "File help.c transmission" taylor < help.c
AUTHOR
elm was developed by Hewlett-Packard Company.
Hewlett-Packard Company - 15 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
FILES
/usr/mail Directory for incoming mail
(mode "755", group ID "mail")
/usr/mail/username.lock
Lock for mail directory
/usr/mail/username
Incoming mailbox for the user.
(mode "660", group ID "mail")
/usr/lib/nls/C/elm.cat
Location of the message catalogue
$HOME/.elm Directory for elm
$HOME/.elm/elmrc
Personal customized file
$HOME/.elm/elmheaders
Contents of additional headers.
/usr/lib/elm/elm_help.0
Help file for main screen
/usr/lib/elm/elm_help.1
Help file for alias screen
/usr/lib/elm/elm_help.2
Help file for option screen
/usr/lib/elm/elmrc-info
Comment file for .elm/elmrc file
/usr/mail/.elm Directory for system alias of elm
/usr/mail/.elm/aliases.hash
System alias hash table
/usr/mail/.elm/aliases.data
System alias data table
/usr/mail/.elm/aliases.text
System alias text file
$HOME/.elm/aliases.hash
User alias hash table
$HOME/.elm/aliases.data
User alias data table
$HOME/.elm/aliases.text
Hewlett-Packard Company - 16 - HP-UX Release 7.0: Sept 1989
ELM(1) ELM(1)
User alias text file
/tmp/snd.pid and sndh.pid
Outgoing mail edit buffer
/tmp/form.pid Editor buffer for form message
/tmp/print.pid Temporary file for printing message
/tmp/alias.pid Temporary file for deleting alias
$HOME/.elm/readmail
Used by readmail(1) program
/tmp/mbox.logname
Temporary mbox for user
$HOME/Cancelled.mail
Cancelled message of non-interactive use.
SEE ALSO
elmalias(1), mailfrom(1), newmail(1), readmail(1), vi(1).
EXTERNAL INFLUENCES
Environment Variables
LANG determines the language in which messages are
displayed.
International Code Set Support
Single- and multi-byte character code sets are supported.
Hewlett-Packard Company - 17 - HP-UX Release 7.0: Sept 1989
-------------------------------------------------------------------------------
+----------------------------------------------------------------------------+
| Mario L. Gonzales | gonzalm@prism.cs.orst.edu <HOME> | Oregon State |
| Wilson Hall #311 | gonzalm@mist.cs.orst.edu | Univeristy |
| Corvallis, OR |------------------------------------|================|
| 97331-1413 | Life is easier than you think; all | University |
| | that is necessary is to accept the | Computing |
|----------------------+ impossible, do without the | Services (UCS) |
| IBM PC & MAC | indispensable, and bear the |----------------|
| Literate :-} | intolerable. -Kathleen Norris | Kerr Comp. Lab |
+----------------------+------------------------------------+----------------+