UUCP Support
The mc configuration technique includes four UUCP options to choose from. They are listed in Table 4-5.
Relay |
§ |
Version |
Description |
SITE |
V8.1 and above |
Declare sites for SITECONFIG (obsolete) | |
SITECONFIG |
V8.1 and above |
Local UUCP connections (obsolete) | |
UUCP_RELAY |
V8.1 and above |
The UUCP relay | |
UUCPSMTP |
V8.1 and above |
Individual UUCP-to-network translations |
Note that two items in the table are marked as obsolete. This is
because all their functions have been moved into the
mailertable
feature (FEATURE(mailertable)). They are included for backward compatibility
with early configuration file versions.
Support for UUCP can be included in your mc file with the MAILER command (Section 4.2.2.2):
MAILER(`uucp')
This declares six[5] delivery agents and the rules to support them. They are listed in Table 4-6.
Agent |
§ |
Version |
Description |
|
V8.6 and above |
Old-style, all ! form of UUCP | |
|
V8.1 and above |
Synonym for the above (obsolete) | |
|
V8.6 and above |
Old-style with multiple recipients | |
|
V8.1 and above |
Synonym for the above (obsolete) | |
|
V8.6 and above |
Domain-form headers, old-form envelope | |
|
V8.6 and above |
Domain-form headers and envelope |
If support for SMTP delivery agents is also included prior to UUCP,
the last two additional delivery agents are included
(uucp-dom
and uucp-uudom
). Note
that smtp
must be first for this to happen:
MAILER(`smtp') MAILER(`uucp')
If uucp
is first, uucp-dom
and
uucp-uudom
are excluded.
When processing UUCP mail (addresses that contain a
!
and those that end in a .UUCP suffix),
sendmail routes to those hosts on the basis of
the class in which they were found. Hosts that are found in
$=U
are delivered via uucp-old
,
hosts in $=Y
are delivered via
uucp-new
, and hosts in $=Z
are
delivered via uucp-uudom
.
The
choice of which delivery agent to use for UUCP delivery is under the
control of the SITECONFIG mc macro (Section 4.6.6). Which you choose depends on what version of
UUCP you are running locally and what version is being run at the
other end of the connection. There are far too many variations on
UUCP to allow specific recommendations here. In general, you need to
choose between a domain form of address
(gw@wash.dc.gov) and a UUCP form
(wash!gw) and then go with the delivery agent
that makes the most sense for you. We recommend that you start with
the most domain-correct agent, uucp-dom
, and see
if it works for you. If not, scale back to
uucp-uudom
, then to uucp-new
,
and finally to uucp-old
as a last resort.
uucp-old (aka uucp)
If you are running an old version of UUCP, you might have to use this
delivery agent. All addresses are turned into the
!
form even if they were in domain form:
user → becomes → yourhost!user user@host.domain → becomes → yourhost!host.domain!user
This delivery agent can deliver to only one recipient at a time, so it can spend a lot of time transmitting duplicate messages. If at all possible, avoid using this delivery agent.
uucp-new (aka suucp)
Newer releases of UUCP can send to multiple recipients at once. If
yours is such a release, you can use the uucp-new
delivery agent. It is just like uucp-old
except
that it can perform multiple deliveries.
uucp-uudom
More modern implementations of UUCP can understand and correctly
handle domain-style addresses in headers (although they still require
the !
form in the envelope). If yours is such an
implementation, you can use the uucp-uudom
delivery agent.
At the receiving end, the message mail arrives with the five
character "From
" line showing the sender address in the
!
form. The "From
" line reflects the envelope address.
uucp-dom
The uucp-dom
is the most domain-correct form of
the available UUCP delivery agents. All addresses, envelopes, and
headers, regardless of whether they began in the !
form, are sent out in domain form. Essentially, this uses UUCP as a
transport mechanism, but in all other respects it adheres to the
Internet standards.
SITE mc Macro (Obsolete)
UUCP connections are declared inside the SITECONFIG file with the SITE mc macro. That mc macro just takes a list of one or more UUCP hostnames:
SITE(lady) SITE(sonya grimble)
Each listed host is added to the class that was defined as the third argument to the SITECONFIG declaration.
SITECONFIG mc Macro (Obsolete)
The SITECONFIG mc
macro is obsolete but has been retained for backward compatibility.
It has been replaced by the mailertable
feature
(FEATURE(mailertable)).
The SITECONFIG mc macro is useful for maintaining lists of UUCP connections. There are two types of connections: those connected to the local host and those connected to another host. The first type is declared with SITECONFIG like this:
SITECONFIG(`file',` host',`class ')
Here, file
is the name of a file (without
the .m4 suffix) that is in the directory
cf/siteconfig. That file contains a list of SITE
declarations (described earlier). The host is
the UUCP node name of the local host. The class
is the name (one letter, or multicharacter) of a class that holds the
list of UUCP connections. For example:
SITECONFIG(`uucp.arpa',`arpa',`U') SITECONFIG(`uucp.arpa',`arpa',`{MyUUCPclass}')
Here, the file cf/siteconfig/uucp.arpa.m4
contains a list of UUCP hosts directly connected to the machine
arpa. This declaration would be used only in the
machine arpa’s
mc file. The list of UUCP hosts is added to the
sendmail class-macro $=U
in
the first example, and $={MyUUCPclass}
in the
second.
Some single-character letters are special. The special letters
available for local connections are U
(for
uucp-old
), Y
(for
uucp-new
), and Z
(for
uucp-uudom
).
A second form of the SITECONFIG mc macro is used by hosts other than the host with the direct UUCP connections. It is just like the earlier form but with the full canonical name of the host:
SITECONFIG(`uucp.arpa',`arpa.Berkeley.EDU',`W')
This also reads the file uucp.arpa.m4, but instead of causing UUCP connections to be made locally, it forwards them to the host arpa.Berkeley.EDU.
The hostname that is the second argument is assigned to the
$W
sendmail macro. The class
$=W
is set aside to hold lists of hosts that
appear locally connected. This class is also used with the SITE
mc macro. The letters that are available for
remote sites are V
, W
, and
X
.
If nothing is specified, the class becomes Y
. If
class U
is specified in the third parameter, the
second parameter is assumed to be the UUCP name of the local site,
rather than the name of a remote site. In this latter case, the
specified local name has a .UUCP
appended, and the
result is added to class w
.
Note that SITECONFIG won’t work if you disable UUCP with the nouucp feature (FEATURE(nouucp)).
UUCPSMTP mc Macro
If your site has a host that used to be a UUCP site but is now on the network, you can intercept and rewrite the old address of that host into the new network address. For example, mail to the machine wash used to be addressed as wash!user. Now, however, wash is on the network, and the mail should be addressed as user@wash.dc.gov.
The UUCPSMTP mc macro provides the means to specify a UUCP-to-network translation for specific hosts. The earlier example would be declared like this:
LOCAL_RULE_3 UUCPSMTP(`wash',`wash.dc.gov')
The UUCPSMTP mc macro should be used only under LOCAL_RULE_3.
[5] Actually, there are only four;
uucp
and uucp-old
are synonyms
for the same agents, as are suucp
and
uucp-new
.
Get Sendmail, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.