MARSHAL(1) MARSHAL(1)
NAME
marshal - formatting and sending mail
SYNOPSIS
upas/marshal [ -[aA] attachment ] [ -C copyaddr ] [ -nrx# ]
[ -R reply-msg ] [ -s subject ] [ -t mime-type ] [ mailaddr
... ]
DESCRIPTION
Marshal builds a mail message from standard input and passes
it, if the body is non-empty, for transmission or delivery
to /mail/box/username/pipefrom if it exists, otherwise to
/bin/upas/send. The message format is both RFC 822 and MIME
conformant, so marshal adds any required headers not already
in the message, prefixed by the contents of
/mail/box/username/headers. This allows the addition of
personal headers like From: lines with a full name or a dif-
ferent return address. Command line options direct marshal
to add a subject line and append attachments. The arguments
to marshal are the addresses of the recipients.
When running in a rio(1) window, marshal automatically puts
the window into hold mode (see rio(1)); this means that the
message can be edited freely, because nothing will be sent
to marshal until the ESC key is hit to exit hold mode.
The options are:
-afile directs marshal to append file as a mime attach-
ment. Unless explicitly specified by the -t
option, the type of the attachment is determined by
running the file(1) command.
-Afile is like -a but the message disposition is marked as
inline directing any mail reader to display the
attachment (if it can) when the mail message is
read.
-Ccopyaddr
adds a Cc: header with copyaddr and also adds
copyaddr as a recipient.
-n intentionally no standard input
-#xr are all passed as command line options to the send
that marshal invokes.
-Rreplymsg
tells marshal what message this one is in reply to.
Replymsg is an upasfs(4) directory containing the
message. Marshal uses any message id in this mes-
sage in its In-Reply-To field. It also passes the
directory to /mail/box/username/pipefrom in the
replymsg environment variable. Thus, pipefrom can
alter the message to somehow match the reply to the
Page 1 Plan 9 (printed 10/29/25)
MARSHAL(1) MARSHAL(1)
message it is replying to.
-ssubject
adds a Subject: header line to the message if one
does not already exist.
-ttype sets the content type for the attachments from all
subsequent -a and -A options.
Marshal also expands any user mail aliases contained in
/mail/box/username/names. The format of the alias file is
the same as that for system aliases, see aliasmail(8).
Marshal uses the login name as the reply address. This can
be overriden using the environment variable upasname. Its
value will become both the envelope and From: mailbox name.
For example:
upasname=natasha@kremvax.com upas/mail boris@squirrel.com
FILES
/mail/box/*/dead.letter
SOURCE
/sys/src/cmd/upas/marshal
SEE ALSO
aliasmail(8), faces(1), filter(1), mail(1), mlmgr(1),
nedmail(1), qer(8), rewrite(6), send(8), smtp(8), upasfs(4)
Page 2 Plan 9 (printed 10/29/25)