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 11/18/24)

     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 11/18/24)