mail, – mail and mailboxes

mail [ arg ... ]


Mail is a shell script that invokes nedmail(1), the mail reader, when no recipients appear on the command line and marshal(1), the mail preparer, otherwise. All command line options are passed through. See the man pages for those two commands for more details.

Incoming mail for a user username is put in the file /mail/box/username/mbox unless either the file /mail/box/username/forward or /mail/box/username/pipeto exists. The mailbox must have append–only and exclusive–access mode (see chmod(1)). A user must create his or her own mailbox using the –c option of nedmail(1). Mailboxes are created writable (append–only) but not readable by others.

If the file /mail/box/username/forward exists and is readable by everyone, incoming mail will be forwarded to the addresses contained in the first line of the file. The file may contain multiple addresses. Forwarding loops are caught and resolved by local delivery.

If the file /mail/box/username/pipeto exists and is readable and executable by everyone, it will be run for each incoming message for the user. The message will be piped to it rather than appended to his/her mail box. The file is run as user none. Its two arguments are the with arguments of the destination address (e.g., local!gremlin) and the user's mail box path (e.g., /mail/box/gremlin/mbox)


To use mail as an answering machine while you are away, run, which will create /mail/box/$user/ as a flag for pipeto processing, and truncate /mail/box/$user/gone.addrs. Any existing pipeto file that uses /mail/lib/pipeto.lib will invoke the machinery when it calls spool or spool–tagged–spam.

If /mail/box/$user/gone.msg exists, it will be sent (just once) to everyone who sends you mail that lists your address in a To or Cc header; if not, /mail/lib/gone.msg will be sent. Upon your return, remove /mail/box/$user/ to stop automatic responses.

/sys/log/mail                 mail log file
/mail/box/*                   mail directories
/mail/box/*/mbox              mailbox files
/mail/box/*/forward           forwarding address(es)
/mail/box/*/pipeto            mail filter
/mail/box/*/L.reading          mutual exclusion lock for multiple mbox readers
/mail/box/*/L.mbox            mutual exclusion lock for altering mbox
/lib/face/48x48x?             directories of icons for seemail
/mail/lib/pipeto.lib          helper functions for pipeto files
/mail/lib/gone.msg            default vacation message
/mail/lib/         auto–responder as pipeto script
/mail/box/$user/   flag to active gone processing
/mail/box/$user/gone.addrs     list of senders answered by


aliasmail(8), faces(1), filter(1), marshal(1), mlmgr(1), nedmail(1), qer(8), rewrite(6), send(8), smtp(8), upasfs(4)
Copyright © 2024 Plan 9 Foundation