Copyright © 1995 by O'Reilly/International Thomson Verlag

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches "Linux - Wegweiser zur Installation & Konfiguration", dann klicken Sie hier.


Kapitel 7

Elektronische Post

Die elektronische Post (electronic mail, E-Mail) gehört zu den Dingen, die ein Computersystem unbedingt haben sollte. Sie können auf Ihrem Linux-System E-Mail lokal zwischen den Benutzern des Systems oder auch zwischen den Rechnern eines Netzwerks hin- und herschicken. Für den E-Mail-Dienst müssen Sie drei Arten von Programmen einrichten; dies sind der Mail-User-Agent (Mail-Programm, Mailer), der Mail-Transport-Agent (MTA) und das Transportprotokoll.

Der Mailer stellt die Benutzerschnittstelle zum Lesen von E-Mail, Schreiben von neuen Nachrichten und Abspeichern von empfangenen Mails dar. Linux enthält eine ganze Reihe von Mail-Programmen. Diese werden ständig ausgefeilter, so daß ein bestimmter Mailer eventuell auch zum Lesen von USENET-News (News-Reader) oder als WWW-Hypertext-Browser benutzt werden kann.

Der Mailer benutzt den MTA, um E-Mail von einem Benutzer zum anderen zu routen; egal, ob lokal oder über Systemgrenzen hinweg. Der MTA wiederum benutzt ein Transportprotokoll, in der Regel UUCP oder SMTP (Simple Mail Transport Protocol), als Medium für die Übertragung der Mails.

Für die Einrichtung von E-Mail auf einem Linux-System steht eine ganze Reihe von Programmen zur Verfügung. Wir können hier nicht alle denkbaren Kombinationen beschreiben, aber wir wollen eine praktikable Lösung vorstellen. Wir besprechen die derzeit wohl beliebteste Kombination unter Linux: den Mailer Elm (zum Zeitpunkt des Schreibens in der Version 2.4) mit smail (in der Version smail3.1 ) als Mail-Transport-Agent. Diese Programme sind relativ einfach zu konfigurieren, bieten aber trotzdem alle die Fähigkeiten, die von den meisten Benutzern benötigt werden. Zur Vereinfachung gehen wir davon aus, daß Ihr Linux-System an einen Mail-Rechner angeschlossen ist, der alle Möglichkeiten des Routing von Internet-Mail beherrscht.

Der Mail-Transport-Agent smail

Es gibt zwei wichtige Mail-Transport-Agents (MTAs) für Linux: smail und sendmail . Beide unterstützen die Mail-Protokolle SMTP und UUCP. Das sendmail -Paket gibt es schon eine ganze Weile. Seine Benutzung wird allgemein als schwieriger angesehen als der Einsatz von smail , aber sendmail wird in dem Buch sendmail von Costales, Allman und Rickert ausführlichst beschrieben.

Das Paket smail ist wohl einfacher zu konfigurieren und zu verwalten als sendmail und arbeitet auf Systemen mit geringem Speicherausbau vielleicht sicherer. Auf Linux-Systemen ist smail sehr beliebt. Wir haben beschlossen, den beliebtesten MTA unter Linux, smail , vorzustellen und hier seine grundlegende Konfiguration und Benutzung zu beschreiben. Wenn Sie allerdings ein Mail-System einrichten müssen, das viele Verbindungen handhabt und große Mengen an E-Mail durchschleust, sollten Sie auf jeden Fall sendmail benutzen.

smail kann in verschiedenen Modi aufgerufen werden, indem man einen bestimmten Namen benutzt, der den speziellen Modus festlegt. Sie können smail beispielsweise als rmail aufrufen und es dabei als Ersatz für das originale rmail benutzen. Sie können es als Dämon starten ( smtpd , in.smtpd ) und ebenso andere Mail-Utilities wie mailq ersetzen lassen. smail ist kompatibel zum MTA sendmail und arbeitet gut mit diesem zusammen.

Der Linux Network Administrator's Guide von Olaf Kirch enthält Informationen speziell zur Installation von smail auf Linux-Systemen. Außerdem finden Sie im Paket smail3 unter dem Titel Smail -- Installation and Administration Guide von Karr und Noll eine hervorragende Anleitung zur Installation und Pflege von smail . Schließlich sollten Sie auch die Manual-Page zu smail lesen, in der im Detail alle Konfigurationsdateien und Verzeichnisse beschrieben sind, die smail benutzt.

Das smail -Paket ist Bestandteil einiger Linux-Distributionen. Die meisten dieser Distributionen benutzen das Linux-Installationsskript, um auch die grundlegende Konfiguration von smail vorzunehmen. Ein Problem bei dieser Vorgehensweise ist, daß Sie wahrscheinlich in gewissen Abständen Ihre smail -Installation aktualisieren müssen; zu diesem Zweck gibt es kein bequemes Skript -- es sei denn, Sie installieren gleichzeitig Ihr komplettes Linux. Ein anderes Problem liegt darin, daß in einigen der bekannteren Linux-Distributionen das eine oder andere Detail in den Hilfsprogrammen zu smail fehlt; das hat zur Folge, daß Sie hier einen Datei-Link ergänzen, dort eine Quelldatei editieren oder ähnliche Schritte ausführen müssen.

Kein Grund zur Panik: Auch wenn Patches eingespielt und neue Fähigkeiten hinzugefügt werden, sollten Ihre bewährten smail -Konfigurationsdateien in den allermeisten Fällen weiterhin ihren Dienst tun. In der Regel müssen Sie nur die ausführbaren Dateien aktualisieren, um auf dem neuesten Stand zu bleiben.

Das war die gute Nachricht. Die schlechte Nachricht ist, daß verschiedene Distributionen von smail die Dateien an verschiedenen Stellen installieren. Wenn Sie sich einen Satz Binärdateien aus einem FTP-Archiv besorgen und über Ihre alten Dateien installieren, kann es passieren, daß Sie schließlich eine Version von smail in /usr/bin und eine andere in /sbin installiert haben. Weil smail aus einer Reihe von Mail-Utilities besteht, die intensiven Gebrauch von Datei-Links machen, können solche Ungereimtheiten wirkliche Probleme mit Ihrer Installation verursachen.

