Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > E

elm(1)

HP-UX 11i Version 3: February 2007
» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

NAME

elm — process electronic mail through a screen-oriented interface

SYNOPSIS

elm [-aKkmtVz] [-f folder]

elm [-s subject] address-list

elm -c [alias-list]

elm -h

elm -v

DESCRIPTION

The elm program is a screen-oriented electronic mail processing system. It supports the industry-wide MIME standard for nontext mail, a special forms message and forms reply mechanism, and an easy-to-use alias system for individuals and groups. elm operates in three principal modes:

  • Interactive mode, running as an interactive mail interface program. (First syntax.)

  • Message mode, sending a single interactive message to a list of mail addresses from a shell command line. (Second syntax.)

  • File mode, sending a file or command output to a list of mail addresses via a command-line pipe or redirection. (Second syntax.)

In all three cases, elm honors the values that are set in your elmrc initialization file, in your elm alias database, and in the system elm alias database.

The modes are described below in inverse order (shortest description to longest).

Options

The following options are recognized:

-a

Set arrow=ON. Use the arrow (->) instead of the inverse bar to mark the current item in the various indexes. This overrides the setting of the arrow boolean variable (see the ELM CONFIGURATION section).

-c

Check alias. Check the aliases in alias-list against your personal elm alias database and the system elm alias database. The results are written to standard output. Errors are reported first, in the form:

  • (alias " alias " is unknown)

Successes are reported in a header-entry format, with group aliases replaced by their members, in the form:

Expands to: alias-address (fullname), alias-address (fullname), ... alias-address (fullname)

If there is no fullname, the " (fullname) " portion is omitted.

-f folder

Folder file. Read mail from the folder file rather than from the incoming mailbox. A folder file is in the standard mail file format, as created by the mail system or saved by elm itself.

-h

Help. Display an annotated list of command-line options.

-k

Set softkeys=OFF. Disable the use of softkeys (HP 2622 function keys). This overrides the setting of the softkeys boolean variable (see the ELM CONFIGURATION section).

-K

Set keypad=OFF and softkeys=OFF. Disable the use of softkeys and arrow cursor keys. If your terminal does not have the HP 2622 function key protocols, this option is required. This overrides the settings of the keypad and softkeys boolean variables (see the ELM CONFIGURATION section).

-m

Set menu=OFF. Do not display the command menus on several Interactive Mode screens. This overrides the setting of the menu boolean variable (see the ELM CONFIGURATION section).

-s subject

Subject. Specify the subject for a File Mode or Message Mode message.

-t

Set usetite=OFF. Do not use the termcap ti/te and terminfo cup cursor-positioning entries. This overrides the setting of the usetite boolean variable (see the ELM CONFIGURATION section).

-V

Verbose transmission. Pass outbound messages to the sendmail mail transport agent using the -v option (see sendmail(1M)).

-v

Version. Print out the elm version information. This displays the version number and the compilation features that were specified or omitted.

-z

Zero. Do not enter elm if there is no mail in the incoming mailbox.

Operands

The following operands are recognized:

address-list

A blank-separated list of one or more mail addresses, your elm user aliases, or elm system aliases.

alias-list

A blank-separated list of one or more of your elm user aliases or elm system aliases.

Terminology

The following terms are used throughout this manpage.

blank

A space or a tab character, sometimes known as linear white space.

body

The body of a message. See message.

boolean variable

See configuration variable.

configuration variable

A boolean, numeric, or string variable that defines default behavior in the elm mail system. See the ELM CONFIGURATION section.

elm system alias text file

The source file, /var/mail/.elm/aliases.text, for the elm system alias database.

elm user alias text file

The source file , $HOME/.elm/aliases.text, for a user's own elm alias database.

elm user headers file

A file, $HOME/.elm/elmheaders, where a user can specify special header entries that are included in all outbound messages.

elmrc configuration file

A file, $HOME/.elm/elmrc, that defines the initial values for elm configuration variables.

environment variable

A global variable set in the shell that called elm. See the EXTERNAL INFLUENCES section.

folder

A file that contains mail messages in the format created by sendmail or elm.

full name

The first and last name of a user, as extracted from an alias text file or from the /etc/passwd file.

header

The header of a message. See message.

header entry

An entry in the header portion of a message, sometimes called a header field.

incoming mailbox

The mailbox where you receive your mail, usually /var/mail/loginname.

mail directory

The directory, defined by the maildir string variable, where a user normally stores mail messages in folders.

mail transport agent (MTA)

The program that sends and receives mail messages to and from other systems. On HP-UX systems, the MTA is sendmail (see sendmail(1M)).

mailcap

A file that contains information on how to compose and display mail messages that are not just seven- and eight-bit ASCII characters.

metamail

A system program that processes nontext mail messages.

message

In a folder, a sequence of text lines comprised of a message delimiter, a header, and a body. The message delimiter is a line in the form:

From sender date

The header starts after the message delimiter and ends with the first null line. The body begins at the null line and ends at the next message delimiter. A body can have subsections, called attachments or body parts, which have are comprised of a boundary delimiter, a header, and a body. This process can be recursive. See the METAMAIL CONFIGURATION section for more details.

numeric variable

See configuration variable.

sendmail alias database

The alias database, /etc/mail/aliases, that is used by the sendmail MTA to direct local mail.

signature file

A file that is appended to your outbound messages, usually containing information about yourself. You can have two signature files, one for messages to your local machine and one for other messages. See the localsignature and remotesignature string variables.

string variable

See configuration variable.

user name

Usually the login or mailbox name of someone you send mail to.

variable

See configuration variable and environment variable.

FILE MODE

If standard input is connected to a pipe or to a file, and an address-list is specified, elm operates in File Mode.

The output of the previous command in the pipe, or the content of the file, is mailed to the members of the address-list. The address-list is expanded, based on your elm alias database and the system elm alias database, and placed in the To: header entry.

If -s is omitted or subject is null, subject defaults to:

no subject (file transmission)

The expressed or default value of subject is placed in the Subject: header entry.

See the EXAMPLES section.

MESSAGE MODE

If standard input is connected to your terminal, and an address-list is specified, elm operates in Message Mode.

The address-list is expanded, based on your elm alias database and the system elm alias database, and placed in the To: header entry. The To: header entry is displayed, in the same form as for the Message Menu m (mail) command in Interactive Mode.

The value of subject, if nonnull, or a null string, is placed in the Subject: header entry and the Subject: line is displayed for modification.

If askcc is ON in your elmrc file, you are prompted for Copies to:.

Then the editor defined by the editor string variable (if a signature file is not added) or the alteditor string variable (if a signature file is added) is started so that you can write your message.

When you leave your editor, you enter the Send Menu, as described for Interactive Mode.

If you choose the Send Menu s (send) command, the message is sent and the program terminates. If you select the Send Menu f (forget) command, the message is stored in $HOME/Canceled.mail and the program terminates. If you select other commands, the appropriate action occurs.

See the EXAMPLES section.

INTERACTIVE MODE

If standard input is connected to your terminal, and there is no address-list, elm operates in a screen-oriented Interactive Mode.

If you do not have a $HOME/.elm directory, or if you do not have a mail directory, defined by the maildir string variable, you are asked in turn if they should be created. You can answer y for yes, n for no, or q for quit. For y or n, the directories are created or not, as appropriate, and the program continues. For q, the program terminates.

Overview

When invoked, elm reads customized variables from file $HOME/.elm/elmrc (if it exists) to initialize parameters. This file can be saved from within elm and some of these variables can also be modified with the Message Menu o (option) command.

elm first displays the Main or Message Menu, which shows index entries for the messages in your incoming mailbox or selected mail folder. Among other options, you can read, print, reply to, and forward these messages, as well as initiate new mail messages to other users.

You can also move to the Alias Menu, where you can create, modify, and delete your personal aliases. From the Alias Menu, you can select one or more of your aliases and send a message to the corresponding users.

When you send a message, you can include attachments in a number of formats, such as PostScript, images, audio, and video, as well as plain text. The attachments are managed separately, which can be convenient both for you and your correspondents.

Sending Messages

When you send a message, you use the editor defined by the editor or alteditor string variable. If builtin is your editor, a set of commands described in the Built-In Editor subsection is available while composing your message

If the elmheaders file exists (see the HEADER FILE section), all nonblank lines in the file are copied to the headers of all outbound mail. This is useful for adding special information headers such as X-Organization:, X-Phone:, and so forth.

MIME Support

elm supports the MIME protocols for headers and messages (RFC 1521 and RFC 1522) enabling it to view and send mail containing other than normal ASCII text. For example, the mail contents can be audio, video, images, etc., or a combination of these.

This also enables conformance with SMTP (RFC 821), which allows only 7-bit characters in the message, by using MIME-encoding (base64 and quoted-printable) to convert 8-bit data to 7-bit.

