Anwendungen
Einführung
Verzeichnisse
Telnet, FTP...
HTTP
E-Mail
Sicherheit
Management
Unix & Windows

Hauptmenü
Startseite
Einführung
Daten übertragen
Datennetze
Transport
Info

Themen
Einführung
Sendmail
SMTP
POP3
Sendmail


Die Konfiguration von Sendmail basiert auf mehreren Konzepten. Sendmail selbst liest beim Start eine zentrale Konfigurationsdatei (z.B. /etc/mail/sendmail.cf). Diese kann dann weitere Konfigurationsdateien als Datenbasis einbinden. Die Konfigurationsdatei ist zweigeteilt. Im ersten Teil sind Variablen enthalten, die wichtige Parameter einstellen und das generelle Verhalten von sendmail bestimmen. Der Rest besteht aus sogenannten Rulesets. Diese sind in einer eigenen Beschreibungssprache verfasst und dienen der Manipulation von Sender- und Empfängeradresse bei der Verarbeitung einer Mail. Die übliche Syntax z.B. der Empfängeradresse wird dabei aufgebrochen und um Informationen ergänzt, wie Sendmail bei der Zustellung der Mail vorgehen muss. Die Rulesets sind ausgesprochen schwierig zu verstehen und noch schwieriger an eigene Erfordernisse anzupassen. Deswegen gibt es eine Möglichkeit, die sendmail.cf automatisch generieren zu lassen. Dies übernimmt eine Makrosprache namens "m4" und passende Makros werden mit jeder Version von Sendmail mitgeliefert. Nun beschränkt sich die Anpassung auf das Einfügen von sogenannten "Features" in eine Konfigurationsdatei und den anschließenden Start des Makroprozessors m4. Das Ergebnis ist eine sendmail.cf mit den gewünschten Features, die im Variablenbereich jedoch noch angepasst werden muss.

Grundsätzlich trifft Sendmail bei einer eingehenden Mail die Entscheidung, ob sie in einem lokalen Postfach abgelegt werden muss, oder für einen anderen Rechner bestimmmt ist. Dazu wird die Domain betrachtet und mit einer Konfigurationsdatei abgeglichen, die meist "/etc/mail/sendmail.cw" heißt. Ist die Domain dort verzeichnet, wird für den Namen von dem @-Zeichen ein Postfach gesucht. Dazu wird zunächst eine weitere Konfigurationsdatei durchsucht, die meist "/etc/mail/aliases" heißt und Zuordnungen von jeweils einem Namen zu einem oder mehreren anderen Namen enthält. Darüber kann z.B. der volle Name des Benutzers ("Emil_Mustermann") seinem Kurzzeichen ("em") zugeordnet werden oder bei einem Mailverteiler ("info") alle dafür zuständigen Mitarbeiter eingetragen werden. Selbst die Ausführung eines Programmes zur automatischen Verarbeitung einer Mail ist möglich. Nach dem Abgleich mit den Aliases sollte als Name vor dem @ ein auf dem Server bekanntes Kurzzeichen übrigbleiben. Falls dem nicht so ist, wird die Mail dem Benutzer "postmaster" zugestellt und der Absender erhält eine Mail mit einer Warnung.

Sollte die Mail nicht lokal zugestellt werden können, wird Sendmail sie weiterleiten. Je nach Einstellung versucht er entweder wie bereits beschrieben zur Domain des Empfängers eine IP-Adresse herauszufinden und mit dem dortigen SMTP-Server Kontakt aufzunehmen. Alternativ kann in der Sendmailkonfiguration auch die IP-Adresse eines sogenannten "Smart Relay Hosts" angegeben werden. Sendmail sendet dann alle nicht lokal zustellbaren Mails direkt dort hin.

Wenn ein Sendmail eine Mail per SMTP erhält und diese über SMTP weiterschickt, spricht man von "Relaying". Falls Sendmail hier keine Restriktionen vorsieht, kann das bei einem SMTP-Server mit Verbindung zum Internet fatale Folgen haben: Ein fremdes Programm kann so einen SMTP-Server nutzen, um beliebige Mails zu verschicken - und zwar ohne weitere Kontrolle unter jedem beliebigen Namen und egal an wen. Solche Lücken werden von den Versendern von Spam-Mails (unerwünschten Massen-Werbesendungen) genutzt. Die Suche nach ungeschützten SMTP-Servern im Internet funktioniert über spezielle Hackerprogramme automatisch, der Versand der Spam-Mails ebenso. Da diese Form des Missbrauchs gewaltige Ausmaße angenommen hat, werden neuere Versionen von Sendmail so ausgeliefert, dass sie Relaying grundsätzlich unterbinden. Man muss es dann für einzelne Sender- oder Empfängerdomains explizit wieder einschalten.