Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ smail(8) — Interactive 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mail(1)

uucp(1)

uux(1C)

sendmail(8)

aliases(5)

paths(5)



          smail(8)             INTERACTIVE UNIX System             smail(8)



          NAME
               smail, rmail - UUCP mailer with routing

          SYNOPSIS
               smail [ options ] address ...
               rmail [ options ] address ...

          DESCRIPTION
               The smail/rmail program replaces /bin/rmail (rmail(1)) to
               become the UUCP mail transport mechanism.  They are links to
               the same executable.  rmail receives mail from UUCP; smail
               introduces mail into UUCP.

               smail/rmail can work with or without sendmail(8) or another
               intelligent mail system.  For hosts with only /bin/mail
               (mail(1)), smail/rmail subsumes some of the functions of
               sendmail, and hands only local mail to /bin/mail.  For hosts
               with sendmail, smail/rmail can act as UUCP frontends and
               backends to sendmail, allowing sendmail to process all mail
               through the host.  As distributed, bang mail that is not
               bound for a local recipient will be passed directly to uux
               without calling sendmail.

               To varying degrees, smail/rmail automatically routes the
               addresses it processes.  smail/rmail most often routes
               domain-style addresses (i.e., user@domain), producing a UUCP
               path (i.e., host!address) or a local address (i.e., user),
               but it can also reroute explicit UUCP paths.

             Options
               -A   Print the resolved addresses.  Do not collect a message
                    or invoke a mailer.

               -d   Be verbose and do not invoke other mailers.

               -v   Be verbose, but still invoke other mailers.

               -h hostname
                    Set hostname.  The default is configuration dependent,
                    but it is usually provided by a system call such as
                    gethostname(2) or uname(2).

               -H hostdomain
                    Set hostdomain.  The default is configuration depen-
                    dent.

               -F address
                    Use address on the ``From:'' line in locally generated
                    mail.

               -p pathfile
                    Set path database file name if it is not
                    /usr/lib/uucp/paths.


          Rev.                                                       Page 1





          smail(8)             INTERACTIVE UNIX System             smail(8)



               -a aliasfile
                    For sites without sendmail, set alias database file
                    name if not in the place defined at compile time (see
                    ALIAS in /etc/default/smail).  This is usually
                    /usr/lib/aliases.

               -n namelist
                    smail supports another type of aliasing intended for
                    full name resolution using a sorted file called namel-
                    ist which contains name/address pairs.  This allows
                    mail to George.P.Burdell@gatech.edu to be delivered
                    correctly.  These aliases are very simple since they
                    are not composed of long lists of recipients for each
                    alias.  They are also numerous, because mail to
                    George.P.Burdell may be addressed to Burdell,
                    G.Burdell, George.Burdell, P.Burdell, G.P.Burdell, or
                    George.P.Burdell.  This simpler form of aliasing uses
                    the same fast searching algorithm that is used for the
                    paths file, so it keeps resolution time manageable.

               -q number
                    Take number as the queueing threshold.  When routing
                    mail (-r, -R, or domain addressed mail) to a given
                    host, if the cost listed in the paths file is less than
                    the queueing threshold, then the mail will be sent
                    immediately.  This overrides the default threshold (see
                    QUEUECOST in /etc/default/smail) of DEDICATED+LOW.

               -m number
                    At most, number jobs will be handed to uux for immedi-
                    ate delivery by a single invocation of smail (see MAX-
                    NOQUEUE in /etc/default/smail).

               -u uuxflags
                    Use uuxflags as the flags passed to uux for remote
                    mail.  This overrides any of the default values and
                    other queueing strategies.

               -c   Consult the paths file for the cost of the path even
                    when not routing the mail.  This makes it possible to
                    use the cost information when sending pure UUCP path
                    mail without rerouting it.

               -r   Route the first component of a UUCP path (host!address)
                    in addition to routing domain addresses (user@domain).

               -R   Reroute UUCP paths, trying successively larger right-
                    hand substrings of a path until a component is recog-
                    nized.

               -l   Instead of routing a domain address, send it to the
                    local mailer for processing.  Normally, only local
                    addresses go to the local mailer.


          Rev.                                                       Page 2





          smail(8)             INTERACTIVE UNIX System             smail(8)



               -L   Send all addresses to the local mailer for processing,
                    including UUCP paths.

               Most of the flags are also compile time options, since uux
               does not normally invoke rmail with the desired flags.
               smail resets any preset -l or -L flags.  The -l flag causes
               rmail to send all domain addresses through the local mailer,
               to process addresses for non-UUCP domains.  The -L flag
               causes rmail to send even explicit UUCP paths through the
               local mailer, presumably to make use of other transport
               mechanisms.  In both cases, rmail defers any routing until
               smail assumes control of it.

             Configuration
               The configuration of the smail program can be changed by
               editing the file /etc/default/smail.  Remove the comment
               character (#) in front of the option that you want to change
               and enter the new value after the equal sign (=).  The con-
               figurable options and their defaults are listed below.

               HOSTNAME
                    The literal name of this host.  If defined, HOSTNAME is
                    used instead of calling uname() to determine the local
                    hostname.

               MYDOM .uucp
                    The literal domain suffix for this host.  The suffix
                    .uucp here is used only for testing; you should use a
                    site name that has been registered with COM, EDU, etc.

               HOSTDOMAIN
                    Defining this overrides the default HOSTNAME.MYDOM.

               DOMGATE no
                    Act as a Domain Gateway.  If defined, DOMGATE (DOMain
                    GATEway) will cause addresses of the form:

                    user@MYDOM or MYDOM!user

               (with and without the leading dot (.)  on MYDOM) to be
               treated simply as user - a purely local address.  Then, it
               is left to the aliasing code to map it back to a non-local
               address if necessary.

               HIDDENHOSTS no
                    Hide subdomains of hostdomain.  Allows hosts that serve
                    as domain gateways to hide the subdomains beneath them.
                    Mail that originates at any of the hosts in the sub-
                    domain will appear to come from the gateway host.
                    Thus, mail from

                    anything.hostdomain!user



          Rev.                                                       Page 3





          smail(8)             INTERACTIVE UNIX System             smail(8)



               will appear to come from

                    hostdomain!user

               A consequence of this is that return mail to hostdomain!user
               would need to be forwarded to the proper subdomain via
               aliases or other forwarding facilities.  If you are using
               sendmail, if HIDDENHOSTS is defined here, it should be used
               in ruleset 4 of the sendmail.cf, too.

               SMARTHOST smart-host
                    pathalias alias for relay host.  Mail that would other-
                    wise be undeliverable will be passed to the aliased
                    SMARTHOST for potential delivery.  It is important to
                    receive prior approval to use the host you specify in
                    your pathalias input as a relay.  If you are using foo-
                    vax as your relay, and you define SMARTHOST as smart-
                    host, then the pathalias alias would be:

                    smart-host = foovax

               FULLNAME
                    Full name and address pairs.  Defining FULLNAME means
                    that Full Name resolution will be attempted when neces-
                    sary.  The Full Name information will be taken from a
                    list of {Full Name, address} pairs.  The names in the
                    list must be sorted without regard to
                    uppercase/lowercase; all full name searches are case
                    insensitive.

               PATHS /usr/lib/uucp/paths
                    The name of the pathalias database file.

               LOG  Log file of UUCP mail addresses.  Define LOG if you
                    want a log of mail.  This can be handy for debugging
                    and traffic analysis.

               RECORD
                    Record file of UUCP mail.  Define RECORD in order to
                    get a copy of all mail sent.  This uses a great deal of
                    time and space, so it is only used for extreme debug-
                    ging cases.

               DEFQUEUE yes
                    Queue uux mail instead of sending it immediately.

               QUEUECOST 100
                    Remote mail with a cost of less than QUEUECOST will be
                    handed to uux for immediate delivery.

             Addresses
               smail/rmail understands user@domain to be a domain address,
               host!address to be a UUCP path, and anything else to be a


          Rev.                                                       Page 4





          smail(8)             INTERACTIVE UNIX System             smail(8)



               local address.

               Because some versions of rmail unpredictably interpret mixed
               UUCP/domain addresses, smail/rmail understands domain!user
               to be a domain address, and generates path!domain!user when
               mailing to a cognate smail/rmail host.  To distinguish
               domain domain!user from UUCP host!address, domain contains
               at least one (1) dot.  Unlike the old versions of
               /bin/rmail, smail/rmail gives precedence to @ over ! when
               parsing mixed addresses.  Thus, a!b@c is parsed as (a!b)@c,
               rather than a!(b@c).

             Routing
               Because smail/rmail is the UUCP transport mechanism, it can
               only effect delivery on UUCP paths and local addresses;
               domain addresses require resolution into UUCP paths or local
               addresses. To resolve a domain address, smail/rmail finds a
               route to the most specific part of the domain specification
               listed in the routing table.  Two degrees of resolution can
               occur:

               Full resolution:
                         smail/rmail finds a route for the entire domain
                         specification, and tacks the user specification
                         onto the end of the UUCP path.  The address can
                         also fully resolve to a local address (the UUCP
                         path is null).

               Partial resolution:
                         smail/rmail finds a route for only the right-hand
                         part of the domain specification, so it tacks the
                         complete address (in the form domain!user) onto
                         the end of the UUCP path.  Since this syntax is
                         not widely understood, UUCP gateways listed in the
                         path database must install new UUCP software,
                         either smail/rmail or new sendmail configuration
                         files (or both).

               It is an error if a partially resolved address routes to the
               local host (a null UUCP path), since according to the rout-
               ing table, the local host is responsible for resolving the
               address more fully.

               The -r flag causes smail/rmail to attempt to route only the
               first component of a UUCP path.  If this fails, it passes
               the unrouted address to uux, in case the path database is
               not complete.  The -R flag causes smail/rmail to take a UUCP
               path and route the rightmost component of the path (save the
               user name) possible.  This is mostly for hosts that have
               very up-to-date routing tables.

               If a route cannot be discerned from the available routing
               database, then one more attempt to route the mail is made by


          Rev.                                                       Page 5





          smail(8)             INTERACTIVE UNIX System             smail(8)



               searching for an entry in the database for a route to a
               smart-host.  If this entry exists, then the mail will be
               forwarded along that route to be delivered.  This allows a
               host to depend on another (presumably better informed) host
               for delivering its mail.  This kind of arrangement should be
               made in advance with the smart-host's system administrator.

               After smail/rmail resolves an address, it reparses it to see
               if it is now a UUCP path or local address.  If the new
               address turns out to be another domain address, smail com-
               plains because a domain name should always resolve to either
               a UUCP path or the local host.

               By default, smail will not alter the explicit bang path
               routing of any mail message.  If the stated path is unusable
               (i.e., the next hop host is unknown), then smail will apply
               ALWAYS routing, and attempt to deliver the mail to the
               potentially new address.  If this fails too, then REROUTE
               routing will be applied to the address, and another attempt
               to deliver is made.  Lastly, an attempt to find a path to a
               better informed host smart-host will be made and the mail
               passed to that host.

             From Lines
               smail/rmail collapses ``From'' and ``>From'' lines to gen-
               erate a simple from argument which it can pass to sendmail
               or use to create its own ``From'' line.  The rule for
               ``fromming'' is concatenate each ``remote from'' host
               (separating them by !'s), and tack on the address on the
               last ``From'' line; if that address is in user@domain for-
               mat, rewrite it as domain!user; ignore host or domain if
               either is simply the local hostname.  It also removes redun-
               dant information from the ``From'' line.  For instance:

                     ...!myhost!myhost.mydomain!...

               becomes:

                     ...!myhost!...

               Leading occurrences of the local host name are elided as
               well.

               smail/rmail generates it own ``From'' line, unless it is
               feeding sendmail, which accepts the -ffrom argument.  For
               UUCP bound mail, smail/rmail generates a ``remote from host-
               name,'' where hostname is the UUCP hostname (not the domain
               name), so that ``From'' can indicate a valid UUCP path,
               leaving the sender's domain address in ``From:.''

             Headers
               Certain headers (``To:,'' ``From:,'' ``Date,'' etc.) are
               required by RFC822.  If these headers are absent in locally


          Rev.                                                       Page 6





          smail(8)             INTERACTIVE UNIX System             smail(8)



               generated mail, they will be inserted by smail.  Also, a
               line of trace information, called a ``Received:'' line, will
               be inserted at the top of each message.

             Undeliverable Mail"
               Although nobody likes to have a mail message fail to reach
               its intended destination, it sometimes happens that way.
               Mail that is found to be undeliverable (i.e., unknown user
               or unknown host) will be returned to the sender.

          FILES
               /usr/lib/uucp/paths
                              ASCII path database

               /usr/lib/aliases
                              ASCII alias database

               /usr/spool/uucp/mail.log
                              log of mail

               /tmp/mail.log  record of mail

          SEE ALSO
               mail(1), uucp(1), uux(1C), sendmail(8).
               aliases(5), paths(5) in the INTERACTIVE SDS Guide and
               Programmer's Reference Manual.





























          Rev.                                                       Page 7



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026