elm also provides a facility to view multipart MIME messages. If elm receives a message whose type is not text/plain, it invokes metamail, which invokes the appropriate utility (for example, ghostview, xv, an audio editor, mpeg) to display the different mail parts according to the content type (for example, application/postscript, image, audio, video).

Aliases

elm has its own alias system that supports both personal and system-wide aliases. Personal aliases are specific to a single user; system aliases are available to everyone on the system where the system aliases reside (see newalias(1)). You can access the Alias Menu by executing the Message Menu a (alias) command. You can then create and save an alias for the current message, create and check other aliases, and send messages to one or more aliases.

Aliases are limited to 2500 bytes. If you wish to create a group alias that is longer than 2500 bytes, please ask your system administrator to create it for you in the sendmail system alias file, /etc/mail/aliases (see sendmail(1M)).

INTERACTIVE MODE MENUS AND COMMANDS

This section begins with the Message Menu, which is the main screen for Interactive Mode. The rest of the menus are presented alphabetically.

Message Menu

The Message Index is displayed on the Message Menu. You can use the following commands to manipulate and send messages. Some commands use a series of prompts to complete their action. You can use Ctrl-D to cancel their operations.

The commands are:

!command

Shell Escape. Send command to the shell defined by the shell string variable without leaving elm.

#

Display all known information about the current message.

$

Resynchronize the messages without leaving elm. If there are any messages marked for deletion, you are asked if you want to delete them. If any messages are deleted or any status flags have changed, the messages are written back to the mailbox file. All tags are removed.

%

Display the computed return address of the current message.

*

Set the current message pointer to the last message.

+

Display the next message index page, when applicable.

-

Display the previous message index page, when applicable.

/pattern

Pattern match. Search for pattern in the from and subject fields of the current message index. The search starts at the current message and wraps around to the beginning of the index. The current message pointer is set to the first message that matches. Uppercase and lowercase are treated as equivalent.

//pattern

Pattern match. Search for pattern through all the lines of the current folder. The search starts at the current message and wraps around to the beginning of the folder. The current message pointer is set to the first message that matches. Uppercase and lowercase are treated as equivalent.

<

Calendar. Scan message for calendar entries and add them to your calendar file. A calendar entry is defined as a line whose first nonblank characters are ->, as in:

->calendar-entry

The delimiter -> and surrounding blanks are removed before the entry is added to the calendar file. Resultant blank lines are ignored. You can define the calendar file name in your elmrc file or with the Options Menu.

=

Set the current message pointer to the first message.

>

Save in folder. Same as the Message Menu s (save) command.

?key ...

Help on key. Display a one-line description of what each key does. ? displays a summary listing for each command available. A period (.) returns you to the Message Menu.

@

Display a summary of the messages indexed on the current screen.

|

Pipe the current message or the set of tagged messages through other filters as desired. Use the shell defined by the shell string variable.

n

New current message. Change the current message pointer to the one indexed as n. If the message is not on the current page of headers, the appropriate page displayed.

Return

Read current message. The screen is cleared and the current message is displayed by the pager defined by the pager string variable.

a

Alias. Switch to the Alias Menu.

b

Bounce mail. This is similar to forwarding a message, except that you do not edit the message and the return address is set to the original sender's address, rather than to your address.

c

Change folder. This command is used to change the file whose messages are displayed on the Message Menu. You are asked for a file name. The file must be in message format; otherwise, elm aborts. You can use the customary wildcards for your shell, as well as the following special names:

!

Your incoming mail folder.

>

Your received folder, defined by the receivedmail string variable.

<

Your sent folder, defined by the sentmail string variable.

.

The previously used folder.

@alias

The default folder for the login name associated with the alias alias.

=filename

A file in the directory defined by the maildir string variable.

C

Copy message. Save the current message or the set of tagged messages to a folder. You are prompted for a file name with a default value. The default value is a file in the maildir directory with the user name of the sender of the first message in the set being saved. Any tags are cleared. Unlike the > and s commands, the messages are not marked for deletion and the current message pointer is not moved.

d

Delete. Mark the current message for deletion. See also Ctrl-D, u, and Ctrl-U.

Ctrl-D

Delete. Mark all messages for deletion that contain a specified pattern in the From: and Subject: header entries. See also d, u, and Ctrl-U.

e

Edit. Allows you to physically edit the current mail folder using the editor defined by the editor string variable. When you exit from your editor, elm resynchronizes your mail folder (see the $ command).

f

Forward the current message. You are asked if you want to edit the outbound message. If you answer y, the characters defined by the prefix string variable are prefixed to each line of the message and the editor defined by the editor string variable will be invoked to allow you to edit the message. If you answer n, the characters are not prefixed and the editor will not be invoked. In either case, you are prompted for To: recipients, allowed to edit the Subject: header entry, and, if the askcc boolean variable is ON, you are prompted for Cc: recipients.

If the userlevel numeric variable is 1 (intermediate) or 2 (expert), and there was a previous sent or forgotten message in this session, you are asked if you would like to

Recall last kept message instead? (y/n)

If you answer y, the previous message is returned to the send buffer. If you answer n, the current message is copied into the send buffer and your signature file (if any) is appended.

Then the editor is invoked if you chose to edit the outbound message (above). When you leave the editor, or if it was not invoked, the Send Menu is displayed.

g

Group reply. The reply is automatically sent To: the sender of the message, with Cc: to all the original To: and Cc: recipients. Otherwise, the action is the same as for the r command.

h

Same as Return, except that the message is displayed with all headers.

j

Move down. Move the current message pointer down to the next message.

J

Move down. Move the current message pointer down to the next undeleted message.

k

Move up. Move the current message pointer up to the previous message.

K

Move up. Move the current message pointer up to the previous undeleted message.

l (ell)

Limit the displayed messages to those that contain certain string values. You are prompted with Enter criteria:. To set, add to, or clear the limiting criteria, type one of:

all

Clear all the criteria and restore the normal display.

from string

Restrict to entries that contain string in the From: header.

subject string

Restrict to entries that contain string in the Subject: header.

to string

Restrict to entries that contain string in the To: header.

You can add limiting criteria by repeating the l command.

Ctrl-L

Redraw the screen.

m

Mail. Send mail to one or more addresses. You are prompted for To: recipients, a Subject: and, if the askcc boolean variable is ON, Cc: recipients.

If the userlevel numeric variable is 1 (intermediate) or 2 (expert), and there was a previous sent or forgotten message in this session, you are asked if you would like to

Recall last kept message instead? (y/n)

If you answer y, the previous message is returned to the send buffer. If you answer n, the signature file (if any) is copied into the send buffer.

Then, the editor defined by the editor string variable is invoked. After you exit from your editor, the Send Menu is displayed.

n

Next message. Advances the current message pointer to the next message, and displays that message as for the Return command.

o

Options. Invokes the Options Menu, permitting you to change certain configuration options. The changeable options are defined by the configoptions string variable.

p

Print. Print the current message or the set of tagged messages using the command defined by the print string variable. The current message pointer does not move. Tagged messages remain tagged.

q

Quit. Gracefully terminate, performing message cleanup according to defined personal preferences. You can choose to actually delete messages marked for deletion. For your incoming mailbox, you can choose to keep undeleted mail in the mailbox or move it to the received folder defined by the receivedmail string variable.

If the ask boolean variable is ON, you may be asked the following questions. The actions described are all performed after you have answered all the relevant questions.

Delete messages? (y/n)

This question is asked if you have messages marked for deletion. The default answer is provided by the alwaysdelete boolean variable (ON means y (yes) and OFF means n (no)).

If you answer y, all messages marked for deletion will be deleted.

If you answer n, all messages marked for deletion will be restored to their former read, unread, or new state.

Move read messages to "received" folder? (y/n)

This question is asked if you are reading your incoming mailbox and if you have messages that have been read. The default answer is provided by the alwaysstore boolean variable (ON means y (yes) and OFF means n (no)).

If you answer y, undeleted messages that have been read will be moved to the folder defined by the receivedmail string variable and the next question will also be asked.

If you answer n, all undeleted messages are returned to your incoming mailbox and the next question is not asked.

Keep unread messages in incoming mailbox? (y/n)

This question is asked if you are reading your incoming mailbox, if you answered y to the Move read messages... question (or it was not asked), and if you have messages that have not been read. The default answer is provided by the alwayskeep boolean variable (ON means y (yes) and OFF means n (no)).

If you answer y, all undeleted unread (new and old) messages are returned to your incoming mailbox.

If you answer n, all undeleted unread messages will be moved to the folder defined by the receivedmail string variable.

If the ask boolean variable is OFF, the answers to the questions (which are not displayed) are taken automatically from the values of the alwaysdelete, alwaysstore, and alwayskeep boolean variables, respectively.

Q

Quick quit. This is equivalent to executing the q command with the ask boolean variable set to OFF.

r

