term% cat index.txt MAIL(7) Miscellaneous Information Manual MAIL(7)
NAME
mail - address conventions and rewrite rules
DESCRIPTION
Mail(1) accepts and converts among the addressing conventions of sev‐
eral computer networks, according to rules given in the file
/usr/lib/upas/rewrite. Each line of the file is a rule. Blank lines
and lines beginning with ´#´ are ignored.
Each rewriting rule consists of (up to) 6 strings:
pattern
An ed(1)-like regular expression, with simple parentheses ()
playing the role of \(\) and with the + and ? operators of
egrep(1). The pattern is applied to mail addresses.
command
An ed(1) style replacement string to generate a command to de‐
liver messages to the destination matched by the pattern. The
substring ‘\s', is replaced by the login id of the sender. The
default is no command.
next hop
An ed(1) style replacement string that represents the name of
next routing hop. The default is the empty string. See the
section below on forwarding.
next address
An ed(1) style replacement string that represents the address as
it will be seen at the next hop. The default is the empty
string. See the section below on forwarding.
conversion
The name of the conversion that must be performed before the
message is piped to the command. If this field is empty, no
conversion is performed. The only conversion now known is
rfc822, which makes the message conform to the ARPA RFC 822
mailer standard.
system The name to use for the current system. The default name is
found in /etc/whoami.
Each field, except for pattern, is optional if it and all fields fol‐
lowing it are to assume the default values. Any empty field (e.g.
‘‘'') assumes the default value.
When delivering a message, mail starts with the first rule and contin‐
ues down the list until a pattern matches the destination address. If
the rule contains no command, the mail is appended to the user's mail‐
box in the standard way (see mail(1)). If the rule does contain a com‐
mand, upas(8) starts the command and pipes the message to it, perform‐
ing any requested conversion.
Forwarding is controlled using the next hop and next address fields and
the forwarding files. Using these fields, the rewriting rules are re‐
cursively applied to the source and destination addresses. If all hops
in either source or destination are in the forwarding files, forwarding
is allowed. If the forwarding files do not exist, blanket forwarding
is assumed.
EXAMPLES
Rewriting rules for major networks are:
network: UUCP (machine!machine!...!person)
^([^!]+)!([^!]+)$ \1 \
"uux 2>>/tmp/uuxl - -a \s \1!rmail \\(\2\\)"
^([^!]+)!((.+!)?([^!]+)![^!]+)$ \4 "uux - -a \s \1!rmail
\\(\2\\)"
network: ARPANET (arpa!person@machine)
^arpa!(.+)$ csnet "cs-inject \1.csnet-relay" rfc822
network: CSNET (csnet!person@machine)
^csnet!(.+)$ csnet "cs-inject \1.csnet-relay" rfc822
network: CSNET or ARPANET (person@machine)
^.+[@%.][^@%.]+$ csnet "cs-inject &.csnet-relay" rfc822
network: ACSNET (acsnet!person@machine.acsnet)
^acsnet!(.+)$ ACSnet "acs-inject \1" rfc822
network: BITNET (bitnet!person@machine)
^bitnet!(.+)[.@](.+)$ csnet
"cs-inject \1%\2.bitnet@wiscvm.arpa.csnet-relay" rfc822
The address on incoming mail depends largely on the originating mail
program. However, the following can usually be relied upon to reach CS
researchers at Bell Labs.
UUCP: research!person
CSNET: person@btl or person.machine@btl
ARPANET: person@btl.csnet or person.btl@csnet-relay
ACSNET: person@research or research!person
BITNET: person%btl.csnet@wiscvm
If in any of the above addresses, ‘person' is not on research, use ‘ma‐
chine!...!person' in place of ‘person'.
FILES
/usr/lib/upas/rewrite the rewriting rules
SEE ALSO
uucp(1), mail(1), upas(8)
MAIL(7)