Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
READMSG(1L)							   READMSG(1L)

       readmsg - extract messages from a mail folder

       readmsg [-anhp] [-f folder] [-w weedlist] [selection ...]

       Readmsg	extracts selected mail messages	from a mail folder.  One help-
       ful 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 dif-
       ferently	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 se-
	      lect  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 Meet-
	      ing'' - the matching is case sensitive.  Normally	only the first
	      message  which  matches the pattern will be printed.  The	-a op-
	      tion 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 file-
       name or a specification such as ``=sentmail''.

       The -w flag tailors the list of mail headers that are weeded  and  dis-
       played.	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	speci-
       fied  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 ef-

       When  you run readmsg under elm (say in the context of an external edi-
       tor) the	behavior will be different from	that described above  as  fol-

       1.     The default mail folder will be the folder you are currently ex-
	      amining 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 mes-
       sage.  By default, the list of selected headers includes:

	      o	The ``Subject:'' header.
	      o	The ``From:'' header.
	      o	The ``To:'' header.
	      o	The ``Cc:'' header.
	      o	The ``Date:'' header.
	      o	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 com-
       mas.  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:"

       First off, to use this from within vi to	include	the text of  the  cur-
       rent 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?


	  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 ]

       /usr/mail/<username>	     The incoming mail
       $ELMSTATE	   Status information from elm

       Elm Development Group

       newmail(1L), elm(1L)

       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  be-
       ginning with "From".  This is not a problem when	readmsg	is spawned un-
       der elm because the status information file created by elm says exactly
       how long	each message is.

       Bill Pemberton

       Copyright 1988-1995 by The USENET Community Trust
       Derived from Elm	2.0,  Copyright	1986, 1987 by Dave Taylor

USENET Community Trust		Elm Version 2.5			   READMSG(1L)


Want to link to this manual page? Use this URL:

home | help