Reply to the sender of the current message. If the autocopy boolean variable is OFF, you are asked if the source message should be copied into the edit buffer. If it is ON, the message is copied automatically. If copied in, all lines from the message are preceded by the prefix string defined by the prefix string variable. The To: header is set to the sender of the message (or the address in the Reply-To: header, if one was set), the Subject: is set to the subject of the message, preceded by Re:, and presented for you to edit. If the askcc boolean variable is ON, you are prompted for Cc: recipients. Then, the editor defined by the editor string variable is invoked. After you exit from your editor, the Send Menu is displayed.

s

Save in folder (same as >). Save the current message or the set of tagged messages to a folder. You are prompted for a file name with a default value. The default value is a file in the maildir directory with the login name of the sender of the first message in the set being saved. Any tags are cleared and the messages are marked for deletion. The current message pointer is moved to the first undeleted message after the last saved message.

t

Tag toggle. Tag the current message for a later operation and move the current message pointer to the next undeleted message. The operation can be one of |, C, p, and s.

Or, remove the tag from a tagged message. See also the Ctrl-T command.

T

Tag toggle. Tag the current message for a later operation and remain at the current message. The operation can be one of |, C, p, and s.

Or, remove the tag from a tagged message. See also the Ctrl-T command.

Ctrl-T

Tag all messages containing the specified pattern. Or remove the tags from all tagged messages.

If any messages are currently tagged, you are asked if the tags should be removed. Answer y to remove the old tags; answer n to keep them. In either case, you are prompted for a string to match in either the From: or Subject: line of each message. All messages that match the criterion are tagged. If you enter a null string (carriage-return alone), no more messages are tagged.

u

Undelete. Remove the deletion mark from the current message. See also d, Ctrl-D, and Ctrl-U.

Ctrl-U

Undelete. Remove any deletion mark from all messages that contain a specified pattern in the From: and Subject: header entries. See also d, Ctrl-D, and u.

v

View attachments. Invoke the Attachment View Menu for the current message.

x

Exit. Exit without changing the mailbox. If changes are pending, such as deletions, you are asked if they can be abandoned. If you answer y, the changes are abandoned and the program terminates. If you answer n the exit is abandoned and you return to the Message Menu command prompt.

X

Exit immediately without changing the mailbox. All pending changes are abandoned.

Message Index

The messages in the current folder are indexed on the Message Menu, one per line, in the format:

sssnum mmm d from (lines) subject

defined as:

sss

A three-character status field, described in the Message Status subsection.

num

The ordinal message index number.

mmm

The month from the last Date: header entry, or from the From message header.

d

The day from the last Date: header entry, or from the From message header.

from

Either the sender name from the last From: header entry or from the From message header.

lines

The number of lines in the message.

subject

The subject description from the first Subject: header entry, truncated to fit your screen.

The current message index entry is either highlighted in inverse video or marked in the left margin with an arrow (->). See the -a option in the Options subsection and the arrow string variable in the ELM CONFIGURATION section.

Message Status

The first three characters of each message index entry describe the message status. Each can be blank or one of the values described below in descending order of precedence.

When a message has more than one status flag of a particular type set, the highest-precedence indicator is displayed on the index line. For example, if a forms message (F) is also marked as company confidential (C), the C rather than the F status character is displayed.

Column One: Variable Status

D

Deleted. The message is marked for deletion.

E

Expired. The date specified in the Expires: header entry is older than today. elm accepts the following date formats:

Mon, 11 Jun 90

(format produced by elm in the Header Menu)

Jun 11, 90

11 Jun, 90

9006111324GMT

(ISO X.400 format: YYMMDDhhmmzzz)

N

New. The message was received after your last elm session or during the current session. The message has not been read.

O

Old. The message was received before or during your last elm session. It was marked N in your last session and it was not read.

Blank. The message has been read.

Column Two: Permanent Status

C

Confidential. The Sensitivity: 3 header entry is present. The message is considered company confidential, as specified by the ISO X.400 standard. You can set this value for outbound mail with the user-defined option of the Header Menu.

U

Urgent. The message contains a Priority: header entry.

P

Private. The Sensitivity: 2" header entry is present. The message is considered private, as specified by the ISO X.400 standard. You can set this value for outbound mail with the user-defined option of the Header Menu.

A

Action. The message contains an Action: header entry.

F

Forms. The message is an elm forms message. The message contains a Content-Type: mailform header entry.

M

MIME. The message or its attachments is in a MIME format that can be displayed using metamail.

?

MIME. The message or its attachments is in a MIME format whose version is not supported.

Blank. Normal status.

Column Three: Tagged Status

+

Tagged. Tagged messages are handled as a group by some commands. See t and other commands in the Message Menu subsection.

Blank. The message is not tagged.

Built-In Editor

When you are composing an outbound message with the builtin built-in editor, it prompts you for text lines with an empty line. Enter a period (.) to end the message and continue with the Send Menu.

Built-in editor commands are lines that begin with an escape character, defined by the escape string variable. The default escape character is tilde (~).

Note: Some remote login programs use tilde as their default escape character when it is the first character on a line. (You can tell, because the tilde does not print.) Usually, the tilde is transmitted when you enter a second character that is not recognized by the program or when you enter a second tilde. See the program documentation for further information.

The built-in editor commands are:

~! [command]

Execute the shell command, if one is given (as in ~!ls), or start an interactive shell, using the shell defined by the shell string variable.

~< command

Execute the shell command and place the output of the command into the editor buffer. For example, "~< who " inserts the output of the who command in your message.

~?

Print a brief help menu.

~~

Start a line with a single tilde (~) character.

~b

Prompt for changes to the Blind-Carbon-Copy (Bcc:) list.

~c

Prompt for changes to the Carbon-Copy (Cc:) list.

~e

Invoke the editor defined for the easyeditor string variable on the message, if possible.

~f [options]

Add the specified list of messages or the current message. This uses readmail which means that all readmail options are available (see readmail(1)).

~h

Prompt for changes to all the available headers (To:, Cc:, Bcc:, and Subject:).

~m [options]

Same as ~f, but each line is prefixed with the current prefix. See the prefix string variable.

~o

Prompt for the name of an editor to use 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

Prompt for changes to the Subject: line.

~t

Prompt for changes to the To: list.

~v

Invoke the editor defined for the visualeditor string variable on the message, if possible.

Alias Menu

The Alias Menu is invoked with the Message Menu a command. The source text for your alias file is stored in the file $HOME/.elm/aliases.text. You can edit this file directly or with the following commands.

The aliases currently compiled into your database and the system database are displayed in an indexed list similar to the Message Menu. The entry format is described in the Alias Index subsection. The index is sorted in the order defined by the aliassortby string variable.

The commands are:

$

Resynchronize your alias text file and your alias database by rebuilding the database from the text file by running newalias. Aliases marked for deletion are removed, tagged aliases are untagged, and new and changed aliases are recognized. The alias screen is updated to reflect these changes.

+

Display the next alias index page, when applicable.

-

Display the previous alias index page, when applicable.

/pattern

Pattern match. Search for pattern in the alias and user name fields of the alias list. The search starts at the current alias and wraps around to the beginning of the alias list. The current alias pointer is set to the first alias that matches. Uppercase and lowercase are treated as equivalent.

//pattern

Pattern match. Search for pattern through all the fields of the alias list (alias, user name, comment, and address). The search starts at the current alias and wraps around to the beginning of the alias list. The current alias pointer is set to the first alias that matches. Uppercase and lowercase are treated as equivalent. /pattern Pattern match. This command allows you to search through all the alias and username entries in the alias list, starting at the current alias and continuing through the end. If the first character of the pattern is a /, then the comment and the fully expanded address fields are also included in the search. The search is case-insensitive. This allows you to find a specific alias in a situation where there are a large number of aliases.

?key ...

Help on key. Display a one-line description of what each key does. ? displays a summary listing for each command available. A period (.) returns you to the Alias Menu.

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 and allows you to edit the comment and address fields.

c

Change the current user alias. The old values of the alias fields are used as the defaults in the prompts for the new values. You cannot change the alias name. If the alias name is one of a multiple-alias record, it is removed from that record and stored as a separate record. The old alias is marked N. Changes are effective after the next alias resynchronization.

d

Mark the current user alias for deletion. The deletions are made when you exit from the Alias Menu with an q, r, or i command or you resynchronize your alias database with the $ command. (You cannot delete a system alias in this way.)

Ctrl-D

Delete user aliases with a specified search pattern.

e

Edit your aliases.text file, using the editor defined in the editor string variable. Your aliases are resynchronized when you finish editing (see the $ command).

f

Display a fully expanded alias. The currently selected alias is fully expanded and displayed.

i,I

See the Alias Menu q and Q commands.

j

Move down. Move the current alias pointer down to the next alias.

J

Move down. Move the current alias pointer down to the next undeleted alias.

k

Move up. Move the current alias pointer up to the previous alias.

K

Move up. Move the current alias pointer up to the previous undeleted alias.

l (ell)

