sendmail address rewriting mini-HOWTO Thomas Roessler, roessler@guug.de, Vertaald door: Ellen Bokhorst, bokkie@nl.linux.org v0.0, 6 mei 1998 Dit document is een beknopte beschrijving van hoe het configuratiebestand van sendmail voor dial-up toegang kan worden ingesteld voor de thuisgebruiker. Introductie

We gaan ervan uit dat je het soort Internet toegang hebt welke tegenwoordig op universiteiten en online services het meest gebruikelijk schijnt te zijn: je belt in op het netwerk van je provider met PPP over een seriële verbinding. Je inkomende mail wordt gespoold op de POP- of IMAP-server van je ISP, terwijl uitgaande berichten via SMTP worden verzonden. Je hebt geen eigen domeinnaam, dus voor alles moet je gebruik maken van één adres.

We gaan ervan uit dat je reeds een tamelijk recente versie van Eric Allman's sendmail (tijdens dit schrijven is de huidige versie 8.8.8 en deze voldoet prima) hebt geïnstalleerd.

In dit document wordt voor een deel naar specifieke eigenschappen van een Debian GNU/Linux systeem verwezen; gebruikers van andere distributies zullen dit in de gaten moeten houden.

Zorg dat je de volgende informatie bij de hand hebt: De mailserver van je ISP Je Internet mail-adres

De te plannen configuratie dient twee hoofddoelen: Het versturen van mail tussen diverse lokale gebruikers moet mogelijk zijn. De buitenwereld moet voor de lokale gebruikers het ISP mailadres laten zien, en niet de lokale adressen.

Om dit te bereiken, zullen we gebruik maken van de Bestandsoverzicht

We zullen alle configuratiebestanden van sendmail in een aparte directory onder /etc plaatsen: /etc/mail. Gewoonlijk verwacht sendmail dat deze bestanden direct onder /etc voorkomen. Om problemen te voorkomen, moet /etc/sendmail.cf een symbolische link zijn naar /etc/mail/sendmail.cf.

De volgende bestanden zullen in /etc/mail worden geplaatst: Een aantal van deze bestanden zullen worden vergezeld door

We gaan ervan uit dat het /usr/lib/sendmail.cf voorkomt. Dit is het geval op Debian GNU/Linux systemen. Andere distributies plaatsen dit op verschillende lokaties. Raadpleeg alsjeblieft de met je distributie meegeleverde documentatie voor details.

Sendmail configureren Het hoofdconfiguratiebestand

Sendmail maakt gebruik van een zeer complex regelsysteem voor z'n configuratie. Ondanks dat je hier heel veel handige truuks mee uit kunt halen, is het ongebruikelijk en het kost nogal wat tijd om een sendmail.cf bestand vanaf begin af aan te schrijven. Als je hierin bent geïnteresseerd, zou je dit document nu niet verder moeten lezen, maar in plaats daarvan het "Bat Book" van O'Reilly moeten lezen.

In plaats van deze regels met de hand aan te gaan passen, zullen we vertrouwen op de

Laten we eens kijken naar de eerste regels van het include(/usr/lib/sendmail.cf/m4/cf.m4) VERSIONID(`sendmail.mc - roessler@guug.de') OSTYPE(debian) define(`ALIAS_FILE',`/etc/mail/aliases') Aan het begin is

De volgende regels vertellen sendmail gebruik te maken van de FEATURE(masquerade_envelope) FEATURE(genericstable, `hash -o /etc/mail/genericstable') GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain') De

Nu moeten we een zogenoemde smart host definiëren, dat is een computer die uitgaande mail voor je systeem afhandelt. Dit kan een andere computer zijn dan je ISP's POP en IMAP-servers. Neem contact op met de helpdesk als je twijfelt. De code in het hoofdconfiguratiebestand: define(`SMART_HOST',`mail-out.je.provider') Vervang

De laatste twee regels bestaan uit de "mailer" definities die sendmail nodig heeft om erachter te komen hoe diverse typen mail moeten worden afgehandeld: MAILER(local) MAILER(smtp)

Om een # m4 sendmail.mc > _sendmail.cf # mv -f _sendmail.cf sendmail.cf Let op de techniek waarbij Adres rewriting

Ten eerste moeten we aan sendmail opgeven welke adressen als lokaal moeten worden aangemerkt (en dus zijn onderworpen aan rewriting). Dit is heel simpel: plaats gewoon de fully qualified hostname van je computer in het bestand /etc/mail/genericsdomain. Om achter de fully qualified name van je host te komen, typ je de volgende opdracht: $ hostname -f

Laten we ons nu gaan bezig houden met de rewriting tabel: /etc/mail/genericstable. Dit bestand bestaat uit door twee spaties gescheiden kolommen. In de eerste kolom staat het lokale adres, in de tweede kolom het email-adres dat daarvoor in de plaats moet worden gebruikt. Het bestand zou er ongeveer zo uit kunnen zien: harry harryx@je.isp maude maudey@haar.isp root fredx@je.isp news fredx@je.isp Voor iedere account op de lokale computer moet één regel voorkomen, zodat automatisch gegenereerde mail die het lokale systeem uitlekt, de correcte header informatie bevat.

Om redenen van performance, maakt sendmail niet direkt gebruik van dit tekstbestand, maar verwacht in plaats daarvan een "hashed" versie. Typ de volgende opdracht om het te genereren: # makemap -r hash genericstable.db < genericstable

De rewriting regels uit Aliassen

Het aliassenbestad bevat aanvullende lokale namen die alleen geldig zijn voor lokale berichten. Dit is handig voor administratieve accounts zoals

Een redelijk begin voor /etc/mail/aliases zou er als het volgende bestand uit kunnen zien: root: fred news: root postmaster: root mail: root www: root nobody: /dev/null MAILER-DAEMON: nobody Dit voorbeeld zal lokale mail voor de /dev/null.

Net als de Meer leesstof

De sendmail source-distributie bevat heel wat documentatie. Lees het, in het bijzonder het bestand cf/README.

Als je geïnteresseerd bent je in de configuratie-opties van sendmail te verdiepen, koop dan het "Bat Book" van O'Reilly: Bryan Costales, Eric Allman, en Neil Rickert: "sendmail". O'Reilly, 1993.