NAME
readmsg - extract messages from a mail folder
SYNOPSIS
readmsg [-anhp] [-f folder]
[-w weedlist] [selection ...]
DESCRIPTION
Readmsg extracts selected mail messages
from a mail folder. One helpful use of the program is when you are
composing a response to a mail message in an external editor. In
this case, you can run readmsg to pull a copy of the
original message into the editing buffer. When you run
readmsg from within elm (e.g. from a subshell escape
or in an external editor while composing a mail reply) it behaves a
bit differently from when you run it directly (e.g. from a shell
command line). We will first describe its normal behavior, and then
describe how it is different when you run it under elm. You
tell readmsg which messages to extract with the
selection argument. There are a couple of possible different
ways to specify the selection.
- 1.
- A lone ``*'' means select all messages in the mailbox.
- 2.
- A list of message numbers may be specified. Values of ``0'' and
``$'' in the list both mean the last message in the mailbox. For
example:
readmsg 1 3
0
extracts three messages from the folder: the first, the third,
and the last.
- 3.
- Finally, the selection may be some text to match. This
will select a mail message which exactly matches the
specified text. For example,
readmsg staff
meeting
extracts the message which contains the words ``staff meeting.''
Note that it will not match a message containing ``Staff
Meeting'' - the matching is case sensitive. Normally only the first
message which matches the pattern will be printed. The -a
option discussed in a moment changes this. The -f flag
indicates that you'd rather use the folder specified rather than
the default incoming mailbox. The specified folder can be a
filename or a specification such as ``=sentmail''. The -w
flag tailors the list of mail headers that are weeded and
displayed. Header weeding is discussed below. The -h flag
instructs the program to ignore the header weeding list, and
include the entire header of the matched message or messages when
displaying their text. The -n flag instructs the program to
ignore the header weeding list, and exclude all headers.
This is used mostly for extracting files mailed and such. The
-p flag indicates that the program should put form-feeds
(control-L) between message headers. The -a flag indicates
that all messages which match the pattern specified on the command
line should be printed, not just the first. If a pattern was not
specified on the command line then this flag has no effect. When
you run readmsg under elm (say in the context of an
external editor) the behavior will be different from that described
above as follows.
- 1.
- The default mail folder will be the folder you are currently
examining in elm and not necessarily your incoming mail
folder.
- 2.
- You do not need to specify a selection on the command
line. If you omit the selection then readmsg will
extract the message(s) you have selected in Elm. If you have tagged
any messages then this would be all of the tagged messages,
otherwise it would be the message you are currently examining.
- 3.
- Normally the message numbers readmsg uses are in mailbox
order. When you call readmsg under elm and do not
override the folder selection with the -f option, then
message numbers will be sorted as they are displayed on the
elm message index screen. Normally, readmsg selects
and displays certain headers from the message. By default, the list
of selected headers includes:
-
* The ``Subject:'' header.
* The ``From:'' header.
* The ``To:'' header.
* The ``Cc:'' header.
* The ``Date:'' header.
* Any header starting with ``Apparently-''.
The header weeding may be changed with the -w
option. The argument to this option is a list of header names,
separated by whitespace or commas. readmsg compares each
header to the ones in this list, and if a match is found the header
is displayed. The list entries can contain partial header names.
For instance, an entry of ``From'' would match both the
``From<SPACE>'' line at the top of the
message, as well as any ``From:'' header. Matching is case
insensitive. An underscore (``_'') may be used to represent a
space, so specifying ``From_'' will select the ``From<SPACE>'' line but not the ``From:'' header. A
list entry may be preceded by an exclamation point to suppress the
header. Thus, a specification of ``!From_ From'' means about
the same thing as ``From:''. When no header weeding options are
specified, the default action corresponds to:
readmsg -w "Subject:
From: To: Cc: Apparently- Date:"
EXAMPLES
First off, to use this from within vi to
include the text of the current message, you could use the command:
:r !readmsg
(as you hit the ':' the editor will put you at the bottom of the
screen with the ':' prompt). The space following ':r' is required.
Let's look at something more interesting, however;
Suppose you have the mail file;
From joe Jun 3 1986 4:45:30 MST
Subject: hello
Hey Guy! Wanta go out and have a milk this evening?
Joe
From john Jun 3 1986 4:48:20 MST
Subject: Dinner at Eight
From: John Dinley <xyz!john>
Remember you should show up about eight, okay?
- John D -
From xxzyz!cron Jun 3 1986 5:02:43 MST
Cannot connect to server: blob
Job 43243 deleted from queue.
The following commands will result in;
$ readmsg 2
[ display the second message, from John ]
$ readmsg
[ an error, unless we're calling from elm ]
$ readmsg BLOB
[ no match - case sensitive! ]
$ readmsg -h connect to server
[ displays third message, including headers ]
FILES
/usr/mail/<username>
The incoming mail
$ELMSTATE Status
information from elm
AUTHOR
Elm Development Group
SEE ALSO
newmail(1L),
elm(1L)
BUGS
The '*' metacharacter doesn't always work as
expected!
Perhaps the pattern matching should be case insensitive?
It might be confusing that messages are sorted when running under
elm with the current folder, and in mailbox order for all
other cases. When readmsg is run standalone, messages may be
truncated at lines beginning with "From". This is not a problem
when readmsg is spawned under elm because the status
information file created by elm says exactly how long each
message is.
BUG REPORTS TO
Bill Pemberton flash@virginia.edu
COPYRIGHTS
Copyright 1988-1995 by The USENET Community
Trust
Derived from Elm 2.0, Copyright 1986, 1987 by Dave Taylor