Annotation of coherent/d/bin/mail/smail/docs/smail.8, revision 1.1

1.1     ! root        1: .TH SMAIL 8
        !             2: .SH NAME
        !             3: smail, rmail \- UUCP mailer with routing
        !             4: .SH SYNOPSIS
        !             5: .B smail
        !             6: [ options ] address ...
        !             7: .br
        !             8: .B rmail
        !             9: [ options ] address ...
        !            10: .SH DESCRIPTION
        !            11: The
        !            12: .I smail/rmail
        !            13: program replaces
        !            14: .IR /bin/rmail (1)
        !            15: to become the UUCP mail transport mechanism.
        !            16: They are links to the same executable.
        !            17: .I rmail
        !            18: receives mail from UUCP,
        !            19: .I smail
        !            20: introduces mail into UUCP.
        !            21: .PP
        !            22: .I smail/rmail
        !            23: can work with or without
        !            24: .IR sendmail (8),
        !            25: or another intelligent mail system.
        !            26: For hosts with just
        !            27: .IR /bin/mail (1),
        !            28: .I smail/rmail
        !            29: subsumes some of the functions of
        !            30: .I sendmail,
        !            31: and hands only local mail to
        !            32: .I /bin/mail.
        !            33: For hosts with
        !            34: .I sendmail,
        !            35: .I smail/rmail
        !            36: can act as UUCP front and back ends to
        !            37: .I sendmail,
        !            38: allowing
        !            39: .I sendmail
        !            40: to process all mail through the host.
        !            41: As distributed, 'bang' mail that is not bound for a local
        !            42: recipient will be passed directly to
        !            43: .I uux
        !            44: without calling
        !            45: .I sendmail.
        !            46: .PP
        !            47: To varying degrees,
        !            48: .I smail/rmail
        !            49: automatically routes the addresses it processes.
        !            50: .I smail/rmail
        !            51: most often routes domain style addresses (i.e. user@domain), producing
        !            52: a UUCP path (i.e. host!address) or a local address (i.e. user), but it can
        !            53: also reroute explicit UUCP paths.
        !            54: .SH OPTIONS
        !            55: .TP
        !            56: .B \-A
        !            57: Print the resolved addresses.  Don't collect a message or invoke a mailer.
        !            58: .TP
        !            59: .B \-d
        !            60: Be verbose and don't invoke other mailers.
        !            61: .TP
        !            62: .B \-v
        !            63: Be verbose, but still invoke other mailers.
        !            64: .TP
        !            65: .BI \-h " hostname"
        !            66: Set hostname.  The default is configuration dependent, but usually provided
        !            67: by a system call such as
        !            68: .IR gethostname (2)
        !            69: or
        !            70: .IR uname (2).
        !            71: .TP
        !            72: .BI \-H " hostdomain"
        !            73: set hostdomain.  The default is configuration dependent.
        !            74: .TP
        !            75: .BI \-F " address"
        !            76: use
        !            77: .I address
        !            78: on the From: line in locally generated mail.
        !            79: .TP
        !            80: .BI \-p " pathfile"
        !            81: Set path database file name if not /usr/lib/uucp/paths.
        !            82: .TP
        !            83: .BI \-a " aliasfile"
        !            84: For sites without sendmail, set alias database file name if not in
        !            85: the place defined at compile time (see ALIASES in defs.h).
        !            86: This is usually
        !            87: .I /usr/lib/aliases
        !            88: .TP
        !            89: .BI \-n " namelist"
        !            90: .I smail
        !            91: supports another type of aliasing intended for full name resolution
        !            92: using a sorted file,
        !            93: .I namelist,
        !            94: of name/address pairs.
        !            95: This allows mail to [email protected] to be delivered
        !            96: appropriately.  These aliases are by their nature very simple
        !            97: since they are not composed of long lists of recipients for each alias.
        !            98: They are also numerous, since mail to George.P.Burdell may be addressed
        !            99: to Burdell, G.Burdell, George.Burdell, P.Burdell, G.P.Burdell, or
        !           100: George.P.Burdell.  This simpler form of aliasing uses the same
        !           101: fast searching algorithm that is used for the paths file, so
        !           102: it keeps resolution time manageable.
        !           103: .TP
        !           104: .BI \-q " number"
        !           105: Take
        !           106: .I number
        !           107: as the queueing threshold.
        !           108: When routing mail (
        !           109: .I -r, -R,
        !           110: or domain addressed mail
        !           111: ) to a given host, if the cost listed in the
        !           112: .I paths
        !           113: file is less than the queueing threshold, then the mail
        !           114: will be sent immediately.  This overrides the default threshold
        !           115: (see QUEUECOST in defs.h) of DEDICATED+LOW.
        !           116: .TP
        !           117: .BI \-m " number"
        !           118: At most 
        !           119: .I number
        !           120: jobs will be handed to uux for immediate delivery
        !           121: by a single invocation of
        !           122: .I smail
        !           123: (see MAXNOQUEUE in defs.h).
        !           124: .TP
        !           125: .BI \-u " uuxflags"
        !           126: Use
        !           127: .I uuxflags
        !           128: as the flags passed to uux for remote mail.
        !           129: This overrides any of the default values and other queueing strategies.
        !           130: .TP
        !           131: .B -c
        !           132: Consult the paths file for the cost of the path even when not routing
        !           133: the mail.  This makes it possible to use the cost information when
        !           134: sending pure UUCP path mail without rerouting it.
        !           135: .TP
        !           136: .B \-r
        !           137: Route the first component of a UUCP path (host!address) in addition to routing
        !           138: domain addresses (user@domain).
        !           139: .TP
        !           140: .B \-R
        !           141: Reroute UUCP paths, trying successively larger righthand substrings
        !           142: of a path until a component is recognized.
        !           143: .TP
        !           144: .B \-l
        !           145: Instead of routing a domain address, send it to the local mailer for
        !           146: processing.  Normally, only local addresses go to the local mailer.
        !           147: .TP
        !           148: .B \-L
        !           149: Send all addresses to the local mailer for processing, including UUCP paths.
        !           150: .PP
        !           151: Most of the flags are also compile time options, since
        !           152: .I uux
        !           153: does not normally invoke
        !           154: .I rmail
        !           155: with the desired flags.
        !           156: .I smail
        !           157: resets any preset
        !           158: .B -l
        !           159: or
        !           160: .B -L
        !           161: flags.
        !           162: .B -l
        !           163: flag causes 
        !           164: .B rmail
        !           165: to send all domain addresses through the local mailer,
        !           166: to process addresses for non UUCP domains.
        !           167: The
        !           168: .B -L
        !           169: flag causes
        !           170: .B rmail
        !           171: to send even explicit UUCP paths through the local mailer,
        !           172: presumably to make use of other transport mechanisms.
        !           173: In both cases, rmail defers any routing until smail gets hold it.
        !           174: .SH ADDRESSES
        !           175: .I smail/rmail
        !           176: understands "user@domain" to be a domain address, "host!address" to be a
        !           177: UUCP path, and anything else to be a local address.
        !           178: .PP
        !           179: Because hostile
        !           180: .I rmail's
        !           181: unpredictably interpret mixed UUCP/domain addresses,
        !           182: .I smail/rmail
        !           183: understands "domain!user" to be a domain address, and generates
        !           184: "path!domain!user" when mailing to a cognate
        !           185: .I smail/rmail
        !           186: host.
        !           187: To distinguish domain "domain!user" from UUCP "host!address", "domain"
        !           188: contains at least one (1) period.
        !           189: Unlike the old
        !           190: .I /bin/rmail,
        !           191: .I smail/rmail
        !           192: gives precedence to @ over ! when parsing mixed addresses,
        !           193: thus a!b@c is parsed as (a!b)@c, rather than a!(b@c).
        !           194: .SH ROUTING
        !           195: Because
        !           196: .I smail/rmail
        !           197: is the UUCP transport mechanism, it can only effect delivery on UUCP paths 
        !           198: and local addresses; domain addresses require resolution into UUCP paths or
        !           199: local addresses.  
        !           200: To resolve a domain address,
        !           201: .I smail/rmail
        !           202: finds a route to the most specific part of the domain specification listed
        !           203: in the routing table.
        !           204: Two degrees of resolution can occur:
        !           205: .RS
        !           206: .PP
        !           207: Full resolution:
        !           208: .I smail/rmail
        !           209: finds a route for the entire domain specification, and tacks the user
        !           210: specification onto the end of the UUCP path.
        !           211: The address can also fully resolve to a local address (the UUCP path is null).
        !           212: .PP
        !           213: Partial resolution:
        !           214: .I smail/rmail
        !           215: finds a route for only righthand part of the domain specification, so it 
        !           216: tacks the complete address (in the form domain!user) onto the end of the 
        !           217: UUCP path.
        !           218: Since this syntax is not widely understood, UUCP gateways listed in
        !           219: the path database must install new UUCP software, either
        !           220: .I smail/rmail
        !           221: or new
        !           222: .I sendmail
        !           223: configuration files (or both).
        !           224: .RE
        !           225: .PP
        !           226: It is an error if a partially resolved address routes to the local host 
        !           227: (a null UUCP path), since according to the routing table, the local
        !           228: host is responsible for resolving the address more fully.
        !           229: .PP
        !           230: The
        !           231: .B -r
        !           232: flag causes
        !           233: .I smail/rmail
        !           234: to attempt to route the first component of a UUCP path, probably so it
        !           235: can impress people with how many UUCP hosts it knows.
        !           236: If this fails, it passes the unrouted address to
        !           237: .I uux,
        !           238: in case the path database is not complete.
        !           239: The 
        !           240: .B -R
        !           241: flag causes
        !           242: .I smail/rmail
        !           243: to take a UUCP path and route the rightmost component of the path (save
        !           244: the user name) possible.
        !           245: This is mostly for hosts that have very up-to-date routing tables.
        !           246: .PP
        !           247: If a route cannot be discerned from the available routing database,
        !           248: then one more attempt to route the mail is made by searching for an
        !           249: entry in the database for a route to a
        !           250: .I smart-host.
        !           251: If this entry exists, then the mail will be forwarded along that route
        !           252: to be delivered.  This allows a host to depend on another, presumably
        !           253: better informed, host for delivering its mail.
        !           254: This kind of arrangement should be worked out,
        !           255: .I in advance,
        !           256: with the
        !           257: .IR smart-host 's
        !           258: administrator.
        !           259: .PP
        !           260: After
        !           261: .I smail/rmail
        !           262: resolves an address, it reparses it to see if it is now a UUCP path or
        !           263: local address.  If the new address turns out to be another
        !           264: domain address, smail complains because we don't like to resolve more than once.
        !           265: This error occurs when an address partially resolves the local host.
        !           266: .PP
        !           267: By default,
        !           268: .I smail
        !           269: will not alter the explicit bang path routing of any mail message.
        !           270: If the stated path is unuseable, (i.e., the next hop host is unknown)
        !           271: then smail will apply ALWAYS routing, and attempt to deliver the mail
        !           272: to the potentially new address.  If this fails too, then REROUTE routing
        !           273: will be applied to the address, and another attempt to deliver is made.
        !           274: Lastly, an attempt to find a path to a better informed host
        !           275: .I smart-host
        !           276: will be made and the mail passed to that host.
        !           277: .SH FROMMING
        !           278: .I smail/rmail
        !           279: collapses From_ and >From_ lines to generate a simple from argument, which
        !           280: it can pass to
        !           281: .I sendmail
        !           282: or use to create its own "From" line.
        !           283: The rule for fromming is: concatenate each "remote from" host (separating 
        !           284: them by !'s), and tack on the address on the last From_ line; if that address 
        !           285: is in user@domain format, rewrite it as domain!user; ignore host or
        !           286: domain if either is simply the local hostname.  It also removes redundant
        !           287: information from the From_ line.  For instance:
        !           288: .sp
        !           289: .ce
        !           290:  ...!myhost!myhost.mydomain!...
        !           291: .sp
        !           292: becomes
        !           293: .sp
        !           294: .ce
        !           295:  ...!myhost!...
        !           296: .sp
        !           297: Leading occurrences of the local host name are elided as well.
        !           298: .PP
        !           299: .I smail/rmail
        !           300: generates it own From_ line, unless it is feeding
        !           301: .I sendmail,
        !           302: which is happy with the
        !           303: .BI -f from
        !           304: argument.
        !           305: For UUCP bound mail,
        !           306: .I smail/rmail
        !           307: generates a "remote from hostname", where hostname is the UUCP hostname
        !           308: (not the domain name), so that From_ can indicate a valid UUCP path, leaving
        !           309: the sender's domain address in From:.
        !           310: .SH HEADERS
        !           311: Certain headers, To:, From:, Date, etc., are required by RFC822.
        !           312: If these headers are absent in locally generated mail, they will
        !           313: be inserted by smail.  Also, a line of trace information, called
        !           314: a Received: line, will be inserted at the top of each message.
        !           315: .SH UNDELIVERABLE MAIL"
        !           316: Although nobody likes to have a mail message fail to reach its
        !           317: intended destination, it somtimes happens that way.
        !           318: Mail that is found to be undeliverable
        !           319: (i.e., unknown user or unknown host)
        !           320: will be returned to the sender.
        !           321: .SH FILES
        !           322: /usr/lib/uucp/paths            ascii path database
        !           323: .br
        !           324: /usr/lib/aliases               ascii alias database
        !           325: .br
        !           326: /usr/spool/uucp/mail.log               log of mail
        !           327: .br
        !           328: /tmp/mail.log                  record of mail
        !           329: .SH SUPPORT
        !           330: Enhancements, enhancement requests, trouble reports, etc.,
        !           331: should be sent to
        !           332: .sp
        !           333: .ce
        !           334: [email protected].
        !           335: .sp
        !           336: .SH "SEE ALSO"
        !           337: .IR uux (1),
        !           338: .IR paths (8),
        !           339: .IR aliases (8)
        !           340: .br
        !           341: .IR sendmail (8)
        !           342: .br
        !           343: .IR binmail (1)
        !           344: on BSD systems only
        !           345: .br
        !           346: .IR mail (1)
        !           347: on System V systems
        !           348: .SH VERSION
        !           349: @(#)smail.8    2.5 (smail) 9/15/87

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.