Limit the displayed aliases to certain types or those that contain certain string values. You are prompted with Enter criteria:. To set, add to, or clear the limiting criteria, type one of:

all

Clear all the criteria and restore the normal display.

alias string

Restrict to alias names containing string.

name string

Restrict to full names (first name and last name) containing string.

group

Restrict to group aliases (can include system and user aliases).

person

Restrict to person aliases (can include system and user aliases).

system

Restrict to system aliases (can include group and person aliases).

user

Restrict to system aliases (can include group and person aliases).

You can add limiting criteria by repeating the l command.

Ctrl-L

Redraw the screen.

m

Mail to the current alias or to the set of tagged aliases. The corresponding expanded addresses are placed in the To: header entry, and processing continues as for the Message Menu m (mail) command. The tags are cleared.

n

Make a user alias. elm prompts for a unique alias name, then for an address. The information provided is added to your individual alias_text file ($HOME/.elm/aliases.text), then added to the database.

q

Exit. Return to the Message Menu. If aliases are marked for deletion, you are asked if you want to delete them. The alias index pointer is retained. If the alias text file was changed, the database is resynchronized.

Q

Exit. Return to the Message Menu. If aliases are marked for deletion, the mark is retained and the alias is not deleted. The alias index pointer is retained. If the alias text file was changed, the database is resynchronized.

r,R

See the Alias Menu q and Q commands.

t

Tag the current alias for a later operation and move the current alias pointer to the next undeleted alias. The operation can be one of c, m, or n.

Or, remove the tag from a tagged alias. See also the Ctrl-T command.

T

Tag. Tag the current alias for a later operation and remain at the current alias. The operation can be one of c, m, or n.

Or, remove the tag from a tagged alias. See also the Ctrl-T command.

Ctrl-T

Tag all aliases containing a specified pattern for a later operation. The operation can be one of c, m, or n. Or remove the tags from all tagged aliases.

If any aliases are currently tagged, you are asked if the tags should be removed. Answer y to remove the old tags; answer n to keep them. In either case, you are prompted for a string to match in either the alias name or user name fields of each alias. All aliases that match the criterion are tagged. If you enter a null string (carriage-return alone) no more aliases are tagged.

u

Undelete. Remove the deletion mark from the current alias. See also d, Ctrl-D, and Ctrl-U.

Ctrl-U

Undelete. Remove any deletion mark from all messages that contain a specified pattern in the From: and Subject: header entries. See also d, Ctrl-D, and u.

v

View. Display the address-list for the current alias.

x

Exit from the alias menu without processing any deletions. Aliases marked for deletion are unmarked and newalias is not run, even if alias additions have been made.

Alias Index

The aliases in the current database are indexed on the Alias Menu, one per line. The database values are defined in newalias(1).

  • ssnum fullname[, comment] type [(S) ] alias

defined as:

ss

A two-character status field. The first character can be:

D

Delete. The alias is marked for deletion.

N

New. The alias is new or changed in the alias text file but is not included in the current database. Resynchronization is needed.

Blank. The alias is in the current database.

The second character can be:

+

Tag. The alias is tagged.

Blank. The alias is not tagged.

num

The index number of the alias.

fullname

The full name for the alias, as it will be used in an expanded address. It has the form:

firstname lastname

firstname

The first name, from the alias database.

lastname

The last name, from the alias database.

comment

Comment, from the alias database.

type

Type of alias. This is Person for an alias with a single address or Group for an alias with two or more addresses.

(S)

If present, the entry is from the elm system alias database. If absent, the entry is from your personal alias database.

alias

The alias name. If the record has multiple alias names, there is one index entry per name.

Attachment Configuration Menu

The Attachment Configuration Menu is invoked with the Attachment Send Menu a (add) or m (modify) command. The menu displays the default or current specification for an attachment. If it is called with the a command, it automatically prompts for a file name. The commands are:

d

Description. The value is placed in a Content-Description: body-part header entry. The default is the file name.

e

Content-Transfer-Encoding. This is the method by which the file is encoded to allow it to pass through various Mail Transport Agents. The choices are:

7bit

Unencoded, normal US-ASCII text. This is the default encoding parameter.

8bit

Unencoded 8-bit characters with the high-order bit set.

quoted-printable

Text with control characters and high-order-bit characters converted to a string in the form =hh, where hh is the hexadecimal representation of the character. An = at the end of a line indicates that the source line was broken into two lines.

base64

Any file type with bits encoded in 6-bit groups and rendered in numeric order as the US-ASCII characters A-Z, a-z, 0-9, +, and /. The last line may be padded to a multiple of 4 characters with = characters.

binary

Unencoded binary data.

The value is placed in a Content-Transfer-Encoding: body-part header entry. The default is 7bit.

f

File name. The name of the file to be attached. elm examines the file and sets the values of Content-Transfer-Encoding, Content-Disposition, and Content-Type accordingly.

p

Content-Disposition. The value is placed in a Content-Disposition: body-part header entry. The default is attachment; filename=filename.

t

Content-Type. The type of the file and supporting parameters, in the form:

type/subtype [; parameter]...

The type can be one of application, audio, image, message, text, or video, as defined in RFC 1521. Although multipart is also a valid type, you cannot specify it directly; elm provides it as necessary and handles messages that contain it. The value is placed in a Content-Type: body-part header entry. The default is:

text/plain; charset=US-ASCII

Some common entries are described below. See the METAMAIL CONFIGURATION section for additional information.

text/subtype [; charset=charset]

This is relatively readable text that may be formatted with embedded text characters, as for possible subtypes richtext or html. The default subtype is plain (unformatted in any way). The default charset is US-ASCII.

application/octet-stream

This is a catch-all for files such as program binary, or files that contain control characters or characters with high-order bits set.

application/postscript

The file can be displayed with a PostScript-equipped printer or viewer.

message/rfc822

This specifies that the file is in message format, as described in the Terminology subsection.

image/jpeg, image/gif

These are picture formats that require a display program.

audio/basic

This is an audio format that requires a reproduction program.

video/mpeg

This is an audio/video format that requires a reproduction program.

Attachment Send Menu

The Attachment Send Menu is invoked with the Send Menu a command. This menu displays a list of the attachments that will be sent in a message, one per line, as described in the Attachment Index subsection.

The commands are:

a

Add attachments. Call the Attachment Configuration Menu and prompt for a file name.

d

Delete an attachment.

e

Edit an attachment. Call the editor associated with the attachment if it is editable.

j

Move the current attachment pointer down to the next attachment.

k

Move the current attachment pointer up to the previous attachment.

Ctrl-L

Redraw the screen.

m

Modify the attributes of an attachment. Call the Attachment Configuration Menu.

p

Print an attachment. See the Message Menu p (print) command.

q

Quit. Return to the Send Menu.

s

Save an attachment. See the Message Menu C (copy) command.

Attachment View Menu

The Attachment View Menu is invoked with the Send Menu v command. This menu displays a list of the attachments in a folder message, one per line, as described in the Attachment Index subsection.

The commands are:

Return

Display the current attachment.

j

Move the current attachment pointer down to the next attachment.

k

Move the current attachment pointer up to the previous attachment.

Ctrl-L

Redraw the screen.

p

Print the attachment. See the Message Menu p (print) command.

q

Quit. Return to the previous attachment level or the Message Menu.

s

Save the attachment. The attachment is saved in the form it was received, as with the Message Menu s (save) command.

v

View the subattachment list, if any.

Attachment Index

Attachments are listed on the Attachment Send Menu and the Attachment View Menu in the following format:

  • num filename (size) format [encoding]

defined as:

num

The index number of the attachment.

filename

The name of the attached file.

size

The size of the attachment in bytes, computed from the file or the message.

type/subtype

The type and subtype of the attachment. This value is placed or found in a Content-Type: header.

encoding

The encoding type. This value is placed or found in a Content-Transfer-Encoding: header.

File Attachment

elm still supports the old method where you have one or more key lines of the form:

[include file contenttype/subtype [encoding]]

A file which needs to be attached with the mail is included in the body of the message and it becomes a part of the message. The text lines before, between and after the include lines go into different attachments.

The encoding parameter is optional. Refer to RFC 1341 for information on valid contenttype/subtype and encoding parameter values.

Example: To include a file, cartoon.gif, into your message and you want to use base-64 encoding, use the following line:

[include cartoon.gif image/gif base64]

Or if you want to include a text file , foo.txt, which contains plain ASCII, use the following line:

[include foo.txt text/plain]

Message Encryption

For enhanced security and privacy, you can encrypt a message with the key lines: [encode] and [clear].

Consider the following outgoing message:

Hi Tom, How are you doing? [encode] This is a private message!! [clear] Keep in touch. - Jerry

The [clear] line signifies the end of encryption for the block from [encode] to [clear].

The above message is readable while being typed into the editor and as soon as the message is confirmed as wanting to be sent, the elm mailer prompts you with the following:

Enter encryption key: @

