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 | +----------------------+------------------------------------+----------------+