Wenn Sie dagegen eine Distribution von Grund auf selbst kompilieren, stellen Sie eventuell fest, daß es sich um eine Installation handelt, die nicht speziell für Linux angepaßt wurde. (Andererseits finden Sie in einem echten UNIX-FTP-Archiv eher die komplette Dokumentation, die auf den von uns getesteten Linux-Archiv-Rechnern anscheinend nicht vorhanden ist.)

Was können Sie tun? Wenn Sie sich für die Distribution aus einem bestimmten FTP-Rechner entschieden haben, ist es vielleicht eine gute Idee, bei diesem Archiv zu bleiben -- auch wenn Sie dann nicht unbedingt das neueste und beste Update zum frühest möglichen Zeitpunkt bekommen. Dies gilt insbesondere dann, wenn es sich um ein Archiv mit einer Distribution im Binärformat handelt -- Ihre Konfigurationsdateien bleiben erhalten. Oder Sie besorgen sich einfach die aktualisierten Dateien und benutzen dann find oder whereis , um verquere Links und doppelt vorhandene Dateien aufzuspüren. Wahrscheinlich werden Sie selbst nach einer korrekten Installation und Konfiguration von smail durch Ihr Linux-Skript feststellen, daß Sie nicht immer mit seiner Arbeitsweise einverstanden sind. Für solche Fälle ist es oft am besten, einfach die smail -Konfigurationsdateien an Ihr System anzupassen.

smail besorgen und installieren

Ein ausgezeichnetes FTP-Archiv mit einer aktualisierten Binär-Distribution für Linux ist (zum Zeitpunkt des Schreibens) qiclab.scn.rain.com. Das smail -Paket befindet sich in der Datei /pub/network/smail/smail-linuxbin-3.1.29.tar.gz . Der genaue Dateiname wird sich wahrscheinlich mit jedem Update der Quelldateien ändern, aber der Pfadname sollte gleich bleiben.

Unter den Quellcode-Distributionen von smail für Linux gefällt uns das FTP-Archiv ftp.cyberspace.com. Die Distribution ist in /pub/unix/linux/slackware/contrib/smail.tgz enthalten und muß mit gunzip und tar entpackt werden. Gehen Sie zur Installation dieser Distribution wie folgt vor:

  1. Übertragen Sie die Datei per FTP im binären Modus.

  2. Verschieben Sie die Datei als /smail.tar.gz in das Root-Verzeichnis von Linux.

  3. Starten Sie gunzip mit dieser Datei; Sie erhalten als Ergebnis die Datei smail.tar .

  4. Rufen Sie im Root-Verzeichnis mit dieser Datei den Befehl tar -xvf smail.tar auf. smail.tar wird in einen Verzeichnisbaum entpackt.

Im Abschnitt » Archivierung und Komprimierung « in Kapitel 4 erfahren Sie alles Notwendige über gunzip und tar .

Sollten Sie beim Durchstöbern eines FTP-Archivs auf eine Datei namens smailcfg stoßen, könnten Sie den Eindruck bekommen, daß dies ein Hilfsprogramm zur Konfiguration von smail ist. Leider falsch: Es handelt sich um ein Konfigurations-Utility für sendmail .

Die Konfiguration eines von Linux installierten smail-Pakets

In einigen Linux-Distributionen ist das smail -Paket bereits enthalten und wird vom Linux-Installationsprogramm mit installiert. Auf Linux-Systemen werden die verschiedenen Teile des Pakets typischerweise in folgenden Verzeichnissen installiert: /bin , /usr/bin , /usr/lib/smail und /usr/man/man? . Die smail -Konfiguration könnte in /var/lib/smail/config stehen.

Viele der von smail benutzten Variablen werden aufgrund von Informationen belegt, die aus der Linux-Konfiguration stammen. Falls Sie beispielsweise Linux mit TCP/IP installiert haben, wird smail für die Benutzung von SMTP konfiguriert. Trotzdem gibt es noch einige smail -Variablen, die Sie belegen müssen. Dazu gehören:

postmaster
Bestimmen Sie auf Ihrem System eine Benutzer-ID als Postmaster. Meistens fungiert der Mail-Verwalter eines Systems auch als Postmaster. Für ein System in einem offenen Netz (mit Verbindungen, die über ein LAN hinausgehen) ist es fast eine moralische Verpflichtung, einen Postmaster zu bestimmen. Jeder Benutzer (egal wo) sollte die Möglichkeit haben, eine Nachricht an postmaster@ rechnername zu schicken, um das Problem bekanntzumachen, wenn einmal ein Problem mit der E-Mail von/zu einem System auftritt. Auf kleinen Systemen kann auch Root als Postmaster fungieren, aber es ist vorteilhafter, wenn E-Mail für den Postmaster an eine normale Benutzer-ID geht. (Manche Systeme richten einen »unechten« Account für den Postmaster ein, damit die Arbeit verteilt werden kann.)
smart_path
Es ist wichtig, diese Variable zu setzen -- inbesondere, wenn Sie nur ein kleines Mail-System betreiben. smart_path sollte den Namen des »intelligenten Rechners« enthalten, an den Ihr System alle Mail schickt, die es nicht selbst zustellen kann. In der einfachsten Konstellation wird alle E-Mail, die nicht lokal ist, an das bezeichnete smart_path-System geleitet. Wenn Sie eine Verbindung zu einem Internet-Rechner haben, sollte das Ihr intelligenter Partner sein.
visible_name
Diese Variable enthält einen Namen, den smail für alle E-Mail, die von Ihrem System ausgeht, als Rücksendeadresse benutzt. Ein Beispiel: Wenn Ihr kompletter Rechnername deus.x-machina.org lautet, möchten Sie vielleicht lieber x-machina.org als sichtbaren Namen wählen. Ein Benutzer auf deus hätte dann die »From«-Adresse benutzer@x-machina.org statt benutzer@deus.x-machina.org . Dies empfiehlt sich insbesondere, wenn die Benutzer im lokalen Netzwerk auf mehreren Rechnern eine Zugangsberechtigung haben, oder wenn sich die Namen einzelner Rechner in einer Domain ändern können.
smart_user
Hinter dem Smartuser steckt nicht unbedingt ein Benutzer. Sie können smart_user ohne Wert belassen; in diesem Fall wird E-Mail, die nicht zugestellt werden kann, an den Absender zurückgeschickt (bouncing). Wenn Sie dem Smartuser eine Benutzer-ID zuweisen, geht falsch adressierte Mail auf Ihrem System an diesen Benutzer. Häufig ist der smart_user identisch mit dem Postmaster, aber auf kleinen Systemen ist es wahrscheinlich am vorteilhaftesten, die E-Mail zurückzuschicken. Die Variable smart_user soll es ermöglichen, daß ein Benutzer nach einem Umzug oder Accountwechsel seine E-Mail von Hand nachgeschickt bekommt; auf einem System mit wenigen Benutzern hat sie nur geringe Bedeutung.