It accepts a key (a series of 8 or less characters) without echoing them to the screen. You will need to re-enter the key. If you have the copy option enabled, the program will save your copy of the message in encrypted form. This helps you ensure privacy and security of your mail archive.

If you are not prompted by the mailer to enter the encryption key, you do not have [encode] entered as the first 8 characters of the line. Similarly, [clear] should also be entered as the first 7 characters of the line to indicate the end of encryption.

On the other end, the recipients of this mail (should be users of the elm program) will be prompted with the following message to enter the decryption key:

Enter decryption key: @

If the decryption key is correct, the program will then decrypt the mail and display each line in readable format. The same message will be displayed in an encrypted form if the decryption key is incorrect.

Note: Currently decryption is not supported to pipe or print encrypted mails.

Mail Archive

This feature is the ability to specify the message content that needs to be archived (assuming copy is enabled).

To indicate the last line of the message to be archived, you need to have either the [nosave] or [no save] key line in the body of your message.

The saved mail will not contain the message following the [nosave] or [no save] key line. However, the outgoing mail will contain all the messages except the key line.

Header Menu

The Header Menu is invoked with the Send Menu h command. It allows you to add, change, and delete a set of common header entries in your message. In general, if an item is empty, it is not included in the message.

The commands are:

Return

Return to Send Menu.

!command

Shell. Execute command with the shell defined by the shell string variable.

a

Action: header. Enter any string. If this entry is present in a received message, elm displays an A in the Permanent Status column of the Message Index.

b

Bcc: header. Enter a list of aliases and actual addresses. Aliases are expanded and shown as addresses and user names.

c

Cc: header. Enter a list of aliases and actual addresses. Aliases are expanded and shown as addresses and user names.

d

Domainize. Convert non-Internet addresses to Internet format. The UUCP ! format (host.domain!user ) becomes the Internet @ format (user@host.domain ). If .domain is omitted, it defaults to .uucp.

e

Expires: header. Enter any numeric value from 1 to 56 (8 weeks). If this entry is present in a received message, elm displays an E in the Variable Status column of the Message Index when the computed date has passed.

i

In-Reply-To: header. Enter a string.

n

Precedence: header. Enter a precedence name. If the precedences string variable is set and nonnull, the name must be one defined by the variable. If the name is associated with a priority, and the Priority: header is null, the priority value is inserted in the Priority: header. If precedences is null or not set, you can enter any value.

If the precedence name matches one defined in the sendmail configuration file /etc/mail/sendmail.cf, the transmission priority is modified accordingly. If there is no match, the priority is not changed.

p

Priority: header. Enter a string. If this entry is present in a received message, elm displays a U in the Permanent Status column of the Message Index

r

Reply-To: header. Enter a personal alias or a single address. If it is present, elm and other mailers use this header instead of the From: header when choosing the address for a reply (Message Menu r (reply) command).

s

Subject: header. Enter a string.

t

To: header. Enter a list of aliases and actual addresses. Aliases are expanded and shown as addresses and user names.

u

User-defined header. Define your own header entry in the form:

header-name: header-string

header-name: must not contain blanks. You can use this command to create a Sensitivity: header entry, as described in the Message Status subsection, or a different header, but only one. See the HEADER FILE section for another way to include user-defined header entries.

Options Menu

The Options Menu is invoked with the Message Menu o command. It displays a list of the options, defined by the configoptions string variable, that you can modify while elm is running. Enter the appropriate letter (in upper- or lowercase) that is followed with a right parenthesis ()) and follow the directions on the screen. The full set of option prompts and the corresponding variables is listed below. The default options are marked with an *.

A)rrow cursor

The arrow string variable. *

B)order on copy

The prefix string variable.

C)alendar file

The calendar string variable. *

D)isplay mail using

The pager string variable. *

E)ditor (primary)

The editor string variable. *

F)older directory

The maildir string variable. *

H)old sent message

The copy boolean variable.

J) reply editor

The alteditor string variable.

K) pause after pager

The promptafter boolean variable.

A(l)ias Sorting

The aliassortby string variable.

M)enu display

The menu boolean variable. *

N)ames only

The names boolean variable. *

O)utbound mail saved

The sentmail string variable. *

P)rint mail using

The print string variable. *

R)eply copies msg

The autocopy boolean variable.

S)orting criteria

The sortby string variable. *

T)ext editor (~e)

The easyeditor string variable.

U)ser level

The userlevel numeric variable. *

V)isual Editor (~v)

The visualeditor string variable. *

W)ant Cc: prompt

The askcc boolean variable.

Y)our full name

The fullname string variable. *

Z) signature dashes

The sigdashes boolean variable.

Note: The menu displays the first screen-height-6 lines from the defined set. screen-height is the number of text lines on the screen. If an option is not displayed, it cannot be modified.

When you are done, enter one of the following values:

>

Save the current configuration values in your configuration file, $HOME/.elm/elmrc. If the file does not exist, it is created. This is a convenient way to make an configuration file that you can edit directly, as well as with the Options Menu.

i,I

Return to the Message Menu.

q,Q

Return to the Message Menu.

x,X

Exit immediately from elm without changing the mailbox. All pending changes are abandoned.

Send Menu

The Send Menu is invoked when your outbound message has been prepared to be mailed after a Message Menu f, g, m, or r command or the Alias Menu m command.

The commands are:

!command

Shell. Execute a shell command. See the Message Menu ! (shell) command.

a

Attachments. Invoke the Attachments Send Menu.

c

Copy. Copy to a file. See the Message Menu C (copy) command.

e

Edit. Invoke your editor, as defined by the alteditor string variable, to revise the message.

f

Forget. Do not send the message. At user levels 1 and 2, the message may be returned to the send buffer when you execute a subsequent Message Menu f, g, m, or r command or the Alias Menu m command.

h

Edit the header entries. Invoke the Header Menu.

m

Make form. Convert the message to the forms message format. See the FORMS MESSAGES section. This command is only available if the forms boolean variable is ON and the userlevel numeric variable is either 1 or 2.

s

Send. Send the message.

FORMS MESSAGES

A feature that is unique to elm is the ability to compose and reply to forms messages.

Creating a Forms Message

  • In your elmrc file, set forms=ON.

  • Set your userlevel numeric variable to 1 (moderately experienced) or 2 (expert). You can do this in your elmrc file or on the default Options Menu.

  • As you compose the message, define the fields to be filled in by the recipient with a colon (:), followed by either the number of spaces allowed for the field value, or a newline to indicate that the field may fill the remainder of the line.

    A colon on a line by itself indicates that the recipient will be prompted for multiline input. There can be no blanks before the colon.

    Every line containing a colon is a prompt line. During the response process, all text starting at the first nonblank character after the last colon on each line is deleted and the line is evaluated for response fields.

  • After you have created the message, enter the Send Menu m (make form) command to set up the special format. Then enter the Send Menu s (send) command to send the message.

Here is an example of a simple forms message:

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.

Replying to a Forms Message

When you receive a forms message, the message index entry is flagged with an F status letter. You can view it in the normal way with the Return or h commands.

To reply, use the Message Menu r (reply) command (you cannot use the Message Menu g (group reply) command). elm prompts you for each field, with any text present between the fields displayed as appropriate. The example above is presented line-by-line; user input is in italic type:

On-Line Phone and Address Database Please fill out and return as soon as possible. Name:my name Manager:my manager Department:my department Division:my division Your home address:home address Home phone number:phone number Thank you for your cooperation.

The received message would look like this:

On-Line Phone and Address Database Please fill out and return as soon as possible. Name: my name Manager: my manager Department: my department Division: my division Your home address: home address Home phone number: phone number Thank you for your cooperation.

HEADER FILE

The $HOME/.elm/elmheaders file provides you with a way to specify special information headers such as X-Organization:, X-Phone:, and so forth. The nonblank lines from this file are added to the headers of all outbound mail.

Entries in the elmheaders file should have the following format:

header-name: header-string

header-name: must not contain blanks. header-string can be continued over several lines by preceding each continuation line with blanks, as indicated by the output below.

Within the elmheaders file, you can use backquotes (left apostrophes) to execute shell commands when the file is read, so that an entry of the form:

X-Operating-System: `uname -a`

would produce a header entry like:

X-Operating-System: HP-UX hpulpc17 B.10.10 A 9000/710 2012505939 two-user license

According to RFC 822, user-defined header names should begin with X- or x-. Otherwise, they risk having their usage overridden if the name is later standardized with some other meaning.

Defined Headers

The following header names are defined for the message header in RFC 822 and RFC 1521.

Bcc: (822) Cc: (822) Comments: (822) Content-Description: (1521) Content-ID: (1521) Content-Transfer-Encoding: (1521) Content-Type: (1521) Date: (822) Encrypted: (822) From: (822) In-Reply-To: (822) Keywords: (822) MIME-Version: (1521) Message-ID: (822) Received: (822) References: (822) Reply-To: (822) Resent-Bcc: (822) Resent-Cc: (822) Resent-Date: (822) Resent-From: (822) Resent-Message-ID: (822) Resent-Reply-To: (822) Resent-Sender: (822) Resent-To: (822) Return-Path: (822) Sender: (822) Subject: (822) To: (822) X-user-defined: (822)

