Linux-Arbeitskreis Hamburg |
Sendmail ist eines der wichtigsten Programme auf unseren Servern, es ist
für die Weiterleitung der Post zuständig. Dementsprechend aufwendig
ist auch die Konfiguration des Programmes.
Lokal wird die Mail über das Programm procmail in die einzelnen
Postfächer verteilt.
Zur Konfigurationsvereinfachung dient das Programm m4, das die
Konfigurationsdatei aus vorbereiteten Makros generiert. S.u.S.E. hat diesen
Teil auch in sein Konfigurationprogramm integriert, so dass auch Einstellungen
aus der Datei /etc/rc.config berücksichtigt werden.
Im Normalfall kann man sich mit der automatischen Erzeugung der sendmail.cf
durch SuSEconfig begnügen. In speziellen Fällen muß man aber
die automatische Erstellung deaktivieren, dazu stellt man in der rc.config
SENDMAIL_TYPE=no
und muß dann mittels:
m4 /etc/mail/linux.mc > /etc/sendmail.cf
die Konfigurationsdatei erzeugen.
Folgende Dateien sind für diese Konfiguration bedeutsam
/usr/sbin/sendmail | Das Binärfile, welches die eigentliche Arbeit leistet. |
/etc/aliases | Lesbare Version der Datenbank für Mailumleitungen und Mailweiterleitungen. Wird mittels newaliases in die interne Datenbank /etc/aliases.db übersetzt. |
/etc/sendmail.cf | Die Konfigurationsdatei für Sendmail. Sie ist relativ umfangreich und schwer lesbar, daher wird sie selten direkt bearbeitet. |
/usr/bin/m4 | Programm zum Erstelle einer /etc/sendmail.cf anhand von Makros. |
/sbin/conf.d/SuSEconfig.sendmail | Dieses Teilprogramm von SuSEconfig erstellt die sendmail.cf. Dazu bedient es sich sich des Programmes m4 |
/etc/mail/linux.mc | Dies ist ein vorbereitetes m4-Makro |
/var/mqueue | Verzeichnis mit den auf Zustellung wartenden Mails |
Will man die sendmail.cf mit den S.u.S.E.-Werkzeugen erledigen, so spielen die folgenden Schalter innerhalb der /etc/rc.config eine Rolle:
SENDMAL_TYPE = "yes" / "no"
Steht dieser Schalter auf yes, so übernimmt SuSEconfig die Erstellung
der /etc/sendmail.cf, bei no muß man die Erstellung selbst
übernehmen.
SENDMAIL_LOCALHOST = "<schule>.hh.schule.de localhost"
Der eigene Name des Servers, zusätzlich soll man hier auch localhost
mit angeben. Will man für mehrere Domains Post ajzeptieren, so kann
man hier, durch Leerzeichen getrennt, weitere Rechnernamen angeben.
SENDMAIL_SMARTHOST = "uucp:shuttle" /
"smtp:mail.hh.shuttle.de"
Hier steht, an welchen Rechner die ausgehende Post geliefert werden soll.
Bei uns ist das üblicherweise das UUCP-System, das die Weitergabe
übernimmt. Falls man nicht mit UUCP arbeitet, kann man den Eintrag
"smtp:mail.hh.shuttle.de" auch weglassen, dann wird die Mail aber direkt
an den Empfänger zugestellt, was manchmal recht langwierig ist. Geschickter
ist es auf alle Fälle die Mails beim Provider abzuliefern.
SENDMAIL-RELAY = ""
Hiermit kann man Mail generell an einen anderen Rechner weiterleiten, anstatt
sie lokal auszuliefern.
SENDMAIL_ARGS = " -bd -q30m -om"
Mit diesen Parametern wird Sendmail gestartet. Der Schalter -bd startet Sendmail
als daemon, der im Hintergrund auf Arbeit wartet. Der Schalter -q30m bewirkt,
dass Sendmail alle 30 Minuten nach wartender Mail schaut. Wenn man nicht
mit UUCP arbeitet kann man diesen Schalter weglassen und den Mailversand
durch sendmail -q von Hand oder per Cron-Job auslösen.
SENDMAIL_EXPENSIVE = "yes" / "no"
Steht dieser Schalter auf no, so versucht Sendmail eine Mail sofort an den
nächsten Rechner weiterzugeben. Steht der Schalter auf yes, so speichert
Sendmail die Mail im Ordner /var/mqueue zwischen.
SENDMAIL_NONCANONIFY = "yes" / "no"
Steht dieser Schalter auf no, so versucht Sendmail immer den Namen des
Empfängerrechners zu verifizieren. Damit werden DNS-Anfragen
ausgelöst. Will man diese Anfragen vermeiden, wil man nicht immer online
ist, so muß der Schalter auf yes stehen.
Wenn man mit Sendmail experimentiert, dann entstehen immer mal wieder Mails, die man gern löschen möchte. Ausgehende Mails, die nicht zugestellt werden konnten, sind im Ordner /var/mqueue gespeichert. Dort kann man sie löschen, wenn man Sendmail solange stoppt:
/sbin/init.d/sendmail stop
rm /var/mqueue/*
/sbin/init.d/sendmail start
Sendmail wehrt sich sonst gegen das Löschen der Dateien.