De instellingen van sendmail die met FreeBSD worden geleverd zijn ontworpen voor sites die een directe verbinding met het Internet hebben. Sites waarvoor de mail via UUCP willen uitwisselen dienen een ander instellingenbestand voor sendmail te installeren.
Het handmatig bijstellen van
/etc/mail/sendmail.cf
is een geavanceerd onderwerp.
Versie 8 van sendmail genereert
instellingenbestanden via m4(1) preprocessing, waarbij het
eigenlijke instellen op een hoger abstractieniveau plaatsvindt.
De instellingenbestanden voor m4(1) kunnen onder
/usr/share/sendmail/cf
gevonden worden. Het bestand
README
in de map cf
kan
dienen als een basisintroductie tot het instellen van m4(1).
De beste manier om UUCP te ondersteunen is het gebruiken van
de eigenschap mailertable
. Dit maakt een
database aan die sendmail kan gebruiken
om beslissingen over routes te nemen.
Als eerste dient het .mc
-bestand
aangemaakt te worden. De map
/usr/share/sendmail/cf/cf
bevat enkele
voorbeelden. Indien het bestand foo.mc
heet,
hoeft slechts het volgende gedaan te worden om het in een geldig
sendmail.cf
om te zetten:
#
cd /etc/mail
#
make foo.cf
#
cp foo.cf /etc/mail/sendmail.cf
Een typisch .mc
-bestand kan er als volgt
uitzien:
Uw versienummer
') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', uw.uucp.relay
)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw uw.alias.host.naam
Cw uwuucpnodenaam.UUCP
De regels die de eigenschappen
accept_unresolvable_domains
,
nocanonify
, en
confDONT_PROBE_INTERFACES
bevatten zorgen
ervoor dat er geen gebruik wordt gemaakt van het DNS tijdens het
afleveren van mail. De clausule UUCP_REPLAY
is
nodig om UUCP-aflevering te ondersteunen. Hier dient een hostnaam
op het Internet ingevuld te worden die .UUCP pseudo-domeinadressen
kan afhandelen, waarschijnlijk zal dit de mailrelay van de
Internetprovider zijn.
Nadat dit gedaan is, is er een bestand
/etc/mail/mailertable
nodig. Indien er slechts
één verbinding naar buiten is die voor alle mails
gebruikt wordt, zal het volgende bestand volstaan:
uw.uucp.relay
Een complexer voorbeeld kan er als volgt uitzien:
De eerste drie regels behandelen speciale gevallen waarbij
domein-geadresseerde mail niet naar de standaardroute verzonden
dient te worden, maar in plaats daarvan naar een UUCP-buur om het
afleverpad “af te snijden”. De volgende regel
handelt mail naar het lokale Ethernetdomein die met SMTP
afgeleverd kan worden af. Als laatste worden UUCP-buren in de
.UUCP-pseudodomeinnotatie genoemd, om een
-overname toe te staan. De laatste regel bestaat altijd
uit een enkele punt, dat met al het andere matcht, met
UUCP-aflevering naar een UUCP-buur die als universele mail-gateway
naar de wereld dient. Alle nodenamen achter het sleutelwoord
uucp-buur
!ontvanger
uucp-dom:
dienen geldige UUCP-buren te zijn,
dat met het commando uuname
gecontroleerd kan
worden.
Dit bestand dient naar een DBM-database omgezet te worden voor
gebruik. De opdrachtregel om dit te doen kan het beste als
commentaar bovenaan het bestand mailertable
gezet worden. Deze opdracht dient telkens wanneer het bestand
mailertable
wordt gewijzigd uitgevoerd te
worden.
Laatste tip: indien de werking van een zekere mailroute niet
zeker is, kan de optie -bt
van
sendmail gebruikt worden. Het start
sendmail in adrestestmodus
op; voer 3,0
gevolgd door het adres dat voor de
mailrouting getest dient te worden in. De laatste regel bevat de
gebruikte interne mailagent, de bestemmingshost waarmee deze agent
aangeroepen wordt, en het (mogelijk vertaalde) adres. Deze modus
kan door het typen van Ctrl+D
verlaten worden.
%
sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
>
3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ uw.uucp.relay
$: foo < @ example . com . >
>
^D