Other commonly used headers:

Action: Apparently-To: Content-Disposition: Content-Length: Expires: Mailer: Newsgroups: Precedence: Priority: Sensitivity: Status: X-Mailer:

ELM CONFIGURATION

elm supports user configuration by means of the $HOME/.elm/elmrc configuration file. You can create the configuration file with the Options Menu > command. It can contain any combination of the string, numeric, and boolean variables described below.

String Variables

String variables have the form

string-name = string-value

The following string variables are defined.

aliassortby

The sort order for the alias index in the Alias Menu. The recognized values are:

alias

Sort by alias name.

name

Sort by the full name of the alias, last name first.

text

Sort by the order of the aliases in the alias text file.

Prefix the value with reverse- to reverse the sort order. The default is name.

alteditor

The name of the editor to use for messages that have initial text (a copied message in a reply, a signature in any outbound message, etc.). when the editor string variable is set to none or builtin. The default is the value of the EDITOR environment variable, if set and nonnull, or /usr/bin/vi otherwise. See also the editor string variable.

alternatives

A list of other machine and user name combinations that you receive forwarded mail from. elm uses this information when a group reply is being processed to ensure that a reply message is not sent to a user and/or machine address that would simply forward the reply message back to you. The default is none.

attribution

Attribution string for replies. When you reply to a message and include the message in the reply, this string is placed at the top of the message. The characters %s are replaced by the full name of the author of the original message. The default is none. For example:

attribution = %s wrote:

calendar

The name of your calendar file. This is used in conjunction with the Message Menu < (calendar) command, which scans messages for calendar entries. The default is $HOME//calendar.

charset

The name of the character set used with the MIME Content-Type: header for the text/plain type. It can be any Internet-defined character set name that is a superset of US-ASCII. The default is US-ASCII. For example,

Content-Type: text/plain; charset=US-ASCII

compatcharsets

A list of Internet-defined character sets that are supersets of US-ASCII, so that messages with charset=US-ASCII can be displayed without the help of metamail. The default is a string containing the following values:

Extended_UNIX_Code_Packed_Format_for_Japanese ISO-2022-JP ISO-8859-1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-7 ISO-8859-8 ISO-8859-9 KOI8-R Shift_JIS

configoptions

A string of options that can be configured on the Options Menu. Specify the options as a single letter each, in the order they should be displayed. The default is "^_cdefsopyv_am_un ". The defaults are marked below with an *.

The option characters include:

^

The menu title.

_

A blank line.

a

The arrow string variable. *

b

The prefix string variable.

c

The calendar string variable. *

d

The pager string variable. *

e

The editor string variable. *

f

The maildir string variable. *

h

The copy boolean variable.

j

The alteditor string variable.

k

The promptafter boolean variable.

l

The aliassortby string variable.

m

The menu boolean variable. *

n

The names boolean variable. *

o

The sentmail string variable. *

p

The print string variable. *

r

The autocopy boolean variable.

s

The sortby string variable. *

t

The easyeditor string variable.

u

The userlevel numeric variable. *

v

The visualeditor string variable. *

w

The askcc boolean variable.

y

The fullname string variable. *

z

The sigdashes boolean variable.

displaycharset

The name of the character set supported by the display. This is independent of the charset string variable. This is also copied to the MM_CHARSET environment variable when metamail is called. The default is US-ASCII.

easyeditor

The name of the editor for the ~e command of the built-in editor. See also the editor string variable. The default is none.

editor

The name of the editor to use when creating new mail. The default is the value of the EDITOR environment variable, if set and nonnull, or /usr/bin/vi otherwise.

You can use none or builtin to specify the built-in editor. The built-in editor is available for all outbound mail that does not already have text in the send buffer (no forwarded message, no copied message in a reply, no signature in any outbound message, etc.). If there is text in the send buffer and builtin is specified, the editor defined by the alteditor variable is used instead.

See also the alteditor, easyeditor, and visualeditor string variables.

escape

The escape character used in the built-in editor. The default is tilde (~).

folderperms

The permissions of the mail folders or the aliases.text file (created by the user using elm) can be configured by setting the value of folderperms in the $HOME/.elm/elmrc file. elm takes 0640 as the default permission, if no value or an invalid value is set by the elm user. elm mandates read-write permissions for the owner. Hence, if the value of folderperms in elmrc file does not grant read-write permissions to the owner, the default value is taken for setting the permissions.

fullname

The name the mailer will use when sending mail from you. The default is the full name portion (everything up to the first comma) of the pw_gecos field from your entry in the /etc/passwd file. This field can be set with the chfn command (see chfn(1), finger(1), and passwd(4)).

localsignature

A signature file that is automatically appended to outbound mail to the local host before the editor is invoked. This usually contains personal data about the sender. See also the remotesignature string variable. The default is none.

All the addresses in the To: header must be apparently for the local host. Local addresses are those that, after any elm alias conversion, do not contain a domain name. That is, they have only a user name (for example, santaclaus) or a user name and the local host name (for example, santaclaus@northpole).

santaclaus@northpole.arcticsea.org is considered to be a remote address, even if it points to the local host. A user name that is readdressed by the sendmail system alias list is treated as local if it matches the preceding criteria.

maildir

Your mail directory, where you usually store your folders for received and outbound mail. The default is $HOME//Mail.

In elm, you can use the = metacharacter to specify this directory. For example, if you save a message to file =/archive, the = is expanded to the current value of maildir. (The slash (/) is optional.)

When you start elm, if the directory specified by maildir does not exist, you are asked if you want to create it. If you answer y (yes), the directory is created, with access permissions set to 700.

pager

The program to display each message. The default is the value of the PAGER environment variable, if set and nonnull, or the built-in pager, builtin+, otherwise.

The built-in pager, builtin+, also allows you to execute some Message Menu commands while you are viewing the message and it has some simple forward and backward scrolling commands. While it is active, enter ? for a list of commands. An alternative is the more utility.

precedences

A list of precedence values that you can place in a Precedence: header entry in outbound mail, using the Header Menu. Each precedence value can be optionally paired with a priority value that is automatically placed in a Priority: header entry, causing the received message to be marked as urgent. The default is none.

The HP-UX mail transport agent, sendmail, recognizes this header. If the precedence value is defined by a P control line in the sendmail configuration file, /etc/mail/sendmail.cf, the transmission priority of the message is adjusted accordingly. See sendmail(1M).

The format of the entry is

precedences = precedence[:priority] [precedence[:priority]] ...

precedence is a precedence name. The default list defined in /etc/mail/sendmail.cf is:

first-class

Transmission priority 0, the default

special-delivery

Transmission priority 100

list

Transmission priority -30

bulk

Transmission priority -60

junk

Transmission priority -100

priority is an arbitrary string that is placed in a Priority: header entry.

prefix

The prefix for an included line in an outbound message. When you reply to a message or forward a message to another person, you can optionally include the original message. This prefix marks the included line. The default is >_ (the _ is interpreted as a space character).

print

The command to run when the p (print) command is executed from various menus. There are two possible formats for this string: If the string contains the special variable %s, the variable is replaced by the name of a temporary file that contains the messages, and the command is executed by the shell defined by the shell string variable. If the string does not contain %s, the temporary file name is appended to it, and the command is executed. The default is

cat %s | lp

receivedmail

The file where the received messages will be saved. The default is =received, the file received in the directory defined by maildir.

remotesignature

A signature file that is automatically appended to all outbound mail to remote hosts before the editor is invoked. This usually contains personal data about the sender. See also the localsignature string variable. The default is none.

If any of the addresses in the To: header entry are not local, as described for the localsignature string variable, the remote signature file is attached.

savecharset

The character set to be used to save a message in a folder. Possible values are JIS, SJIS, and EUC. If a value is not specified, the message will be saved according to your locale (given by the LC_TYPE and/or LANG environmental variables). This option is applicable only for the Japanese locale. The default is none. See also the jisconversion boolean variable.

sentmail

The file where copies of outbound mail can be saved. One possibility is your incoming mailbox, /var/mail/loginname. The default is =sent, the file sent in the directory defined by maildir.

See the copy boolean variable for further details.

shell

The shell to use for ! escapes and other such operations. The default is the value of the SHELL environment variable, if set and nonnull, or /usr/bin/ksh otherwise.

sortby

The way to sort the index of the current folder. The choices are:

from

The name of the sender.

sent

The date the message was sent.

received

The date the message was received.

subject

The subject of the message. A leading Re: (and some others) is ignored, so replies sort with original messages.

lines

The number of lines in the message.

status

The read status: blank, O, and N.

