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 different 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 attachment. 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.
Ccopyaddror –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.
Rreplymsgtells 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 message 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 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 overriden 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)