Konfiguration für Dialup-Verbindungen

Ist ein Rechner nur über eine Wähverbindung mit dem Internet verbunden, sind in der Regel zwei Probleme zu lösen. Das erste ist ein Pfeil in der falschen Richtung im Bild rechts: Über die Wählverbindung kann der Provider natürlich keine Mail zum Kunden schicken, der Kunde muss sie abholen. Unix-üblich wird diese Aufgabe einem weiteren Programm übertragen: Fetchmail.

Die neue Architektur bietet gegenüber einem MUA, der POP3 oder IMAP direkt unterstützt, bereits den Vorteil, das Mail ohne bestehende Internetverbindung geschrieben werden kann, um dann gebündelt versandt zu werden. Zugegeben, es gibt MUAs, die auch dieses Batching von Mail beherrschen. Sie werden damit natürlich noch größer und unhandlicher.

Das zweite Problem ist ärgerlicher: der Rechner hat keinen Namen. Das Unix-Mailsystem erwartet eigentlich, dass jeder Rechner unter einem Namen bekannt ist, und ihn Mail auch unter diesem Namen erreicht. Leider weiß das heute übliche Desktop-Betriebssystem nichts davon, und so haben sich die Internetprovider abgewöhnt, Rechner- bzw. Domainnamen zu vergeben (eine Entwicklung, die es nicht nur wegen der schwierigen Sendmail-Konfiguration wert ist, bekämpft zu werden).

Technisch wäre das übrigens kein Problem. Provider könnten ihren Kunden Domainnamen zuweisen und Mail für eine komplette Domain in ein POP3-Postfach legen. Alternativ kann Mail wie bisher gespoolt werden, aber die SMTP-Verbindung wird vom Client aufgebaut, der dann den Server anweist, ihm Mail zu senden. Unix-Mail würde wie früher funktionieren, nur eben über Dialup-Verbindungen. Leider wollen die Provider davon nichts wissen, also müssen wir den MTA dazu bringen, die Absenderadresse der Mail zu fälschen. Genau für diese Aufgabe existiert übrigens Masqmail, mit Sendmail ist sie aber auch lösbar.

Dialup mit genau einem Provider

Wenn jeder Benutzer nur genau eine EMail-Adresse hat (eigentlich der Normalfall), geht alles mit Bordmitteln von Sendmail. Das ist eigentlich der typische Fall, wo man vielleicht eine Email-Adresse von der Uni bekommt (mai96ise@studserv.uni-leipzig.de), sich aber zu Hause nicht gerade als mai96ise einloggen möchte.

Das peinliche daran ist, dass ich nach dem Vortrag auf diese einfache Methode hingewiesen wurde, und zugeben mußte, nie etwas davon gehört zu haben. Das spricht zumindest nicht für die verfügbare Sendmail-Dokumentation, nicht einmal die FAQs weisen auf die Genericstable hin, sondern bringen arme Benutzer auf die Idee, eigene Rulesets zu schreiben - siehe dazu das nächste Kapitel

In Sendmail-Sprech gibt es lokale oder private Email-Adressen. Das sind solche, mit denen sich keine Mail empfangen läßt, z.B. udo@localhost.localnet. "Echte" Email-Adressen, also die häßlichen wie mai96ise@studserv.uni-leipzig.de, heißen generisch. Weiß man das, findet man auch das zugehörige Feature: die Genericstable.

Die Genericstable ist eine gewöhnliche Datenbank (ein kompiliertes Textfile also) und muss nur in der Sendmailkonfiguration aktiviert werden. Dem Makrofile ist dazu nur eine Zeile hinzuzufügen:

FEATURE(genericstable)

Die Tabelle selbst setzt Loginnamen auf Email-Adressen um. Sie enthält Zeilen wie diese:

udo           mai96ise@studserv.uni-leipzig.de

Sendmail legt die Datenbank in /etc/mail/genericstable ab, sie muss also noch mit cd /etc/mail; makemap genericstable <genericstable kompiliert werden.



© 05/2001 Marvin