You can prefix these values with reverse- to reverse the order of the sort. The value can be modified on the Options Menu. The default is reverse-sent.

textencoding

Type of encoding to put into the MIME Content-Transfer-Encoding: header entry. The choices are 7bit or 8bit. The default is 7bit.

tmpdir

Where to create temporary files. The default is the value of the TMPDIR environment variable, if set and nonnull, or to /tmp/ otherwise.

visualeditor

Name of the editor to use for the ~v command of the built-in editor. The default is the value of the VISUAL environment variable, if set and nonnull, or /usr/bin/vi otherwise.

weedout

A list of header-entry initial strings that you don't want to see when you are reading mail. This list is made effective by setting the weed boolean variable to ON.

The list can continue for as many lines as desired, as long as the continued lines all have leading blanks. To include blanks in a string, enclose it in quotation marks (" ). The strings you specify are normally appended to the default list, which is:

>From Apparently-To: Content-Length Content-Transfer-Encoding Content-Type: From In-Reply-To: MIME-Version Mailer: Message-Id: Newsgroups: Received: References: Status: X-Mailer:

There are two special values:

*clear-weed-list*

Clear the default list. The default headers are removed from the weedout list, allowing you to completely define your own list.

*end-of-user-headers*

Mark the end of the weedout list, in case any following lines could be mistaken for headers in the list.

The default value of weedout is *end-of-user-headers*.

The underscore (_) character can be used to specify a space.

Note that From weeds out both From and From:. If, for example, you want to weed out From but not From:, specify *clear-weed-list* followed by From_ and any other headers that you don't want to see.

Numeric Variables

Numeric variables have the form

numeric-name = numeric-value

The following numeric variables are defined.

bounceback

Threshold for returning copies of remote UUCP messages. If the destination host is greater than the specified number of hops (gateways) from your local host, the destination host sends you a copy of the message when it is received. If the value is 0, this feature is disabled. The default is 0.

builtinlines

Determines if the built-in pager should be used on some messages, even if you usually use an external pager, defined in the pager string variable. There are two ways of defining whether the built-in pager should be used.

  • If you want to use the built-in pager on any message that is shorter than n lines, set the value to n.

  • If you want to use the built-in pager on any message that is m lines shorter than the number of lines on your screen, set the value to -m.

If you set the value to 0, the message will always be sent through the external pager. The default is -3.

noencoding

This enables you to send raw 8-bit or binary data when the mail transfer agent doesn't support the 8BITMIME and the -B8BITMIME options. The default is 0.

The possible values are:

0

Always convert 8-bit and binary messages to 7-bit before sending them.

1

Convert 8-bit messages to 7-bit, but depend on sendmail to handle binary messages.

2

Depend on sendmail to handle both 8-bit and binary messages.

readmsginc

The value by which the Reading in folder, message: counter is incremented while reading a new folder. If you set this value to a number larger than one, it will speed up the time it takes to read a large folder when you are using a slow terminal. The default is 1.

sleepmsg

The time in seconds that elm will wait after displaying a diagnostic message before erasing it. The value can be 0 or a positive integer. The default is 2.

timeout

The interval, in seconds, after which elm rechecks the incoming mailbox for new mail. The default is 600 (10 minutes).

userlevel

The relative level of your user sophistication. Acceptable values are:

0

Novice user (the default). Command menus are a small verbose subset of the available commands.

1

Moderately experienced user. Command menus are a larger terse subset of the available commands. Outbound message commands allow you to recover previously unsent messages as the text of the current outbound message.

2

Expert. The features are the same as for 1.

Level 1 or 2 is required if you want to send a forms message.

Boolean Variables

Boolean variables have the forms

boolean-name = ON -and- boolean-name = OFF

The following boolean variables are defined.

alwaysdelete

If ON, the default answer of the Message Menu q (quit) prompt

Delete messages? (y/n)

is set to y (yes). If OFF, the default answer is set to n (no). The default is OFF. See the Message Menu q command.

alwayskeep

If ON, the default answer of the Message Menu q (quit) prompt

Keep unread messages in incoming mailbox? (y/n)

is set to y (yes). If OFF, the default answer is set to n (no). The default is ON. See the Message Menu q command.

alwaysstore

If ON, the default answer of the Message Menu q (quit) prompt

Move read messages to "received" folder? (y/n)

is set to y (yes). If OFF, the default answer is set to n (no). The default is OFF. See the Message Menu q command.

arrow

If ON, use an arrow (->) to mark the current item in a menu index. If OFF, use an inverse bar. If the program is invoked with the -a command line option, arrow is set to ON. The default is OFF.

ask

If ON, you are asked the questions

Delete messages? (y/n) Move read messages to "received" folder? (y/n) Keep unread messages in incoming mailbox? (y/n)

(as appropriate) each time you leave the program with the Message Menu q (quit) command. See that command for details of the process. If OFF, or if you use the Message Menu Q command, elm uses the values defined by the alwaysdelete, alwaysstore, and alwayskeep boolean variables, respectively, without prompting. The default is ON.

askcc

If ON, elm prompts you for "carbon copies" with the prompt Copies To: each time you send, forward, or reply to a message. If OFF, the prompt is omitted. In either case, you can still explicitly include Cc: addresses with the ~c command in the built-in editor, or with the Header Menu commands. The default is ON.

autocopy

If ON, elm automatically copies the text of the message you are replying to into the edit buffer. If OFF, elm prompts you with Copy message?. The default is OFF.

confirmappend

If ON, you are asked to confirm before messages are appended to an existing file, whether it is a file in your mail directory or a file in another directory. If OFF, see confirmappend and confirmfiles Operation below. The default is OFF.

confirmcreate

If ON, you are asked to confirm before a new file is created. whether it is a file in your mail directory or a file in another directory. If OFF, see confirmcreate and confirmfolders Operation below. The default is OFF.

confirmfiles

If ON, you are asked to confirm before messages are appended to an existing file that is not in your mail directory. This does not affect files in your mail directory. If OFF, see confirmappend and confirmfiles Operation below. The default is OFF.

confirmfolders

If ON, you are asked to confirm before a new file is created in your mail directory. This does not affect files in other directories. If OFF, see confirmcreate and confirmfolders Operation below. The default is OFF.

confirmcreate and confirmfolders Operation
confirmcreate=ON and confirmfolders=ON

Confirm before creating a file in your mail directory. Confirm before creating a file another directory.

ON and OFF

Confirm before creating a file in your mail directory. Confirm before creating a file another directory.

OFF and ON

Confirm before creating a file in your mail directory. Do not confirm before creating a file another directory.

OFF and OFF

Do not confirm before creating a file in your mail directory. Do not confirm before creating a file another directory.

confirmappend and confirmfiles Operation
confirmappend=ON and confirmfiles=ON

Confirm before appending to a file in your mail directory. Confirm before appending to a file in another directory.

ON and OFF

Confirm before appending to a file in your mail directory. Confirm before appending to a file in another directory.

OFF and ON

Confirm before appending to a file in your mail directory. Do not confirm before appending to a file in another directory.

OFF and OFF

Do not confirm before appending to a file in your mail directory. Do not confirm before appending to a file in another directory.

copy

If ON, save silent copies of all outbound mail on the outbound step. If OFF, do not save copies. The default is OFF.

If ON, and the savename boolean variable is ON, elm first tries to save it to a file named as defined by savename. If the file exists, the message is saved. If the file does not exist, but the forcename boolean variable is ON, the file is created and the message is saved. If forcename=OFF, the message is saved to the file defined by the sentmail string variable. If savename=OFF, the message is saved to the file defined by the sentmail string variable.

forcename

If ON, create the folder when saving outbound messages by the login name of the recipient, even if the folder doesn't already exist. If OFF, do not create the folder. The default is OFF.

See the copy boolean variable for further details.

forms

If ON, and the userlevel numeric variable is 1 or 2, you can create a forms message. The Send Menu m (make form) command converts your message into a forms message. If OFF, you cannot. The default is ON.

jisconversion

If ON, convert outbound mail to JIS (Japanese Industrial Standard) before sending it. If OFF, do not convert it. This option is applicable only to the Japanese locales, ja_JP.SJIS and ja_JP.eucJP. The default is OFF. savecharset string variable.

keepempty

If ON, keep folders from which all the messages are deleted. If OFF, delete empty folders. The default is OFF.

keypad

If ON, enable the HP 2622 terminal cursor keys. If OFF, disable the cursor keys. If the program is invoked with the -K command line option, keypad is set to OFF. See also the softkeys boolean variable. The default is ON.

menu

If OFF, this inhibits the menu display on all program screen displays. If ON, the menus are displayed. If the program is invoked with the -m command line option, menu is set to OFF. The default is ON.

metoo

If ON, you are sent a copy of the message that you send to an alias that includes your name also. If OFF, the copy is not sent. The default is OFF.

mimeforward

If ON, a forwarded message is sent as an attachment. If OFF, a forwarded message is sent as part of the main message. The default is ON.

movepage

If ON, commands that move through the mailbox by pages (the + and - commands) also move the current index pointer to the top of the new page of messages. If OFF, moving through the pages does not alter the current message pointer location. The default is ON.

names

If ON, show only the user names when expanding the To: aliases for an outbound message. If OFF , show the entire expanded addresses. The default is ON.

nohdrencoding

If ON, don't do RFC 1522 encoding for header values that contain 8-bit or multibyte characters. If OFF, do the encoding. The default is OFF.

noheader

If ON, do not include the headers of messages when copying a message into a file buffer for replying to or forwarding. If OFF, copy all headers. The default is ON.

noheaderfwd

If ON, do not include headers when copying a message into a file buffer for forwarding. If OFF, copy all headers. For forwarding, this option overrides the setting of noheader. The default is OFF.

pagemultipart

If ON, use the value of the pager variable to display MIME multipart messages with unknown subparts or with unknown subtypes. If OFF, call metamail to view multipart messages. The default is OFF.

pointnew

If ON, automatically point to the first new message in your message index at start-up. If OFF, point to the first message. In either case, if the start-up folder is not your incoming mailbox, or if there are no new messages, point to the first message. The default is ON.

promptafter

If ON, prompt for a command after the external pager exits. If OFF, return to the calling menu. The default is ON.

resolve

If ON, move the pointer to the next message in the index, after deleting, undeleting, saving, or forwarding a message. If OFF, keep the pointer at the current message. The default is ON.

savename

If ON, and you are saving a message, elm constructs a suggested file name in your maildir directory from the user name of the person who sent the message, in the form =username. If OFF, no file name is suggested.

If ON, and you are sending a message that will be saved, elm constructs a file name based on the user name of the first entry in the To: list, in the same form as above. If OFF, no file name is constructed. See the copy boolean variable for further details.

The default is ON.

sigdashes

If ON, insert two dashes above the signature text, included from a local or remote signature file. This is a common convention. If OFF, omit the dashes. The default is ON.

softkeys

If ON, enable the HP 2622 terminal function-key protocol. If OFF, disable the function-key protocol. If the program is invoked with the -k or -K command line option, softkeys is set to OFF. See also the keypad boolean variable. The default is OFF.

titles

If ON, title a displayed message with a line in the form:

Message number/total sendername date time

sendername, date, and time are extracted from the message headers in the manner described in Message Index. This is useful if you have suppressed the relevant header entries with the weedout list. If OFF, the message is not titled. The default is ON.

usetite

If ON, use the termcap ti/te and terminfo cup cursor-positioning entries (see terminfo(4)). If OFF, do not use those entries. If the program is invoked with the -t command line option, usetite is set to OFF. The default is ON.

weed

If ON, do not display the headers defined by weedout variable when displaying a message for reading. If OFF, display all headers. The default is ON.

METAMAIL CONFIGURATION

MIME (Multipurpose Internet Mail Extensions) encoding classifies the message and its attachments according to a Content-Transfer-Encoding, which is the encoding, if any, that is used to make the message mailable, and a Content-Type, which is the type and form of the message part after it has been decoded. The encoding and types are described in more detail in the Attachment Configuration Menu subsection and in RFC 1521.

elm provides built-in support for the following Content-Types:

text/plain [; charset=charset]

The text is all in the displayable character set charset which defaults to US-ASCII.

multipart/mixed ; boundary=boundary-string

The message is composed of a number of individual "body parts", separated by --boundary-string, each having optional headers defining Content-Type and Content-Transfer-Encoding. The default Content-Type is text/plain.

multipart/digest ; boundary=boundary-string

This is similar to multipart/mixed, except that the default Content-Type is message/rfc822.

multipart/report ; boundary=boundary-string

message/rfc822

The message consists of another message in standard message format.

metamail is a system program that is invoked by elm to manage the display of messages and attachments that are not displayable in ordinary ASCII text.

metamail provides external support for other Content-Types, as defined in one or more mailcap files. The system mailcap file is /etc/mail/mailcap. You can define your own default mailcap file in $HOME/.mailcap. You can also specify your own list of mailcap files by setting the MAILCAPS environment variable. The mailcap files are searched in order until an entry is found that matches the Content-Type and any qualifications.

A minimum mailcap entry consists of a line in the form:

content-type ; command

The command is the command that you would type to view a file of the indicated Content-Type, with the string %s replaced by a file name. For example, to view body part that was HTML source text and had the Content-Type text/html, you could have the entry

text/html; netscape %s

Similarly, for a GIF image file, you could have the entry

image/gif; xv %s

RFC 1521 defines a number of Content-Types that elm leaves for metamail to handle:

text/richtext multipart/alternative multipart/parallel multipart/digest message/partial message/external-body image/jpeg image/gif audio/basic video/mpeg application/octet-stream application/postscript

Check the system mailcap file for entries that handle many of them.

EXTERNAL INFLUENCES

Environment Variables

HOME

Your home (login) directory.

EDITOR

If set and nonnull, provides a default value for the alteditor and editor string variables.

LANG

If set and nonnull, determines the language in which messages are displayed. The default is C. See environ(5).

MAILCAPS

If set, defines the search path for mailcap files used by metamail. The default is

$HOME/.mailcap:/etc/mail/mailcap

PAGER

If set and nonnull, provides a default value for the pager string variable.

SHELL

If set and nonnull, provides a default value for the shell string variable.

TMPDIR

If set and nonnull, provides a default value for the tmpdir string variable.

VISUAL

If set and nonnull, provides a default value for the visualeditor string variable.

International Code Set Support

Single- and multibyte character code sets are supported.

EXAMPLES

Message Mode Example

To send a message without loading the main elm mail-processing program, use the simple command form consisting of the name of the program followed by the recipient's login name and optional address. elm prompts for subject and copies, then starts an editor so you can compose the message (user responses are in italic type):

$ elm j_doe To: doe (John Doe) Subject: this is a test Copies To: ... ...invokes editor, you compose message, then... Your options now are: a)ttachments e)dit message edit h)eader s)end it f)orget it. What is your choice? s mail sent!

