.TH MARSHAL 1
.SH NAME
marshal \- formatting and sending mail
.SH SYNOPSIS
.B upas/marshal
[
.B -[aA]
.I attachment
] [
.B -C
.I copyaddr
] [
.B -nrx#
] [
.B -R
.I reply-msg
] [
.B -s
.I subject
] [
.B -t
.I mime-type
] [
.I mailaddr ...
]
.SH DESCRIPTION
.I Marshal
builds a mail message from standard input and passes it,
if the body is non-empty,
for transmission or delivery to
.BI /mail/box/ username /pipefrom
if it exists, otherwise to
.BR /bin/upas/send .
The message format is both RFC 822 and
MIME conformant, so
.I marshal
adds any required headers not already in the message, prefixed by
the contents of
.BI /mail/box/ username /headers\f1.
This allows the addition of personal headers like
.B From:
lines with a full name or a different
return address.
Command line options direct marshal to add a subject line
and append attachments. The arguments to
.I marshal
are the addresses of the recipients.
.PP
When running in a
.IR rio (1)
window,
.I marshal
automatically puts the window into hold mode (see
.IR rio (1));
this means that the message can be edited freely,
because nothing will be sent to
.I marshal
until the ESC key is hit to exit hold mode.
.PP
The options are:
.TF "-a file"
.TP
.BI -a file
directs
.I marshal
to append
.I file
as a mime attachment.
Unless explicitly specified by the
.B -t
option, the type of the attachment is determined
by running the
.IR file (1)
command.
.TP
.BI -A file
is like
.B -a
but the message disposition is marked as
.I inline
directing any mail reader to display the attachment
(if it can) when the mail message is read.
.TP
.BI -C copyaddr
adds a
.B Cc:
header with
.I copyaddr
and also adds
.I copyaddr
as a recipient.
.TP
.BI -n
intentionally no standard input
.TP
.B -#xr
are all passed as command line options to the
.I send
that
.I marshal
invokes.
.TP
.BI -R replymsg
tells marshal what message this one is in reply to.
.I Replymsg
is an
.IR upasfs (4)
directory containing the message.
.I Marshal
uses any message id in this message in its
.B In-Reply-To
field. It also passes the directory to
.BI /mail/box/ username /pipefrom
in the
.B replymsg
environment variable. Thus,
.B pipefrom
can alter the message to somehow match
the reply to the message it is replying to.
.TP
.BI -s subject
adds a
.B Subject:
header line to the message if one does not
already exist.
.TP
.BI -t type
sets the content type for the attachments from
all subsequent
.B -a
and
.B -A
options.
.PD
.PP
.I Marshal
also expands any user mail aliases contained in
.BI /mail/box/ username /names.
The format of the alias file is the same as that
for system aliases, see
.IR aliasmail (8).
.PP
.I Marshal
uses the login name as the reply address. This
can be overriden using the environment variable
.BR upasname .
Its value will become both the envelope
and
.B From:
mailbox name.
For example:
.IP
.EX
upasname=natasha@kremvax.com upas/mail boris@squirrel.com
.PP
Entries in /mail/box/username/senders does the equivalent of
overriding upasname for outgoing mail depending on addresses
in the To list - first match wins. The format is To From.
.PP
For instance the line in senders
.EX
9fans@9fans.net matt@proweb.co.uk
.PP
Will set upasname to matt@proweb.co.uk if 9fans@9fans.net is
encountered in the To list before any other entry in senders.
.PP
.EE
.SH FILES
.TP
.B /mail/box/*/dead.letter
.SH SOURCE
.TP
.B /sys/src/cmd/upas/marshal
.SH "SEE ALSO"
.IR aliasmail (8),
.IR faces (1),
.IR filter (1),
.IR mail (1),
.IR mlmgr (1),
.IR nedmail (1),
.IR qer (8),
.IR rewrite (6),
.IR send (8),
.IR smtp (8),
.IR upasfs (4)
|