MARSHAL(1) MARSHAL(1)
NAME
marshal - formatting and sending mail
SYNOPSIS
upas/marshal [ -[aA] attachment ] [ -C copyaddr ] [ -B
copyaddr ] [ -Fr#xn ] [ -S saveto ] [ -p[es] ] [ -R reply-
msg ] [ -s subject ] [ -t mime-type ] [ -8 | 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
or -Bcopyaddr adds a Cc: or Bcc: header with
copyaddr and also adds copyaddr as a recipient.
-F file the message
-Ssaveto file the message into the saveto mailbox.
-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
Page 1 Plan 9 (printed 11/3/25)
MARSHAL(1) MARSHAL(1)
replymsg environment variable. Thus, pipefrom can
alter the message to somehow match the reply to the
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.
-ps pgp sign the message
-pe pgp encrypt the message
-8 reads recipients ( To: Cc: and Bcc: ) from RFC 822
header of the message
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 overridden using the environment variable upasname. Its
value will become both the envelope and From: mailbox name.
For example:
upasname=natasha@kremvax.com mail boris@squirrel.com
Marshal interprets file attachment headers Attach: and
Include: as if the -A or -a options would have been given.
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 11/3/25)