If you "forget" the message, it is saved in $HOME/Canceled.mail.

File Mode with Redirection

To send a file by use of command-line redirection, use a command like:

$ elm j_doe < help.c

which reads file help.c and sends it with the default subject.

File Mode with a Pipe

To mail the output of a command and include a subject line:

$ ls -a | elm -s "Directory Listing" j_doe

WARNINGS

Using two separate mail programs to access the same mail file simultaneously (usually inadvertently from two separate windows) can cause unpredictable results.

The length of the subject string (used with the -s command line option) and filenames (used with the -f and -i command line options) is limited to 255 characters. If the length exceeds this limit, the strings will be truncated to 255 characters.

AUTHOR

elm was developed by Hewlett-Packard Company.

FILES

$HOME/.elm

Directory for the user's elm alias, configuration, header, and other files

$HOME/.elm/aliases

User alias database data table

$HOME/.elm/aliases.dir

User alias database directory table

$HOME/.elm/aliases.pag

User alias database hash table

$HOME/.elm/aliases.text

User alias source text

$HOME/.elm/elmheaders

User-defined additional headers

$HOME/.elm/elmrc

User configuration file

$HOME/Canceled.mail

Canceled message in noninteractive use.

/tmp/alias.pid

Temporary file for deleting alias

/tmp/form.pid

Editor buffer for forms message

/tmp/mbox.loginname

Temporary mailbox for user logname

/tmp/print.pid

Temporary file for printing message

/tmp/snd.pid

Outgoing mail message edit buffer

/tmp/sndh.pid

Outgoing mail header edit buffer

/usr/lib/nls/msg/C/elm.cat

Location of the message catalog

/usr/share/lib/elm/elmrc-info

Comment file for $HOME/.elm/elmrc file

/var/mail

Directory for incoming mail; it must have mode 755 and group ID mail

/var/mail/.elm

Directory for elm mailer system aliases

/var/mail/.elm/aliases

System alias database data table

/var/mail/.elm/aliases.dir

System alias database directory table

/var/mail/.elm/aliases.pag

System alias database hash table

/var/mail/.elm/aliases.text

System alias source text

/var/mail/loginname

Incoming mailbox for user; it must have mode 660 and group ID mail

/var/mail/loginname.lock

Lock for mail directory

SEE ALSO

answer(1), chfn(1), elmalias(1), fastmail(1), finger(1), mailfrom(1), newalias(1), newmail(1), readmail(1), vi(1), sendmail(1M), passwd(4), terminfo(4), environ(5).

RFC 821

"Simple Mail Transfer Protocol (SMTP)"

RFC 822

"Standard for the Format of Internet Text Messages"

RFC 1341

"MIME (Multipurpose Internet Mail Extensions): Mechanisms for Specifying and Describing the Format of Internet Message Bodies"

RFC 1521

"MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies"

RFC 1522

"MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text"

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.