CHIP-Spezial: Linux als Mailserver

 
Linux-Rechner arbeiten schon sei langer Zeit als Mail-Server. Bei vielen Providern werden Linux-Rechner aufgrund des extrem guten Preis-Leistungs-Verhältnisses und der hohen Flexibilität eingesetzt, um Mails für Kunden und Mitarbeiter zu verwalten.

 

1. Debian-Installation
2. Ein richtiger Mailserver?
3. Konfiguration
4. Mails lesen
5. Mails automatisch holen
6. Andere Mailserver

Einer der wichtigsten und ältesten Dienste im Internet, wenn nicht der wichtigste überhaupt, Electronic-Mail. In der Anfangszeit des Internets wurden mit Hilfe von Unix-to-Unix-Copy (kurz: UUCP) Mails zwischen zwei amerikanischen Universitäten ausgetauscht. Die Verbindung war langsam, doch wurden damals auch noch nicht viele Mails geschrieben.

Das Verschicken von elektronischen Nachrichten fasziniert seitdem die Menschheit. Heutzutage stellt Mail immer noch einen extrem wichtigen Dienst im Internet dar. Die meisten Personen, die das Internet auf die eine oder andere Weise nutzen, verfügen über wenigstens eine eigene Mailbox. E-Mail ist heutzutage selbstverständlich.

Um E-Mail empfangen und versenden zu können, wird jedoch noch lange kein eigener Mailserver benötigt. Für viele Zwecke ist es völlig ausreichend, die Mailserver des Providers zu benutzen. Wenn ein Netzwerk mit (semi-) permanenter Verbindung zum Interenet betrieben werden soll, kann ein Mailserver jedoch sinnvoll werden.

[Austausch von Mails mit einem Client (z.B. Netscape)]

Abb. 1: Austausch von Mails mit einem Client (z.B. Netscape)

Die nebenstehende Abbildung beschreibt den Ablauf ohne eigenen Mailserver. Mit Hilfe des Mail-Protokolls POP3 (alternativ auch IMAP) saugt das Mail-Programm (z.B. Netscape, kMail, Balsa, Mutt) vom Mail-Server im Internet die Mails Byte für Byte. Wenn sie auf den Rechner übertragen sind, können sie gelesen werden. Wird neue Mail geschrieben, so sendet das Mail-Programm (auch MUA oder "Mail User Agent" genannt) diese direkt an einen Mail-Server im Internet, der für diesen Client zuständig ist. Dieser leitet die Mail anschließend nach üblichen Regeln weiter.

Umfangreicher ist die Kommunikation mit einem eigenen Mailserver, die Sie in der nächsten Abbildung sehen. Die Mail wird von einem SMTP-Daemon empfangen und an den den Mail-Transport-Agent (MTA, z.B. »exim« oder »postfix«) weitergeleitet. Das kann auch ein und dasselbe Programm sein, Postfix hat z.B. einen eigenen SMTP-Daemon, »exim« macht alles selbst. Wenn die Mail lokal ausgeliefert werden soll, kann dieses über einen Mail-Delivery-Agent (MDA) erfolgen, der es in die Mailbox schreibt, die schließlich vom Mail-Client gelesen wird.

[Mail-Verkehr mit einem eigenen Mail-Server]

Abb. 2: Mail-Verkehr mit einem eigenen Mail-Server

Debian-Installation

Da auf einem Unix-System teilweise eine Menge Status-Nachrichten erzeugt werden und Unix-Systeme klassischerweise mit einem eigenen Mailserver ausgestattet sind, wird während der Installation von Debian GNU/Linux automatisch ein Mail-Server installiert. Es wird das Paket »exim« installiert, das am einfachsten zu konfigurieren ist und alle benötigten Funktionen bietet. Für große Server im Internet, auf denen viel Mails an viele unterschiedliche Adressen ausgeliefert werden sollen, eignet sich stattdessen vor allem Postfix besonders gut.

[Die Installation von »exim«]

Abb. 3: Die Installation von »exim«

Einen Mailserver mit Debian GNU/Linux einzurichten, ist nicht schwer. Während der Installation stellt die Installationsroutine mehrere Fragen, anhand derer die Grundkonfiguration selbständig aufgebaut wird. Normalerweise werden Sie dort die Option »Local delivery only« auswählen. Sie bewirkt, daß der Mail-Server installiert und konfiguriert wird, jedoch keine Verbindung zur Außenwelt hat oder aufbaut. Das ist für den normalen Betrieb eines Linux-Rechners als Arbeitsplatz vollkommen ausreichend.

Ein richtiger Mailserver?

Einen Mailserver im Internet zu betreiben, bedarf ein gutes Maß an Erfahrung und Fingerspitzengefühl. Die nötige Erfahrung erhält man nur dadurch, daß man die Programme und Protokolle studiert und ausprobiert. Dafür ist das heimische Netzwerk als "Spielplatz" hervorragend geeignet. Vor der Entscheidung, einen eigenen Server einzurichten sollte man sich jedoch Gedanken über die Gefahren machen:

[Exim-Homepage]

Abb. 5: Exim-Homepage

