Betrieb und grundlegende Konfiguration eines Mail Transfer Agent (MTA)

Wichtung: 4

Beschreibung: Die Kandidaten sollen in der Lage sein, grundsätzliche Aufgaben eines MTA zu konfigurieren. Fortgeschrittene Anpassungen sind nicht inbegriffen.

Wichtigste Wissensgebiete:
Anpassung einfacher Parameter in den Konfigurationsdateien eines MTA.
Anlegen von E-Mail-Aliasen.
Verwalten der E-Mail-Queue.
Starten und Stoppen des MTA.
Einrichten einer E-Mail-Weiterleitung.
Prüfen und Schließen eines "Open Relay" auf einem E-Mailserver.
Grundsätzliche Problemlösung bei einem MTA.

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:

Konfigurationsdateien, Dokumentation und Befehle von: postfix, qmail, exim und sendmail
/etc/mail/*
~/.forward
sendmail emulation layer commands
newaliases

sendmail - Grundlagen

Einen Mailserver basierend auf sendmail zu konfigurieren gehört zu einigen der schwersten Aufgaben in der Welt der Linux-Administration. Hierzu gibt es eine Floskel: "Jeder gute Linux-Administrator hat einmal die Konfigurationsdatei von sendmail selbst geschrieben. Ein erfahrener Linux-Administrator tut dies kein zweites Mal".

Aus diesem Grund setzt LPI im LPIC-1-Test nur grundlegende Kenntnisse zum Thema sendmail voraus. Es wird also nicht verlangt, dass man einen komplexen sendmail-Mailserver aufsetzen kann.

sendmail ist ein Mail Transfer Agent und ist für die Annahme und Weiterleitung von Mails zuständig. Ein MTA kann beispielsweise im lokalen Netzwerk fungieren und somit die E-Mails, welche von den Netzwerk-Rechnern kommen, an den nächsten MTA im Internet weiterleiten. So muss nur der MTA einen direkten Zugang zum Internet haben.

Die Konfigurationsdatei von sendmail lautet /etc/sendmail.cf. Sendmail kann auf zwei unterschiedliche Art und Weisen gestartet werden. Wenn der Mailserver eine permanente Verbindung zum Internet hat, so macht es Sinn, sendmail als Dämon im Hintergrund zu starten. So ist gewährleistet, dass E-Mails zeitnah gesendet und jederzeit empfangen werden können. Hat der Mailserver keine permanente Verbindung zum Internet, so sollte man einen Cron-Job einrichten, der nach bestimmten Abständen sendmail manuell startet, um den E-Mail-Eingang und -Ausgang zu prüfen.

// sendmail als Dämon starten, alle 5 Minuten E-Mails prüfen
sendmail -bd -q5m

//Andere Möglichkeit, sendmail als Dämon zu starten
/etc/init.d/sendmail start

// sendmail manuell starten
sendmail -q

MTA, MDA, MUA - Mailagenten

Mail Transfer Agent (MTA)
Wenn ein Anwender bzw. Programm eine E-Mail schickt, so wird diese in der Regel an einen Server übergeben, der diese Mail auf den Weg zum Empfänger schickt. Auf diesem Server läuft ein so genannter Mail Transfer Agent, welcher die abgeschickte E-Mail empfängt, die E-Mail analysiert und dann auf die Reise zum nächsten MTA schickt. sendmail ist ein klassischer MTA.

Mail Delivery Agent (MDA)
Ein Mail Delivery Agent (MDA) ist eine Software, die eingehende E-Mails annimmt und sie nach bestimmten Kriterien unter den Empfängermailboxen verteilt (wenn der Account auf dem lokalen Computer vorhanden ist) oder zurück zum SMTP-Server schickt (wenn der Account auf einem anderen Computer ist).

Mail User Agent (MUA)
Mit dem Begriff Mail User Agent werden die Anwenderprogramme wie Mozilla Thunderbird, MS Outlook, mutt, usw. bezeichnet, die zum Verfassen und Verschicken von E-Mails gebraucht werden.

Mailverzeichnisse im Linux-System

/var/spool/mqueue - Ausgehende Mails
Ein MUA legt die zu sendenden E-Mails in das Verzeichnis /var/spool/mqueue ab. Der MTA wie beispielsweise sendmail arbeitet dieses Verzeichnis regelmäßig ab und verschickt bzw. leitet die E-Mail entsprechend an den nächsten MTA.

/var/spool/mail - Eingehende Mails
Ist der MTA die letzte Station der gesendeten E-Mail, die E-Mail ist also beim Provider des Empfängers angelangt, so wird diese in dem Verzeichnis /var/spool/mail gespeichert. Diese können dann vom Anwender wieder durch einen MUA abgerufen bzw. angezeigt werden.

/etc/aliases - Mailaliase

Mailaliase sind nichts weiteres als E-Mail-Adressen, welche kein eigenes Postfach besitzen, sondern lediglich als weitere E-Mail-Adresse für ein Postfach anzusehen sind. Das Postfach für info@pc-erfahrung.de hat beispielsweise E-Mail-Aliase wie mschmidt@pc-erfahrung.de oder kontakt@pc-erfahrung.de. Alle Mails landen aber in das Postfach von info@pc-erfahrung.de.

sendmail liest hierfür die Dateien /etc/aliases bzw. /etc/mail/aliases aus Die Syntax ist sehr einfach:

Aliasname: Username

Beispiele:

// Auszug /etc/aliases

mschmidt: user1
kontakt: user1
shop: user1

Nach jeder Veränderung der Alias-Datei muß das Programm newaliases aufgerufen werden, um diese Aliase für sendmail bekannt zu machen.

~/.forward - Mailweiterleitung

In dem Homeverzeichnis kann eine Datei namens .forward abgelegt werden, so dass sämtliche E-Mails an den User weitergeleitet werden. Mails können an E-Mail-Adressen, Dateien oder Programmen weitergeleitet werden:

E-Mail-Adressen = Die E-Mail wird an eine andere E-Mail-Adresse weitergeleitet
Dateien = Die eingehende Mail wird als Datei abgelegt
Programmen = Die Mail wird zur Weiterverarbeitung einem Programm übergeben

Konfigurationsdateien in /etc/mail

/etc/mail/access - Zugriff auf den Mailserver
In dieser Datei wird festgelegt, von welchen Rechnern E-Mails angenommen und weitergeleitet werden. In folgendem Beispiel alle E-Mails von lokalen Anwendungen (127.0.0.1) weitergeleitet und Mails von Rechnern beginnend mit 192.168. oder aus der Domäne pc-erfahrung.de akzeptiert:

127		RELAY
192.168. OK
pc-erfahrung.de OK

/etc/mail/genericstable - Ausgehende Mails
Diese Datei wird dazu genutzt, die richtige Absender-Adresse der ausgehenden E-Mails einzurichten:

user1                     mschmidt@pc-erfahrung.de
user1@server.local mschmidt@pc-erfahrung.de
user2 aschmidt@gmx.de

/etc/mail/virtusertable - Domainübergreifende Aliase
In der Datei /etc/mail/virtusertable werden zwei verschiedene Adressen miteinander verknüpft. Dabei darf allerdings über Domaingrenzen gegangen werden. In folgendem Beispiel werden E-Mails an user1@pc-erfahrung.de nach test@gmx.de weitergeleitet:

user1@pc-erfahrung.de.de test@gmx.de