|EMM(1)||1999 February 2||EMM(1)
emm - electronic mail manager
is an interface for reading and managing a database of electronic mail.
Emm is usually invoked to read mail from a primary mail folder and any
new mail from an incoming mailbox. Emm provides commands to browse,
display, save, delete, and respond to messages in a mailbox. This manual
concerns itself with the emm commands, variables, and actions.
supports a single option: -r. If that option is supplied, new
mail is not incorporated into the mailbox, and no commands which alter
the mail folder on disk are permitted.
commands take the form of a command word and a list of arguments.
Most commands take a message sequence: a series of arguments
specifying a set of related messages on which the command operates.
Commands and arguments which are emm keywords may be abbreviated
to a unique prefix.
Message sequences are sets of messages sharing some common
trait. There are a number of specifiers used to compose a message
sequence. Those sequence specifiers taking dates allow them to
be entered in a flexible format: everything from 5/5/92 to
yesterday or last tuesday is supported.
See getdate(3) for a full specification of the supported
When textual comparions are performed, they are done without regard
composition with and and or is supported. Parenthesized
sequences may be used to specify precedence; without them, and
and or have equal precedence and are parsed left-to-right.
- after date
All messages sent after date.
All messages in the current mail folder, whether deleted or not. May
be abbreviated as a.
All messages to which a reply has been sent.
- before date
All messaages sent before date.
- cc word
All messages whose Cc: header contains word.
- contains text
All messages containing text. text is treated as a regular
The current message emm is set at. May be abbreviated as c.
All messages which have been marked for deletion with either the
delete or move commands (see
All messages which have been marked using the flag command (see
- from phrase
All messages containing phrase in the From: header.
- keywords word
All messages containing word in the Keywords: header.
The last message in the mailbox.
- longer size
All messages more than size characters in length.
Messages that are both recent and unseen.
- newsgroups word
All messages containing word in the Newsgroups: header.
All messages not in the sequence specified by the rest of the arguments.
- on date
All messages sent on date.
The last message sequence supplied to a previous emm command.
All messages which have been displayed with the read command. This
may be abbreviated as r.
All messages which have been incorporated into the current mail
folder since the beginning of this session with emm.
Equivalent to read.
- sender word
All messages which contain word in their Sender: header, if
- shorter size
All messages whose length is less than size.
- since date
Equivalent to after.
- size size
All messages exactly size characters long.
- subject phrase
All messages which contain phrase in their Subject: header.
- text phrase
All messages which contain phrase in their message body.
- to word
All messages which contain word in their To: header.
All messages which have not been replied to with the reply command.
All messages which have not been marked for deletion.
All messages which have not been displayed using the read command.
May be abbreviated as u.
Equivalent to unread.
Emm allows message numbers and ranges of message numbers as
message sequence specifiers. Message numbers and ranges
may be combined by separating them with a comma.
Message ranges may be specified in several ways:
The range of messages from n to m, inclusive
The range of messages from n to m, inclusive
m messages beginning with message n
There are several additional special symbols that may be used
in message sequences.
The current message
The last message
The last message
An emm folder is a file which holds a set of messages. Each user
has a primary folder, which emm uses as the default folder
when no mailbox argument is supplied at invocation. The name of this
default folder is set from the value of the
below). Emm makes access to other folders convenient.
command is used to switch between folders, and the
commands can transfer messages from the current mail folder to
below). Mail folders are kept in the directory named by the
uses the GNU readline library as the basis of its user
interface. This library provides command line editing, word completion,
and, together with
a dynamic help system.
At any point while typing a command, the TAB key may be used to
attempt completion of the word under the cursor. Completion works for
emm commands, variables, filenames, message sequence specifiers,
and other arguments to emm commands.
When the ? key is pressed during command entry, emm prints
out the list of possible input alternatives based on the text so far.
This gives a hint about the input that emm is expecting.
Emm provides access to the command history, the list of
previously-typed commands. The history command may be used to
examine the list. Readline provides commands to access and search
the history list.
By default, the line editing commands
are similar to those of emacs.
A vi-style line editing interface is also available.
Readline allows the bindings of key sequences to commands to be
changed arbitrarily, and allows key sequences to be bound to a string
of text inserted when the sequence is pressed (editing macros).
Readline also provides a number of variables to tailor its
behavior. These variables can be set in the readline startup
Emm provides a form of macros, similar to shell aliases, which
allow the substitution of a word or phrase for a word typed in a
command position. Macros are defined with the
command and removed with the
below). Whenever a command is entered, the command name is checked
to see if it is a macro. If so, the command name is replaced by
the text of the macro. The replacement text may contain any valid
emm command. Macros are not recursive.
Emm operates in one of two modes. Emm is in
read mode when reading a message sequence with the
read command, and in top-level mode otherwise.
The difference between the two modes is the type of message
sequences accepted by the commands: in read mode,
commands do not take message sequences as arguments, but
operate on the current message.
Emm allows non-text messages using the MIME multimedia
mail format to be displayed. Emm uses a set of auxiliary
programs to display mail in formats other than text. These
are specified in a mailcap file which maps MIME
mail object types to programs to display them. The mailcap entry
specifies not only what program to run, but the environment in
which to run it, and arguments to give it. Emm can display all
parts of a multi-part message individually, and allow each part
to be saved separately.
All emm commands which take filenames as arguments replace
a leading + character with the value of the
mail-directory variable and perform tilde expansion as
described in bash(1). Commands which take a message-sequence
as an argument default to the current message if a sequence is
- . file
Read and execute commands from file as if they had been
typed at the keyboard. Can also be written as source or
Equivalent to reply.
Clear the screen.
Send a bug report to the current emm maintainer.
Display a message on the screen without treating it as a MIME
- cd [directory]
Change the current directory to directory. The value of
the $HOME environment variable is the default directory.
Check for and incorporate any new mail. New mail is not incorporated
if the current folder is not the primary folder.
- copy file [message sequence]
Copy the messages in message sequence to file. If file
is a +, behave as specified by the save-message-by-name
variable. May also be written as save.
- count message-sequence
Count the number of messages in message-sequence and print the
Write the current variable settings and command macros to
~/.emmrc so they can be used as the default profile.
Can also be written as save-init.
Print the current date and time in Internet format.
- define word text
Define word to be a command macro. When word is used
as a command, it will be replaced by text.
- delete message-sequence
Mark the messages in message-sequence for deletion.
- echo word [word ...]
Echo the words to the standard output. This is useful in
files read with the . command.
Exit emm, removing deleted messages from the current folder.
Can be abbreviated as x.
Permanently remove all messages marked for deletion from the
- flag message-sequence
Give all messages in message-sequence the flagged
attribute. Flagged messages are normally displayed when emm
reads in a folder.
- forward message-sequence
Resend all messages in message-sequence to another address.
- get file
Read in file and make it the current mail folder.
- headers message-sequence
Print out a summary line for each message in message-sequence.
The summary line consists of a set of flag values, the message number,
the sender (or first recipient, if sent by the current user or one of
the addresses in the alternate-names variable), the subject, and
the size of the message in characters. The flag letters are:
new (recent and unseen)
recent and seen
- help help-topic
Print out a short message on help-topic. The list of help
topics is printed if no
argument is supplied.
- history [n]
Print the last
commands from the command history. If
is not supplied, the entire history is printed.
- ignore header [header ...]
Add all header arguments to the list of
headers that will not be
displayed when showing a message on the screen with the
- jump message-number
Make message-number the current message.
Equivalent to delete followed by next.
- pipe message-sequence
Pipe the messages in message-sequence to the command named by
the list-command variable. This is a general message piping
to send a message to a printer.
- send [addresses]
Send a mail message to addresses.
- mark message-sequence
Mark all messages in message-sequence as having been read.
- move file [message-sequence]
Equivalent to copy file message-sequence followed
by delete message-sequence.
Move to the next message, make it the current message, and display
it. In read mode, this moves to and displays
the next message in the current sequence.
Move to the previous message, make it the current message, and display
it. In read mode, this moves to the previous message in the current
Print the current message on a printer using the command found in the
Ask a series of questions to set the values of some of emm's
variables and write out an .emmrc file as with the
Start an interactive subshell ``under'' emm using the shell named
by the shell variable.
Print the full pathname of the current directory.
Exit emm without removing deleted messages from the current
- read message-sequence
Read the messages in message-sequence in read mode.
- resend message-sequence
Send the messages in message-sequence to a new set of
recipients, without altering the headers in order to make it
appear that the messages were sent by the original sender
instead of the current user.
- reply message-sequence
Send a reply to the sender or all recipients of each
message in message-sequence, according to the value
of the reply-to-all variable.
- set variable value
Make the value of emm variable variable be value.
Without value, print the value of variable. With no
arguments, print the name and value of each of the emm
The rest of the command line is passed to the shell specified by
the shell variable as a UNIX command. Can
also be entered as !.
- sort sortspec
Sort the messages in the current mail folder according to
sortspec. Sortspec can be one of
to sort by date
to sort by the message subject
to sort by the address in the From: header (or Sender:, if From: is
to sort by the size of the message in characters
Print out some statistics about the current mail folder.
Suspend execution and return to the shell which called emm,
on versions of UNIX that support it.
- type message-sequence
Display the messages in message-sequence without going into
read mode. This will display deleted messages, whereas read
- undefine macro [macro ...]
Remove the command macros.
- undelete message-sequence
Mark the messages in message-sequence as not deleted.
- unflag message-sequence
Mark the messages in message-sequence as no longer
flagged for special attention.
- unignore header [header ...]
Delete the headers from the list of headers whose display is
suppressed when a message is displayed.
- unread message-sequence
Mark the messages in message-sequence as unread.
Write the current folder back to its disk file, removing deleted
messages, then reread it and reinitialize. This can be used to
refresh the folder without leaving emm.
Print out version information about the running copy of emm.
- write [file]
Write the current folder to file without removing deleted
messages. If file is not given, this updates the current
folder's disk file, and can be used to checkpoint the mailbox.
Almost every aspect of emm's behavior may be tailored using
variables. The variables and their default values, if any, are
This is a list of character sets other than the default
(US-ASCII) which the current output device can
display. MIME text messages in these character sets will be
displayed directly rather than by a command specified in the
A list of mail addresses that will be treated as your address. When
the headers command finds a message from one of the addresses
in this list, it will display the recipient in its summary instead
of the sender address.
- blank-screen-in-read (default yes)
If set to
the screen is cleared between messages in read mode.
- delete-empty-mailboxes (default yes)
If set to
mail folders that are emptied by emm (have 0 messages
written to them), will be deleted. The primary mailbox (given by
the variable mailbox-file) is exempt from this treatment.
- do-ignore-headers (default yes)
If set to
the list of ignored headers
is consulted when displaying
a message, and headers in that list are not shown.
Otherwise, the list is
not consulted, and the entire message is
displayed. Headers may be added
to (deleted from) that list with the
- exit-on-control-d (default yes)
If set to
emm will exit when the EOF character (usually Control-D)
is entered from the keyboard.
- folder-directory (default ~/Mail)
The directory for mail-related files and mail folders.
- incoming-mail-file (default ~/mbox)
The file where the system puts new mail. Emm looks in this file
for new mail to incorporate.
- list-command (default /usr/local/lib/emm/mailp)
The shell command to use when listing messages with the
- lpr-filter (default /usr/local/lib/emm/mailp)
The command to use when printing a copy of a message on a printer.
- mail-file-mode (default 0600)
The file protection mode to set the mailbox to.
- mailbox-file (default ~/Mail/mailbox)
The name of the primary mail folder.
- new-mail-check-always (default no)
If set to
then check for new mail after every command.
- pager (default /usr/local/bin/more)
The default CRT filter to use when displaying messages.
- prompt (default ``emm> '')
The prompt to use when waiting for commands.
- read-prompt (default ``emm-read> '')
The prompt to use when waiting for commands in read mode.
- read-receipt-default (default yes)
The default response when the user is asked to send a read
acknowledgement for a message.
- reply-cc-me (default yes)
If set to
the user receives copies of replies he sends.
- reply-insert-message (default yes)
If set to
a copy of the original message will be inserted into
- reply-prefix-string (default ``> '')
If the value of reply-insert-message is yes,
each line of the original message wull be prefixed with this string
when the message is inserted into the reply.
- reply-to-all (default no)
If set to
a reply will be sent to all recipients of the original
message by default.
- reply-using-richtext (default no)
If set to
when the original message is inserted into a reply according
to the value of reply-insert-message, it will be delimited with
the MIME richtext <excerpt> construct. In this case, the value of
reply-prefix-string is ignored.
- save-history (default yes)
If set to
the command line history will be saved in a file for
use in subsequent emm sessions.
- save-message-by-name (default yes)
If set to
a filename of + given to the copy or move
commands will cause the message to be saved to a file
in the mail directory with the same name
as the login name of the sender of the first message in the
message sequence argument.
If set to
messages saved to files
as the result of an argument of
the copy and move commands according to the value
of save-message-by-name will write to a file
only if that file already exists.
If it does not, the message will not be saved and a warning will be printed.
- send-read-receipt (default ask)
If set to always, read receipts will be sent automatically
if a message that requests one is read. If set to never, read
receipts are never sent. If set to ask, the user is
asked whether or not to send a read receipt for each message which
- shell (default $SHELL)
The command interpreter to use for shell commands and subshells.
- show-flagged-messages (default yes)
If yes, the headers of all flagged messages are displayed
- use-pager (default yes)
If yes, displayed messages are piped through a crt filter.
At startup, emm reads commands from a system-wide initialization
file and an initialization file named .emmrc in the user's home
Only set, define, and undefine commands may be given
in this file, since this file is read before the mailbox is scanned.
Any commands using message sequences will not have the desired effect.
A file may be sourced using . after the mailbox is read in to run
commands affecting message status.
The emm executable
The system-wide file specifying how non-text messages should
The system-wide emm startup file
The personal emm startup file
The file containing user-specific content type to display
The personal readline startup file
The Gnu Readline Library, Brian Fox and Chet Ramey
MIME: Multipurpose Internet Mail Extensions,
Internet RFC 1341
A User Agent Configuration Mechanism for Multimedia Mail Format Information,
Internet RFC 1343
It's too big and too slow.
The message sequence grammar should give and higher precedence
Chet Ramey, Case Western Reserve University
- COMMAND STRUCTURE
- MESSAGE SEQUENCES
- Command History
- Line Editing
- COMMAND MACROS
- MULTIMEDIA MAIL
- SEE ALSO
This document was created by man2html
using the manual pages.
Time: 18:05:21 GMT, August 04, 1999