Daneben gibt es natürlich auch Vorteile, die für den Einsatz eigenen Mailservers sprechen:

Konfiguration

Debian stellt die Basiskonfiguration während der Installation des Pakets »exim« zusammen. Wenn sie nachträglich geändert werden soll, wird das Programm »eximconfig« aufgerufen, das die Konfiguration neu zusammenstellt und anschließend in »/etc/exim.conf« speichert. Während der Konfiguration müssen die folgenden Begriffe bekannt sein:

Das Programm »exim« ist so konfiguriert, daß es mit Hilfe des Internet-Superservers »inetd« Mails vom SMTP-Port empfängt. Dieses ist in »/etc/inetd.conf« eingetragen. Sobald der Rechner eine Verbindung zum Internet hat, ist es daher möglich, daß Mail im eigenen Rechner eingeliefert wird.

Mails lesen

Eingehende Mails werden im Verzeichnis »/var/mail« in die verschiedenen Mailboxen einsortiert. Die meisten Programme erwarten eine lokale Mailbox, wenn sie nicht anders konfiguriert wurden. Mit normalen Mail-User-Agents wie Mutt werden nun die eingehenden Mails gelesen.

Wenn Sie jedoch den Linux-Rechner als Server verwenden und Mails von einem anderen Rechner lesen möchten, bietet es sich an, einen POP3-Daemon zu installieren und damit anderen Rechnern im Netzwerk paßwortgeschützten Zugriff auf die Mailboxen auf dem Linux-Rechner zu geben. Seien Sie jedoch gewarnt, das POP3-Protokoll ist nicht auf Sicherheit getrimmt, Paßwörter werden üblicherweise im Klartext übertragen, also unverschlüsselt. Um Zugriff auf Mails mit POP3 zu ermöglichen, installieren Sie das Paket »ipopd« mit dem Befehl:

  apt-get install ipopd

[So tragen Sie Ihren eigenen Server in Netscape in]

Abb. 6: So tragen Sie Ihren eigenen Server in Netscape in

Wenn Sie auf den Arbeitsplatzrechnern Netscape einsetzen, dann müssen Sie dort lediglich Ihren Namen, Ihre E-Mail-Adresse sowie die Namen der Server einstellen. Dazu wählen Sie im Menü den Eintrag »Edit | Preferences« aus, worauf das Preferences-Fenster aufpopt. Dort tragen Sie die Einstellungen in den Menüpunkten »Identity« und »Mail Servers« im Zweig »Mail and Newsgroups« ein. Bei »Outgoing Mail Server« sowie »Server Name« tragen Sie den Namen bzw. die IP-Nummer des Linux-Rechners ein und bei »User Name« Ihr Login auf dem Linux-Rechner.

[Mit »fetchmailconf« läßt sich »fetchmail« bequem konfigurieren]

Abb. 7: Mit »fetchmailconf« läßt sich »fetchmail« bequem konfigurieren

Mails automatisch holen

Unix wäre nicht Unix, wenn man nicht Aufgaben automatisieren könnte. Wenn auf dem Rechner ein Mail-Server installiert ist, dem Rechner jedoch keine dauerhafte IP-Nummer zugewiesen wurde, dann werden Mails normalerweise nicht über den SMTP-Port von außerhalb empfangen, die Adresse ändert sich ja bei jeder Einwahl. Stattdessen wird ein Mail-Server des Providers benutzt, auf dem Mails eingehen und von dem sie per POP3 abgeholt werden müssen.

Dieses muß jedoch nicht mit einem Mail-Client erledigt werden, sondern kann auch bequem mit »fetchmail« geschehen. Das Programm baut eine Verbindung zu einem POP3-Server auf, authentifiziert sich anhand der Einstellungen, saugt die Mails, löscht sie auf dem Server, falls das gewünscht ist, und füttert das lokale Mail-System mit den gesogenen Mails. Dazu wird bei normaler Konfiguration ein funktionierendes lokales Mail-System benötigt. Wer »fetchmail« nicht manuell in einer Datei konfigurieren möchte, hat mit dem Programm »fetchmailconf« aus dem gleichnamigen Paket eine einfache grafische Möglichkeit dazu.

[Postfix-Homepage]

Abb. 8: Postfix-Homepage

Andere Mailserver

Auf großen Mail-Servern, die viel Mails verarbeiten und viele Mails verschicken, werden aus Performance-Gründen oft andere Programme als »exim« eingesetzt. Die Programme »postfix«, »sendmail« und »qmail« verhalten sich flexibler und schicken Mails schneller raus. Sie sind jedoch allesamt auch komplizierter zu konfigurieren und zu warten als »exim«.

Während »sendmail« pur nur von wenigen verstanden wird, läßt sich das Programm über Makros jedoch in akzeptabler Weise einrichten. Postfix ist relativ neu und wird mit extrem gut dokumentierten Konfigurationsdateien ausgeliefert. Abgerundet werden diese durch viele, ebenfalls gut kommentierte, Beispiele in »/usr/doc/postfix/examples/«.

Martin Schulze

Ressourcen

Quelle: CHIP Linux Spezial 7/2001