pathto, uupath - calculate mail paths
pathto [ -tdnsv ] address ...
uupath [ -tsv ] [ sitename|domain|path ] ...
These commands query the mail routing databases to determine which paths
will be used in sending mail to the specified hosts or addresses.
The pathto(1) command takes the address of a user and determines the path
that smail(8) would use for delivery. For historical reasons, the
resulting path is rewritten as a UUCP-style `!'-path by default, even
though this form may not be used by smail for delivery. The leading
sitename in the path is the site towards which smail(8) will make a
delivery. The leading sitename may be followed by a route to the target
of the address if the leading sitename and target are different. The
remainder of the argument, if anything, is added on to the end. This
command advises you on how smail(8) will handle an address but does not
give the actual address that smail(8) will use, unless the -n option
The uupath(1) command attempts to compute paths from your machine to
other machines. If the argument is the name of a site such as nsavax, or
nsavax.nsa.gov, or if it is the name of a domain such as .nsa.gov, then
the uupath(1) program will try to produce a path to that site or domain.
If the argument is a `!'-path, then uupath computes a route to the first
site, and appends the remainder of the path onto it. For historical
reasons, the resultant string will be ``%s'', if the host is the local
It is important to note that uupath arguments relate to sitenames, while
the pathto arguments relate to addresses of users. The command:
will compute a path to the SITE named namei, while the command:
will ``compute a path'' to the USER named namei on the local machine.
All three commands take hosts and addresses from the arguments, or from
standard input if none are given as arguments. The following options are
-s If smart-host routing is enabled in the smail routing databases,
then -s will cause smart-host routing used as a last resort in
computing paths. By default, smart-host routing is not taken into
account by these commands. A smart-host router will route an
address to a remote host that supposedly has a larger or more up-to-
date routing database than the local host.
-d By default, pathto does not examine what will happen when mail is
actually delivered to the final user(s). If the final users are on
the local system, then -d will apply any aliasing, forwarding or
mailing lists expansions. The order and number of arguments will
not necessarily correspond to the order and number of output address
when this option is used.
-n uupath will always produce a pure UUCP path, and by default so will
will pathto, in the interest of backward compatibility. The -n flag
will generate other addressing forms if they would actually be used
by smail for delivery. With the -n option, the pathto command will
print the next-hop host that a particular address would be sent to
(or it will print ``local'' if the address would be delivered
locally), and it will print the address that smail will give to the
next-hop. The next-hop host and the address are separated by :: and
-t Announce the name of the transport that would be used in delivering
to an address, if the transport is known. Local addresses that are
not resolved using the -d flag will not produce a tranport because
the specific local transport cannot determined without applying the
-v Be verbose, announcing each important state of address resolution as
it occurs. The verbose messages are written to standard error.
The following examples assume the following routing configuration will be
used to compute path information:
a. a list of known local host names: amdahl, uts.amdahl.com and
b. a pathalias(8) database containing the lines:
where each path will use UUX for delivery.
c. a known network connection to the host eek, which is also known as
d. domains of the form [number.number.number.number] are recognized as
internet numbers to be delivered using TCP/IP.
e. the path namei!glotz!nsavax is used as a smart-host path for
addresses the localhost cannot route.
The following commands, in italic, will produce the corresponding output:
$ uupath nsavax mit-prep uts.amdahl.com
uupath: no route found to mit-prep
$ uupath -s mit-prep!rms
$ pathto @eek.uts.amdahl.com:email@example.com
$ pathto -n @[220.127.116.11]:firstname.lastname@example.org
[18.104.22.168] :: email@example.com
$ pathto brown@nsavax
An error message will be written to standard error if there is a syntax
error in an address, or if no path can be found for an address and smart-
host routing is not being used. In case of such errors, these programs
return an appropriate exit code from the file /usr/include/sysexits.h;
e.g., EX_DATAERR or EX_NOHOST.
/usr/lib/smail/paths Standard ascii path database.
/usr/lib/smail/routers Smail routing configuration.
smail(8), smail(5), pathalias(8) and pathalias(5).
Your local site does not always know a correct path to every site.
Routing is only as good as your routing information. Smail cannot
compensate for out-of-date or poorly syncronized databases.
Copyright(C)1987, 1988 Ronald S. Karr and Landon Curt Noll
Copyright(C)1992 Ronald S. Karr
See a file COPYING, distributed with the source code, or type smail -bc
for distribution rights and restrictions associated with this software.