Es gibt weitere Variablen, die Sie einstellen können. Die Manual-Page beschreibt diese im Abschnitt über die Datei config . Eventuell enthält Ihre Distribution das Dokument nicht in einem druckbaren Format, aber bei Bedarf sollten Sie mit einem der folgenden Befehle Ihre eigene gedruckte Ausgabe erzeugen. (Der erste Befehl erzeugt einfachen Text für einen beliebigen Drucker, der zweite setzt einen PostScript-fähigen Drucker voraus.)

$  man 5 smail | col -b | lpr 
$  gtroff -man /usr/man/man5/smail.5 | ghostscript | lpr

Die Slackware-Distribution enthält ein Konfigurationsskript für smail , das Sie als root im Verzeichnis /usr/lib/smail aufrufen können, um eine vorbereitete Binärversion des Linux- smail zu installieren -- falls Ihre Linux-Installation dieselben Verzeichnisse benutzt. Dieses Skript ist auch schon für andere smail -Distributionen unter Linux benutzt worden. Die Datei heißt /usr/lib/smail/tools.linux/config.

Sie finden die Datei in FTP-Archiven mit dem Slackware-Linux oder in anderen Linux-Archiven. Andererseits brauchen Sie eigentlich nur smail(5) und Ihren bewährten ASCII-Editor, um die Datei /var/lib/smail/config zu überarbeiten. (Wir würden allerdings auch den Linux Network Administrator's Guide und den Smail -- Installation and Administration Guide zu Rate ziehen.)

smail konfigurieren

Sie sollten als erstes die aktuelle HOWTO-Datei zur elektronischen Post unter Linux lesen, um sich einen Überblick über das E-Mail-System zu verschaffen, das Sie gerade einrichten möchten. Glücklicherweise sind die die smail -Voreinstellungen für das Linux- smail brauchbar, und das Skript mkconfig automatisiert die verbleibenden Punkte der smail -Konfiguration weitgehend. Mit etwas Glück können Sie alle voreingestellten Werte übernehmen und Ihr smail »von der Stange« benutzen.

Halten Sie in Ihrer Distribution nach einer README -Datei Ausschau. Falls eine solche Datei vorhanden ist, sollten Sie diese zuerst lesen. In vielen Distributionen von smail für Linux steht diese README -Datei in /usr/lib/smail/linux.tools/README . Sie finden darin eine Beschreibung der Version und besondere Hinweise sowie allgemeine Anweisungen für die Installation und Konfiguration der aktuellen Softwareversion.

Die EDITME-Datei von smail

Der erste Schritt zur Konfiguration von smail aus einer Linux-Distribution ist ein Wechsel in das Verzeichnis /usr/lib/smail/linux.tools ; kopieren Sie dort die Datei EDITME-dist nach EDITME . Editieren Sie anschließend EDITME -- soweit notwendig. Einige der Werte, die Sie in EDITME zuweisen können, sollten besser etwas später behandelt werden, wenn Sie /usr/lib/smail/linux.tools/mkconfig aufrufen, um die Installation von smail zu vervollständigen. In der Datei EDITME werden die Variablen im Format variable = wert belegt. Es folgt eine Liste derjenigen Variablen in EDITME , die Sie sich vielleicht besonders aufmerksam anschauen sollten:

OS_TYPE=linux
Die Variable OS_TYPE sollte schon mit linux belegt sein, wenn Sie ein Standard- smail für Linux benutzen. Prüfen Sie das, um sicherzugehen.
HAVE=HDB_UUCP
Falls Sie ein anderes UUCP-Paket als das übliche Taylor-UUCP installiert haben, sollten Sie die Kommentare zur Variablen HAVE lesen. Für das Taylor-UUCP brauchen Sie diese Variable nicht zu setzen.
UUCP_ZONE
Falls Sie in ein UUCP-Netzwerk eingebunden sind und sich nicht in das Internet begeben werden, lesen Sie die Kommentare zur Variablen UUCP_ZONE. Sie müssen eventuell UUCP_ZONE=true einstellen, damit die Adressen so gehandhabt werden, wie einige UUCP-Netzwerke das erwarten.
DOMAINS
Sie müssen eventuell DOMAINS mit einem Domainnamen belegen, wenn Sie nicht die Standardinstallation und -konfiguration für Linux vorgenommen haben. Falls Sie allerdings ganz normal installiert haben, sollten Sie DOMAINS nicht in der Datei EDITME belegen, sondern notwendige Änderungen beim Aufruf von mkconfig vornehmen.
SMAIL_BIN_DIR
Linux wird normalerweise SMAIL_BIN_DIR mit dem Wert /usr/bin belegen. Diese Variable weist den Pfad zum vorrangig benutzten Mailer auf dem System. Falls Sie Ihren Hauptmailer an anderer Stelle untergebracht haben, müssen Sie den Wert von SMAIL_BIN_DIR ändern.
LIB_DIR
Normalerweise stellt Linux /usr/lib/smail als den LIB_DIR-Pfad ein. LIB_DIR bezeichnet den Pfad für smail -Dateien. Wenn Sie Ihre smail -Dateien in einem anderen Verzeichnis als /usr/lib/smail untergebracht haben, müssen Sie entweder LIB_DIR entsprechend anpassen, oder Sie stellen von dem Verzeichnis, das Sie benutzen, einen Link auf /usr/lib/smail her. NEWALIASES
Der Befehl mkaliases kann für das Hilfsprogramm newaliases benutzt werden, wenn Sie diese Variable setzen; anderenfalls müssen Sie das Programm als mkaliases starten. Der zuletzt genannte Fall ist auch die Voreinstellung. Wenn Sie das Programm als newaliases aufrufen möchten, sollte NEWALIASES als Argument den Pfad des Befehls newaliases mitbekommen.
UUCP_SYSTEM_FILE
Wenn Sie ein anderes UUCP-Paket benutzen als das Taylor-UUCP, müssen Sie eventuell für diese Variable einen anderen als den aktuellen Wert einstellen. Die typische Voreinstellung für eine BNU- oder HoneyDanBer-UUCP-Distribution ist UUCP_SYSTEM_FILE=/usr/lib/uucp/Systems.
SPOOL_DIRS
In der Voreinstellung ist SPOOL_DIRS mit /usr/spool/smail belegt. Es kann allerdings sein, daß Sie mehr als ein Spool-Verzeichnis haben möchten, weil Sie aufgrund des Mail-Volumens mehr Inodes brauchen oder weil Sie das Verzeichnis wechseln wollen. Wenn Sie mehr als ein Spool-Verzeichnis benutzen möchten, geben Sie die Pfade aller Verzeichnisse, getrennt durch Doppelpunkte, an. Falls Sie eine schnelle Festplatte speziell für Spooling-Operationen benutzen möchten, müssen Sie eventuell einen anderen Pfad benutzen, damit Ihr wichtigstes Spool-Verzeichnis auf dieser Platte liegt. Wenn Ihre schnelle Festplatte als /var/spool aufgesetzt ist, könnten Sie hier etwa folgendes eintragen:

SPOOL_DIRS=/var/spool/smail:/usr/spool/smail

NEWS_SPOOL_DIR
Wird normalerweise mit /usr/spool/news belegt; hier gelten ähnliche Überlegungen wie für die Variable SPOOL_DIRS. Mit einer Ausnahme natürlich: Das Volumen von Net-News ist riesig, so daß Sie vielleicht wirklich weitere Spool-Verzeichnisse brauchen...
Die Datei mkconfig

Wenn Sie mit dem Inhalt Ihrer EDITME -Datei zufrieden sind (vielleicht haben Sie sogar festgestellt, daß Sie in EDITME keine besonderen Einstellungen vornehmen mußten), ist es an der Zeit, /usr/lib/smail/tools.linux/mkconfig aufzurufen. Dieses Hilfsprogramm erzeugt eine zusätzliche Datei, die andere smail -Variablen außer Kraft setzt oder ergänzt; die Datei heißt /usr/lib/smail/tools.linux/config.state . Wir werden für Sie einige der anstehenden Fragen beantworten und die resultierende Ausgabedatei zeigen. Dies sind die Probleme, auf die Sie eine Antwort haben sollten, wenn Sie mkconfig aufrufen:

Weitere Rechnernamen
mkconfig kennt bereits einen Rechnernamen, wenn Sie Linux aus einer der Standarddistributionen installiert oder in der Datei EDITME einen Namen vergeben haben. Jetzt werden Sie gefragt, ob Ihr System unter verschiedenen Namen bekannt sein soll. Das ist z.B. dann sinnvoll, wenn der Rechner in mehr als ein Netzwerk eingebunden ist. Für unseren Konfigurationslauf war der Rechnername bereits mit pond.walden.com belegt (zusammengesetzt aus dem Wert für den Rechnernamen pond und dem Wert für den Domainnamen walden.com). Ich (Lar) habe diese Frage beantwortet, indem ich als weiteren Rechnernamen pond.conserve.org eingetragen habe, weil wir möchten, daß einige unserer E-Mail-Partner dort draußen uns unter diesem Domainnamen kennen.
Der sichtbare Name des Systems
Sie können als sichtbaren Namen einen anderen als den tatsächlichen Rechnernamen wählen. Der Zweck dieser Option ist, daß eine einheitliche sichtbare Adresse für sämtliche E-Mail existieren soll, die von einer Gruppe von Systemen stammt. Sie sollten das System benennen, an das alle E-Mail von außerhalb des lokalen Netzes gleitet wird. Wenn kein sichtbarer Name angegeben wird, wird dieser aus den tatsächlichen Namen für Rechner und Domain gebildet.
Der Smarthost
Dies ist ein sehr wichtiger Punkt. Sie sollten einen Smarthost haben, an den sämtliche E-Mail geschickt wird, die Sie nicht zustellen können. Falls Sie diese Frage beim Aufruf von mkconfig nicht beantworten, sollten Sie in der Datei /usr/lib/smail/config einen Namen nachtragen, sobald Sie in der Lage sind, einen Smarthost zu benennen. Wir haben diese Frage mit ruby.ora.com beantwortet, weil das unsere Verbindung zum Rest der Welt ist.
Der Smart-Transport
Damit bestimmen Sie, welches Transportmedium benutzt werden soll; die Voreinstellung ist TCP.
Der Smartuser
Eine Option für die E-Mail-Zauberer, die Adressen einrichten können, an die fehlgeleitete E-Mail geschickt werden soll. Vielleicht sollten Sie diese Variable nicht belegen, so daß E-Mail für einen Benutzer, der auf diesem System unbekannt ist, an den Absender zurückgeht.
Der Postmaster
Irgend jemand sollte für die E-Mail verantwortlich sein. Falls Sie derjenige sind, der mkconfig aufruft, sind wahrscheinlich Sie das, und Sie sollten an dieser Stelle Ihre Benutzerkennung angeben. Wenn kein Postmaster benannt wird, geht an postmaster adressierte E-Mail an den Benutzer root . Wir haben lark als Benutzerkennung für den Postmaster angegeben.
Der vorrangig benutzte Mailer
mkconfig prüft ganz einfach, ob /bin/mail vorhanden ist; wenn das (wie auf den meisten Linux-Systemen) der Fall ist, benutzt es bedauerlicherweise /bin /mail als Hauptmailer. Sie können Ihre Konfigurationsdatei so anpassen, daß ein anderer Mailer wie z.B. Elm benutzt wird.

Die Datei, die wir als Ergebnis des interaktiven mkconfig -Ablaufs erhalten haben, sieht folgendermaßen aus:

more_hostnames=pond.walden.com:pond.conserve.org
visible_name=
smart_path=ruby.ora.com
smart_user=
postmaster=lark
Letzte Hinweise zur Installation von smail

Wenn die Installation von smail beendet ist, sollten Sie sich vergewissern, daß alle vorhandenen Befehle, die auf Ihrem System durch smail ersetzt werden sollen (z.B. rmail und sendmail ) entfernt oder umbenannt worden sind. (Das Installationsskript von smail hat diese Links wahrscheinlich bereits erzeugt, aber Sie müssen sich davon überzeugen; es kann sein, daß bereits vorhandene Utilities nicht durch Links auf smail ersetzt wurden.) Erzeugen Sie die notwendigen smail -Links, die es in seinen vielen Funktionen braucht, so daß Programme, die auf diese Utilities zugreifen, sie auch finden können:

# ln /usr/bin/smail /usr/bin/mailq 
# ln /usr/bin/smail /usr/bin/rmail 
# ln /usr/bin/smail /usr/bin/rsmtp 
# ln /usr/bin/smail /usr/bin/runq 
# ln /usr/bin/smail /usr/sbin/sendmail 
# ln /usr/bin/smail /usr/bin/smtpd 
# ln /usr/bin/smail /usr/bin/mkaliases 

Nachdem Sie diese Links erzeugt haben, können die Utilities, die diese Links benutzen, für die Arbeit im Netzwerk konfiguriert werden.

Eine gute Beschreibung dieses Vorgangs finden Sie (natürlich) im Linux Network Administrator's Guide .

Wenn smail auf Ihrem System richtig konfiguriert ist, enthält die Datei /etc/services eine Zeile wie:

smtp        25/tcp        mail

/etc/services enthält außerdem folgende Zeile:

smtp   stream  tcp    nowait  root  /usr/sbin/tcpd  /usr/bin/rsmtp -bs
Die Konfiguration von smail zur Laufzeit

Die ausführbare smail -Datei ist vorkonfiguriert und muß kaum angepaßt werden. In der Regel können Sie solche Änderungen mit dem EDITME -Skript, dem Skript linux.tools/config oder direkt in der Datei /var/lib/smail/config vornehmen. Im Normalfall ist keine weitergehende Konfiguration notwendig, aber es gibt noch einige andere Dateien, mit deren Hilfe smail seine Konfiguration zur Laufzeit ändern kann. Falls Sie jemals irgendeine dieser Dateien benutzen müssen, sollten Sie sie anhand der Anleitung »Setting Up Runtime Configuration Files« im Smail -- Installation and Administration Guide kompilieren. Lesen Sie außerdem in smail(5) die Bedeutung der Variablen nach, die Sie belegen.

Sie können eine zweite Konfigurationsdatei, nämlich /private/usr/lib/smail/config , benutzen, um das Verhalten des Mailers auf einer lokalen Workstation zu ändern. Dies ist für die Benutzung in einem LAN gedacht -- für den Fall, daß das lokale System sich anders verhalten soll, als die zentrale smail -Konfigurationsdatei es für das Netz als Ganzes bestimmt.

Mit Hilfe der Dateien directors , routers und transports können Sie Attribute der smail -MTA-Funktionen Director, Router bzw. Transport neu definieren. Auch dies ist normalerweise nur in LANs und Netzwerken mit mehreren Verbindungen von Bedeutung.

Die Datei methods kann im Zusammenhang mit der Konfiguration zur Laufzeit benutzt werden, um für verschiedene Systeme die Benutzung unterschiedlicher Transportprotokolle festzulegen. Für den gemischten Betrieb mit UUCP und TCP/IP ist das nicht notwendig, aber Sie können damit ungewöhnliche Konstellationen handhaben -- beispielsweise die Benutzung eines SMTP-Protokolls über UUCP oder eines UUCP-Batch-Protokolls über TCP/IP. Solche Techniken können sehr nützlich sein, sind aber nicht für Mail-Neulinge geeignet.

Eine Datei namens qualify kann benutzt werden, um einem System mitzuteilen, zu welcher Domain E-Mail geschickt werden soll, die nur einen Rechnernamen als Adresse enthält. Diese Möglichkeit kann leicht mißbraucht werden und sollte normalerweise nicht genutzt werden. Sie können damit aber das UUCP-Mail-Routing zu einem UUCP-System erledigen, das vollständige und aktuelle UUCP-Maps unterhält (in Zusammenarbeit mit dem Mail-Verwalter jenes Systems).

Die Datei retry kann benutzt werden, um zu bestimmen, wie smail wiederholte Sendeversuche und Time-outs handhaben soll. In dieser Datei können Sie die Wartezeit zwischen Sendeversuchen, zeitliche Obergrenzen und die Anzahl der Übermittlungsversuche für jede Zieldomain, zu der Ihr System eine Verbindung hat, einzeln festlegen. Es würde den Rahmen dieses Buches sprengen, die Benutzung der Datei retry zu erläutern, aber eines Tages müssen Sie vielleicht wissen, daß es diese Datei gibt.

Das Mail-Transport-Protokoll

Die Anzahl der zur Verfügung stehenden Transportmedien ist begrenzt. Um einen Anschluß an das Internet zu finden, werden Sie ein Transportprotokoll übernehmen müssen, mit dem die Verwalter Ihres Internet-Anschlußrechners umgehen können. Bei einem Ethernet- oder ISDN-Anschluß an Ihren Verbindungsrechner könnte das TCP/IP sein; anderenfalls werden Sie ein serielles Protokoll benutzen.

SLIP und UUCP können auf einer seriellen Standleitung oder über eine Modemverbindung benutzt werden. Im Linux Network Administrator's Guide finden Sie detaillierte Beschreibungen und Konfigurationshinweise für die Benutzung von Transportprotokollen auf Ihrem Rechner; dieses Buch sollte Ihr Führer durch den Protokolldschungel sein.

Weitere Überlegungen zur Verwaltung von E-Mail

In diesem Abschnitt beschreiben wir Aufgaben, Dienste und einige weitere Utilities, die mit der Verwaltung Ihres E-Mail-Systems zu tun haben.

Anschluß an das Internet finden

Normalerweise sollten Sie Ihre gesamte E-Mail über ein einziges Internet-System erhalten. Es ist möglich, komplexere Konstellationen einzurichten, aber das wird nicht gern gesehen. Dabei besteht die Möglichkeit, daß Schleifen angelegt werden -- wahre schwarze Löcher an verlorengegangener Information aus dem Netz -- so daß E-Mail im Kreis herumgeschickt wird und dabei immer wieder dieselben Systeme passiert; solange, bis ein »Time-out« wirksam wird, weil die Anzahl der Rechner beschränkt ist, die E-Mail durchlaufen kann.

Eine Adresse registrieren lassen

Sie müssen einen Internet-Domainnamen für Ihren Rechner eintragen lassen, wenn Sie vom Internet aus erreichbar sein wollen. Sie können entweder den Domainnamen Ihres Verbindungsrechners benutzen oder einen völlig anderen Namen wählen. Das spielt keine Rolle, weil die Datenbasis des Domain Name System (DNS) darauf hinweisen wird, daß E-Mail für Ihre Domain an Ihren Internet-Anschlußrechner geleitet werden soll. Wir bezeichnen diesen Verbindungsrechner als Gateway -Verbindung. (Wenn Ihr System sämtliche E-Mail nur an diese Gateway-Verbindung schickt, bezeichnet man es als Leaf -System -- Ihr Rechner ist quasi ein Blatt am Mail-Baum.)

Der Gateway-Rechner, der Sie mit dem Internet verbindet, enthält in der Regel auch Ihren Mail-Exchanger-Record (MX-Record). Der Rechner, der den MX-Record eines anderen Systems enthält, fungiert als Mail-Zustellrechner für dieses System. Er muß für alle Rechner in Ihrer Domain die genauen Pfade für die Zustellung von E-Mail kennen, falls Sie mehr als einen Mail-Rechner eingerichtet haben. Der Gateway ist direkt mit Ihrem System verbunden, und zwar in der Regel per Ethernet oder via eine UUCP-Verbindung über eine Wählleitung.

Ihr eigenes Mail-System sollte so konfiguriert sein, daß die E-Mail, die weder an einen lokalen Rechner geht noch direkt an einen anderen Rechner, zu dem Sie eine Verbindung haben, an den Internet-Mail-Gateway geschickt wird, der auch Ihr »Smarthost« ist.

Der Linux Network Administrator's Guide zeigt Ihnen, wie Sie Domainnamen registrieren lassen, MX-Records ausfüllen und die beiden Enden eines Gateway/Leaf-Systems konfigurieren. Zwei andere Titel, die bei der Verwaltung Ihres Internet-Anschlusses hilfreich sein können, sind TCP/IP Netzwerk Administration und DNS and BIND .

Die Verwaltung des Mail-Systems

Sie sollten einen cron -Job einrichten, der regelmäßig die Mail-Warteschlange (mail queue; meistens /var/spool/smail ) prüft und dann versucht, noch nicht ausgelieferte E-Mail auf den Weg zu bringen. Mail kann in die Warteschlange gestellt worden sein, weil ein Zielrechner zeitweise nicht zu erreichen war, weil ein Dateisystem voll wurde oder aus einem anderen von unzählbaren Gründen.

Wir besprechen cron im Abschnitt » Jobs ausführen mit cron « in Kapitel 4 .

Auch der Mail-Verwalter sollte gelegentlich einen Blick auf die Mail-Queue werfen und sich vergewissern, daß dort keine Nachrichten »hängengeblieben« sind:

$ mailq -v

Damit erhalten Sie einen Bericht über die Nachrichten in der Warteschlange sowie ein Protokoll, aus dem Sie ablesen können, ob ein länger andauerndes Mail-Problem vorliegt.

Elm installieren

Jetzt sind Sie also in der Lage, auf Ihrem System E-Mail zu empfangen -- die Nachrichten sitzen im Spool-Verzeichnis und warten darauf, gelesen zu werden. Ihre letzte Aufgabe ist die Installation eines Mailers, der Sie auf bequeme Weise E-Mail lesen, schreiben und abspeichern läßt.

Der Mailer Elm wurde von Dave Taylor von der Elm Development Group geschrieben; er wird heute durch den Usenet Community Trust weiterentwickelt. Die Copyrights für Elm liegen bei Dave Taylor und dem Usenet Community Trust.

Elm ist nicht der ausgefeilteste Mailer, den es gibt, aber er ist robust und deckt die Bedürfnisse der meisten Benutzer ab. Er hat eine einfache Bedienoberfläche mit Menüs und einer eingebauten Hilfefunktion. Die meisten anderen zeilenorientierten Mailer für Linux unterstützen im wesentlichen dieselben Grundfunktionen eines Mailers und benutzen eine ähnliche Bildschirmanzeige. Wenn Sie Elm erst einmal kennengelernt haben, können Sie problemlos zu einem anderen Mailer wechseln, der Ihnen mehr zusagt.

Wir erwähnen in unserer Besprechung einige Verzeichnisse und Dateien, die Elm benutzt. Dabei handelt es sich um die Voreinstellungen; es kann sein, daß Ihr Mail-Verwalter andere Verzeichnisse benutzt hat, und jeder Benutzer hat die Möglichkeit, eigene Dateien und Verzeichnisse zu wählen.

Die Installation vorbereiten

Bevor Sie Elm installieren, sollten Sie bereits die Verbindungen zu allen UUCP- und TCP/IP-Systemen hergestellt haben, mit denen Sie E-Mail direkt austauschen werden. Es kann passieren, daß Sie Elm erneut installieren oder einige Dateien editieren müssen, wenn sich diese Verbindungen ändern. Sie sollten darauf vorbereitet sein, daß Sie während der Installation das Konfigurationsprogramm von Elm mit wichtigen Daten wie z.B. dem Domain- und Rechnernamen, Angaben zum Routing von E-Mail usw. versorgen. Insbesondere müssen Sie folgende Informationen bereithalten:

Domainname
Wenn Sie sich in das Internet begeben, müssen Sie einen Domainnamen registrieren lassen, oder (im Normalfall) in eine bereits bestehende Domain aufgenommen werden -- wahrscheinlich ist das die Domain des Systems, das Sie mit E-Mail versorgt und Ihren MX-Record enthält.
Hostname
Der Name des Rechners, den Sie gerade konfigurieren.
Absoluter Name
Der vollständige Rechnername inklusive der Domain.
Locking methods
Elm benutzt Spool-Dateien für E-Mail-Nachrichten, und manchmal müssen diese Dateien gesperrt werden. Folgende Methoden der Dateisperrung werden von Elm unterstützt: »Dotlock«-Sperren von UUCP, flock -Sperren von BSD und fcntl -Sperren von System V. Linux kennt sowohl die Funktion fcntl als auch flock . Wenn Sie auf Ihrem System auch UUCP benutzen, brauchen Sie außerdem »Dotlock« und sollten zumindest fcntl aktivieren. Elm wird nach dem Aufruf von Configure interaktiv abfragen, welche Arten der Dateisperrung Sie unterstützen möchten.
Content-length control (Kontrolle über die Länge einer Nachricht)
MTAs sind mittlerweile in der Lage, binäre Nachrichten zu transportieren, die in eine Mail eingebettet sind. Damit das funktioniert, darf allerdings der Inhalt einer Nachricht durch die Mailer nicht verändert werden. In der Header-Zeile Content-Length: wird die Länge einer Nachricht vermerkt und Sie sollten zulassen, daß dieser Header-Eintrag benutzt wird. Damit der Content-Length:-Header berücksichtigt werden kann, muß allerdings sichergestellt sein, daß der Mailer keine Escape-Codes oder Füllzeichen vor einer Zeile einfügt, die mit dem String »Front« beginnt.
Dot message termination Nachricht mit einem Punkt beenden
In der Voreinstellung schaltet Elm das Beenden von Nachrichten mit einer Punkt-Zeile ab (wobei eine Zeile, die nur einen . enthält, dem Mailer das Ende der Nachricht anzeigt). Sie brauchen Dot-message-termination nicht, wenn Sie die Content-length-control einschalten, was sie in dieser schönen neuen Multimedia-Welt wohl tun werden.

Bevor Sie Configure starten, um Elm zu installieren, sollten Sie den Elm Configuration Guide lesen, damit Sie alle Antworten vorbereiten können, um den Vorgang erfolgreich abzuschließen. Neben den Punkten, die wir gerade aufgeführt haben, gilt es noch eine Reihe weniger wichtiger Dinge zu entscheiden. Teilweise brauchen Sie dazu Kenntnisse des Linux-Dateibaums -- machen Sie sich also vorab damit vertraut, damit Sie später nicht abbrechen oder neu installieren müssen.

Eventuell finden Sie weitere Hilfestellung in dem Kapitel des Linux Network Administrator's Guide , das eine Einführung in die E-Mail gibt; hier gewinnen Sie einen breiteren Überblick über Themen rund um die E-Mail, einschließlich Mail-Adressierung und -Routing sowie der Benutzung von UUCP als Routing-Agent.

Wenn Sie eine ältere Version von Elm ersetzen, kann es sein, daß Sie auch alle Alias-Dateien des Systems sowie der Benutzer ersetzen müssen. Zu diesem Zweck gibt es den Befehl newalias , der von jedem Benutzer aufgerufen werden sollte.

Die Installation

Besorgen Sie zuerst die neueste freigegebene Version der Elm-Quelltexte und kopieren Sie die Quelldateien in ein Verzeichnis wie z.B. /usr/local/bin/elm2.4 . Eventuell war Elm in Ihrer Distribution enthalten und ist bei der (Neu)Installation von Linux mit kompiliert worden. Falls das der Fall ist, sollten Sie die Installation auf Vollständigkeit und Aktualität überprüfen.

Mindestens eine der bekannteren Distributionen von Linux enthält zwar das Elm-Paket, allerdings nur die ausführbare Datei ohne Beispiel-Konfigurationsdateien und Installationshinweise. Sie können die restlichen Dateien (einschließlich der Dokumentation) aus den FTP-Archiven beziehen, auf denen das ganze Paket angeboten wird; das müssen nicht unbedingt Linux-Archive sein.

Das Elm-Paket enthält ein Shell-Skript namens Configure , das Sie zum Installieren von Elm aufrufen. In der Datei Instruct finden Sie die wichtigsten Anweisungen zur Installation der aktuellen Version von Elm auf Ihrem System; wahrscheinlich sind hier aber nicht die Informationen aufgeführt, die Sie zur Hand haben sollten, wenn Sie Configure starten. Wir werden versuchen, Ihnen zu zeigen, was Sie auf jeden Fall wissen müssen; sollten wir etwas übersehen haben, brauchen Sie für einen neuen Versuch nur Configure noch einmal zu starten. Rufen Sie Configure in Ihrem Elm-Verzeichnis als Benutzer Root auf:

# sh Configure

Configure installiert interaktiv die Konfigurationsdateien in den angegebenen Verzeichnissen.

Als nächstes sollten Sie die Elm-Dokumentation installieren:

# make documentation

Starten Sie anschließend den kompletten make -Vorgang, der Protokolldateien erstellt und bei make -Fehlern entsprechende Meldungen ausgibt:

# make all > MAKELOG 2>&1 & 
# tail -f MAKELOG

Wir haben vorausgesetzt, daß Sie bash benutzen; falls Sie mit csh oder tcsh arbeiten, geben Sie folgenden make -Befehl ein:

% make all >& MAKELOG &

Dieser Vorgang dauert eine ganze Weile. Nach erfolgreicher Beendigung sollten Sie die meisten der folgenden Befehle in /usr/bin vorfinden: answer , arepdaemon , autoreply , checkalias , elm , fastmail , filter , frm , listalias , messages , newalias , newmail , printmail und readmsg . Außerdem sollten die entsprechenden Manual-Pages in /usr/man/man1 und /usr/man/man8 stehen.

Installieren Sie als nächstes die Software auf Ihrem System:

# make install 

Zum Zeitpunkt des Schreibens (Elm-Version 2.4) gibt es eine bekannte Sicherheitslücke bei den Befehlen arepdaemon und autoreply . Sie sollten diese Befehle aus Ihrem System löschen. Entfernen Sie ebenfalls die Manual-Pages zu diesen Utilities, bevor Sie mit makewhatis Ihre whatis -Datenbank aktualisieren.

Vor dem Aufruf von Elm sollten Sie die E-Mail lesen und entfernen, die eventuell für den Benutzer Root in der Warteschlange steht. Sie werden die Elm-Konfiguration als root testen und möchten bestimmt keine unerledigten Nachrichten verlieren.

Testen Sie dann Ihre Installation, indem Sie Elm starten. Achten Sie zunächst darauf, daß keine vorhandenen Nachrichten angezeigt werden (immer noch als Root):

# elm -z

Elm sollte die Meldung no mail anzeigen und sich beenden. (Wenn Nachrichten für root in der Warteschlange stehen, wird Elm im interaktiven Modus starten und die Meldungen im Inhaltsverzeichnis anzeigen.)

Prüfen Sie als nächstes, ob die Mailboxen korrekt gehandhabt werden. (Elm legt bei der Installation ein Testverzeichnis an.)

# elm -f test/test.mail

Verlassen Sie Elm, ohne Nachrichten für die Löschung zu markieren. Elm sollte Sie fragen, was mit den Nachrichten zu geschehen hat.

Loggen Sie als nicht privilegierter Benutzer ein und rufen Sie elm -z auf. Elm sollte nur dann starten, wenn noch unbearbeitete Nachrichten im Spool-Verzeichnis stehen. Falls E-Mail auf Sie wartet und Sie Elm vorher nicht installiert hatten (es gibt das Verzeichnis $HOME/.elm noch nicht), sollte Elm fragen, ob es das Verzeichnis anlegen soll. Sie sollten die Datei SYSTEM_ALIASES editieren und mindestens einen Alias-Namen eintragen, mit dem der Postmaster des Systems bezeichnet wird; damit bewirken Sie, daß E-Mail, die an Ihren Postmaster adressiert ist, korrekt zugestellt wird. Erstellen Sie anschließend mit dem Befehl newaliases die Tabelle mit den Alias-Namen. Dieser Vorgang wird im Elm Configuration Guide für Ihre Version von Elm beschrieben.

Sobald Sie sicher sind, daß Elm korrekt installiert und konfiguriert ist, können Sie es in Ihrem gesamten LAN installieren (falls Sie Mail-Dienste auf mehr als einem Rechner anbieten). Die Hinweise für den make -Vorgang finden Sie in der Datei Instruct in der Elm-Distribution.

Die Dokumentation zu Elm

Es gibt einen Satz Dokumentation zu Elm, der nützlich sein kann, wenn Sie Elm feintunen oder Skripts für die fortgeschrittene Handhabung von E-Mail schreiben möchten. Die Elm-Dokumentation auf Ihrem System paßt wahrscheinlich zu der Version von Elm, die Sie benutzen -- ein nicht zu unterschätzender Vorteil. Die folgenden Anleitungen sind Bestandteil der Elm-Dokumentation:

Elm User's Guide
Enthält die Geschichte von Elm, die wichtigsten Schritte bei der Benutzung und Danksagungen an die Entwickler von Elm. Bietet zwar eine Einführung in die Benutzung, geht aber kaum auf die zugrundeliegenden Konzepte ein; ein paar der Konzepte werden im Elm Reference Guide und in anderen Anleitungen beschrieben. Für eine der Elm-Versionen bis einschließlich 2.4 werden Sie diese Anleitung wahrscheinlich nicht brauchen -- es sei denn, um Ihre Neugierde zu befriedigen.
Elm Reference Guide
Beschreibt Elm und die Optionen der Elm-Umgebung, fortgeschritte Möglichkeiten und das Debugging von Elm, das Maßschneidern der Optionsdatei elmrc und andere Dinge. Enthält einige der Konzepte, die im Elm User's Guide fehlen sowie nützliche theoretische und praktische Informationen zu verschiedenen Fähigkeiten und Utilities von Elm. Dieser Band kann bei der Konfiguration von Elm eine große Hilfe sein. Es sind einige Informationen enthalten, die nur für Mail-Verwalter von Interesse sind.
Elm Alias User's Guide
Behandelt die Einrichtung und Pflege der Mail-Alias-Namen in Elm sowie die dazugehörigen Dateien.
Elm Filter System User's Guide
Erklärt die Benutzung der Mail-Filtermechanismen in Elm, mit denen ein Teil der Mail-Handhabung automatisiert werden kann.
Elm Configuration Guide
Hier werden alle verfügbaren Optionen der aktuellen Elm-Version besprochen, um Sie beim Feintunen der Konfiguration zu unterstützen. Sie könnten Probleme bekommen, wenn Sie sich nur auf diesen Band verlassen. Für den Fall, daß Sie vorhaben, mit einigen der eher obskuren Optionen herumzuspielen, möchte ich empfehlen, immer nur eine Option zu ändern und anschließend die Auswirkungen zu untersuchen -- führen Sie keine Änderungen im großen Stil durch. Dieser Band ist allerdings für Mail-Verwalter interessant, die ihn zusammen mit einer komplett ausgedruckten elmrc -Datei und der Datei sysdefs.h benutzen sollten.
Elm Forms Mode Guide
Beschreibt die Benutzung der Mail-Formulare von AT&T, die von Elm unterstützt werden. Diese Möglichkeit ist für die meisten Elm-Benutzer ohne Bedeutung, aber wenn Sie diese Formulare brauchen, dann brauchen Sie auch diese Anleitung.
Elm reference pages
Elm wird mit einer Online-Hilfe für alle Utilities geliefert, die Sie auf der Befehlszeile aufrufen können; Sie erreichen diese Hilfe mit dem Befehl man . Es gibt außerdem eine Seite mit einer Übersicht über alle Dateien, die Elm bei seiner Arbeit erstellt und benutzt. Diesen Hilfen sind jederzeit von großem Nutzen, und Sie sollten häufig darauf zugreifen. Sie finden darin eine Beschreibung der Befehlszeilenoptionen für alle Befehle sowie technische Details, die vielleicht nirgendwo sonst zu finden sind. Auf einigen Rechnern liegen diese Dateien auch in druckbaren Formaten vor, wie beispielsweise PostScript, ASCII oder sonstigen; drucken Sie sich also ein Exemplar zum Nachschlagen aus.

Elm enthält darüberhinaus eine programminterne Hilfefunktion; diese ist in einer Reihe von Dateien gespeichert, die Sie zum einfacheren Nachschlagen ausdrucken können. Es handelt sich um folgende Dateien:

elm-help.0
Hilfen zu den Elm-Aktionen (internen Befehlen), die von Elms Inhaltsverzeichnis aus erreichbar sind.
elm-help.1
Hilfen zum Options-Menü von Elm (Konfiguration durch den Benutzer).
elm-help.2
Hilfen zum Alias-Menü von Elm.
elm-help.3
Hilfen zu den Elm-Aktionen, die von Elms Nachrichtenbildschirm aus erreichbar sind.


Inhaltsverzeichnis Vorherige Abschnitt Nächste Abschnitt