forw - forward nmh messages
forw
[-help] [-version] [+folder] [msgs]
[-annotate | -noannotate] [-form formfile]
[-format | -noformat] [-filter filterfile]
[-inplace | -noinplace] [-mime | -nomime]
[-draftfolder +folder] [-draftmessage msg]
[-nodraftfolder] [-editor editor] [-noedit]
[-width columns] [-from address] [-to
address] [-cc address] [-fcc +folder]
[-subject text] [-whatnowproc program]
[-nowhatnowproc] [-dashstuffing | -nodashstuffing]
[-build] [-file msgfile]
forw
[-help] [-version] [+folder] [msgs]
[-digest list] [-issue number] [-volume
number] [other switches for forw]
forw constructs a new message from a forms (components) file, with a body
composed of the message(s) to be forwarded. An editor is invoked and, after
editing is complete, the user is prompted before the message is sent.
The default message template will direct
forw to construct the draft as
follows:
From: {from switch} or <Local-Mailbox> or <username@hostname>
To: {to switch} or blank
Fcc: {fcc switch} or +outbox
Subject: {subject switch} or "{original subject} (fwd)"
--------
If a file named “
forwcomps” exists in the user's nmh
directory, it will be used instead of this default form. You may also specify
an alternate forms file with the switch
-form formfile. Forms
are processed via the
nmh template system; see
mh-format(5) for
details. Components from the first forwarded message are available as standard
component escapes in the forms file.
In addition to the standard
mh-format escapes, the following
component escapes are also supported:
Escape Returns Description
fcc string Any folders specified with `-fcc folder'
nmh-from string Addresses specified with `-from address'
nmh-to string Addresses specified with `-to address'
nmh-cc string Addresses specified with `-cc address'
nmh-subject string Any text specified with `-subject text'
By default, the “To:” and “cc:” fields are empty.
You may add addresses to these fields with the
-to address and
-cc address switches. You may give these switches multiple times
to add multiple addresses.
By default, the “From:” field contains either the value of the
Local-Mailbox profile entry, or a system default email address. This
default can be overridden by using the
-from address switch. The
default mailbox in the “Fcc:” field is
+outbox. This can
be overridden by the
-fcc switch.
Any text given to the
-subject switch will be placed in the
“Subject:” field in the draft.
If the draft already exists,
forw will ask you as to the disposition of
the draft. A reply of
quit will abort
forw, leaving the draft
intact;
replace will replace the existing draft with a blank skeleton;
and
list will display the draft.
If the
-annotate switch is given, each message being forwarded will be
annotated with the lines:
Forwarded: date
Forwarded: addrs
where each address list contains as many lines as required. This annotation will
be done only if the message is sent directly from
forw. If the message
is not sent immediately from
forw, “
comp
-use” may be used to re-edit and send the constructed message,
but the annotations won't take place. Normally, annotations are done in place
in order to preserve any links to the message. You may change this by using
the
-noinplace switch.
See
comp(1) for a description of the
-editor and
-noedit
switches.
Although
forw uses a forms (components) file to construct the initial
draft, a message filter file is used to format each forwarded message in the
body of the draft. The filter file for
forw should be a standard form
file for
mhl(1), as
forw will invoke
mhl to filter
(re-format) the forwarded messages prior to being output to the body of the
draft.
The switches
-noformat,
-format, and
-filter
filterfile specify which message filter file to use. If
-noformat is specified (this is the default), then each forwarded
message is output into the draft exactly as it appears, with no
mhl
filtering. If
-format is specified, then the following default message
filter file, “
mhl.forward”
, which should be
adequate for most users, is used:
; mhl.forward
;
; default message filter for `forw' (forw -format)
;
width=80,overflowtext=,overflowoffset=10
leftadjust,compress,compwidth=9
Date:formatfield="%<(nodate{text})%{text}%|%(tws{text})%>"
From:
To:
cc:
Subject:
:
body:nocomponent,overflowoffset=0,noleftadjust,nocompress
If a file named “
mhl.forward” exists in the user's nmh
directory, it will be used instead. You may specify an alternate message
filter file with the switch
-filter filterfile.
Each forwarded message is separated with an encapsulation delimiter. By default,
any dashes in the first column of the forwarded messages will be prepended
with `- ' so that when received, the message is suitable for bursting
by
burst(1). This follows the guidelines in RFC 934. You may use the
-nodashstuffing switch to suppress this form of quoting.
Users of
prompter(1) can, by specifying
prompter's
-prepend
switch in the
.mh_profile file, prepend any commentary text before the
forwarded messages.
To use the MIME rules for encapsulation, specify the
-mime switch. This
directs
forw to generate an
mhbuild composition file. Note that
nmh will not invoke
mhbuild automatically; you must specifically
give the command
prior to sending the draft.
The
-draftfolder +folder and
-draftmessage msg
switches invoke the
nmh draft folder facility. This is an advanced (and
highly useful) feature. Consult
mh-draft(5) for more information.
The
-editor editor switch indicates the editor to use for the
initial edit. Upon exiting from the editor,
comp will invoke the
whatnow program. See
whatnow(1) for a discussion of available
options. The invocation of this program can be inhibited by using the
-nowhatnowproc switch. (In fact, it is the
whatnow program which
starts the initial edit. Hence,
-nowhatnowproc will prevent any edit
from occurring.)
The
-build switch is intended to be used by the Emacs mh-e interface to
nmh. It implies
-nowhatnowproc. It causes a file
<mh-dir>/draft to be created, containing the draft message that would
normally be presented to the user for editing. No mail is actually sent.
The
-file msgfile switch specifies the message to be forwarded as
an exact filename rather than as an
nmh folder and message number. This
switch implies
-noannotate. The forwarded message is simply copied
verbatim into the draft; the processing implied by the
-filter,
-mime, and
-digest switches is bypassed, and the usual leading
and trailing 'Forwarded Message' delimiters are not added. The same caveats
apply to this option as to the
-build switch.
The
-digest list,
-issue number, and
-volume
number switches implement a digest facility for
nmh. Specifying
these switches enables and/or overloads the following escapes:
Type Escape Returns Description
component digest string Argument to `-digest'
function cur integer Argument to `-volume'
function msg integer Argument to `-issue'
forw looks for format and filter files in multiple locations: absolute
pathnames are accessed directly, tilde expansion is done on usernames, and
files are searched for in the user's
Mail directory as specified in
their profile. If not found there, the directory
“
/etc/nmh” is checked.
- /etc/nmh/forwcomps
- The default message skeleton.
- <mh-dir>/forwcomps
- The user's message skeleton.
- /etc/nmh/digestcomps
- The default message skeleton if -digest is
given.
- <mh-dir>/digestcomps
- The user's -digest skeleton.
- ^/etc/nmh/mhl.forward
- The default message filter.
- <mh-dir>/mhl.forward
- The user's message filter.
- ^$HOME/.mh_profile
- The user's profile.
- Path:
- To determine the user's nmh directory.
- Current-Folder:
- To find the default current folder.
- Draft-Folder:
- To specify the default draftfolder.
- Editor:
- To override the default editor.
- Msg-Protect:
- To set mode when creating a new message (draft).
- fileproc:
- Program to refile the message.
- mhlproc:
- Program to filter messages being forwarded.
- whatnowproc:
- Program to ask the “What now?”
questions.
burst(1),
comp(1),
mh-draft(5),
mh-format(5),
mhbuild(1),
mhl(1),
prompter(1),
repl(1),
send(1),
whatnow(1)
Proposed Standard for Message Encapsulation (RFC 934)
- +folder
- The current folder.
- msgs
- The current message.
- -noannotate
- -nodraftfolder
- -noformat
- -inplace
- -dashstuffing
- -nomime
If a folder is given, it will become the current folder. The first message
forwarded will become the current message.
If
whatnowproc is
whatnow, then
forw uses a built-in
whatnow, it does not actually run the
whatnow program. Hence, if
you define your own
whatnowproc, don't call it
whatnow since
forw won't run it.
When
forw is told to annotate the messages it forwards, it doesn't
actually annotate them until the draft is successfully sent. If, from the
whatnowproc, you
push instead of
send, it is possible to
confuse
forw by re-ordering the file (e.g. by using
“
folder -pack”) before the message is successfully
sent.
dist and
repl don't have this problem.