LPIC102/108.3 Grundlagen von Mailtransfer Agents MTAs

Aus Foxwiki

108.3 Grundlagen von Mail Transfer Agents (MTAs)

Wichtung: 3

Gebräuchliche MTA-Programme und einfache Weiterleitungs- und Alias-Konfigurationen auf einem Client- Rechner einstellen.

Wichtigste Wissensgebiete:

  1. Mail-Aliase erstellen
  2. Mail-Weiterleitung für die endgültige Auslieferung einer Mail-Nachricht an ein Client-Programm benötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wie IMAP oder POP .
  3. Kenntnis von allgemein verfügbaren MTA-Programmen (Postfix, Sendmail, Exim)(keine Konfiguration)

Liste wichtiger Dateien, Verzeichnisse und Anwendungen:

  1. ~/.forward
  2. Kommandos der Sendmail-Emulationsschicht
  3. newaliases
  4. mail
  5. mailq
  6. Postfix
  7. Sendmail
  8. Exim

MUA, MDA und MTA

  1. MUA– der Mail User Agent ist ein Mail-Client-Programm, mit dem Mails geschrieben, gelesen und versendet werden (z. B.  kmail, Evolution, Thunderbird, Outlook usw.).
  2. MDA – der Mail Delivery Agent verarbeitet E-Mails auf einem Server.(MDAs sind z. B. procmail, maildrop, cyrus)
  3. MTA – der Mail Transfer Agent nimmt die E-Mail vom Client entgegen. Er ist für die Zustellung einer Nachricht an den richtigen Zielserver verantworrtlich.

MTAs sind z. B. Sendmail, Postfix, Exim. Für die endgültige Auslieferung einer Mail-Nachricht an ein Client-Programm benötigen Sie letztendlich noch mindestens einen weiteren Serverdienst, wie IMAP oder POP.

Mail-Aliase

Die Datei /etc/aliases

In der Datei /etc/aliases können Sie Mail-Nachrichten umleiten. Hierbei sind vier verschiedene Verfahren möglich. Das gängigste ist dieses:

  1. willi: wilhelm
  2. root: wilhelm

Mit dem ersten Eintrag werden Mails, die an willi adressiert sind, dem real existierenden Benutzerkonto wilhelm zugeordnet. Eine andere Methode ist die Zuweisung eines Alias zu einer Datei.

  1. taetigkeiten: "/home/harald/taetigkeitsbericht"

Für dieses Konto muss kein reales Benutzerkonto auf dem Server existieren.

  1. freunde: :include:/home/harald/meinefreunde

Der voranstehende Eintrag macht tatsächlich das, wonach er aussieht: Wenn eine Mail an Freunde gesendet wird, wird diese Nachricht an alle Mail-Adressen versendet, die in der Textdatei /home/harald/meinefreunde zeilensepariert aufgeführt sind. Die letzte, nicht selten genutzte Möglichkeit ist die Übergabe einer Nachricht an ein Programm. Mit dieser Methode arbeitet etwa das Mailinglistenprogramm Major-domo:

  1. majordomo: "|/usr/lib/majordomo/wrapper majordomo"

Der Unterschied zur Umleitung in eine Datei ist das führende Pipe-Zeichen.

newaliases

Nach dem Anlegen eines neuen Alias in der Datei

  1. /etc/aliases

müssen Sie den Befehl newaliases eingeben, damit Sendmail den neuen Alias auch verwendet.

Weiterleitung von Mail

Benutzer können für sich selbst eine Mail Weiterleitung einrichten. Dazu wird die Datei .forward im Heimverzeichnis erstellt die die Weiterleitungsadresse in einer einzelnen Zeile enthält.

Wichtige Dateien und Verzeichnisse

  1. /var/spool/mail

in diesem Verzeichnis liegen Dateien mit den Namen der Benutzerkonten, die auf diesem System Mails empfangen. Der MDA liefert hier Nachrichten für die lokalen Benutzer aus.

  1. /var/spool/mqueue

Ist die Mail-Queue oder auch Warteschlange. Hier holt der MDA Nachrichten ab und entscheidet dann, ob sie lokal ausgeliefert werdenoder an den MTA zur weiteren Verarbeitung übergeben werden müssen.

  1. /var/spool/postfix

Hier liegt die Datenverzeichnisstruktur von Postfix.

  1. /var/mail ist ein typischer Link auf var/spool/mail.
  2. /etc/postfix beherbergt die Konfigurationsdateien von Postfix.
  3. /etc/mail enthält die meisten Konfigurationsdateien für Sendmail.

Um den Inhalt einer Mail-Queue im laufenden Betrieb sehen zu können, verwendenSie das Programm mailq ohne Parameter:

/var/spool/mqueue # mailq
/var/spool/mqueue (2 requests)
--Q-ID---- --Size-- --Q-Time---- ----Sender/Recipient-
l9HH2A016576* 816 Wed Oct 17 19:02 <root@archangel.homelinux.net>
<dominik@archangel.homelinux.net>
l929jC016576* 931 Wed Oct 17 19:02 <root@archangel.homelinux.net>
<dominik@archangel.homelinux.net>
Total requests: 2

Sendmail-Konfigurationsdateien

Die Hauptkonfigurationsdatei von Sendmail ist die Datei sendmail.cf. Die Datei sendmail.cf selbst finden Sie z. B.  bei SuSE direkt unter /etc, während sie bei Fedora unter /etc/mail residiert. Die Datei sendmail.cf könnte man durchaus als kompliziertes Konstrukt bezeichnen. Deshalb wird sie auch normalerweise nicht von Hand erstellt. Stattdessen schreibt man M4-Makros, die dann durch einen M4-Präprozessor verarbeitet werden.

Postfix-Konfigurationsdateien

Der MTA Postfix wird mit Konfigurationsdateien konfiguriert, die sich im Verzeichnis /etc/postfix befinden. Die Datei main.cf ist die globale Konfigurationsdatei für Postfix. Pfadangaben sind hier in der Regel voreingestellt. Es sollte festgelegt werden, unter welchem Namen der Computer aus der Sicht des Internets angesprochen wird und für welche Domänen er verantwortlich ist:

myhostname = echtername.meinedomain.com
myhostname = virtuellername.meinedomain.com
mydomain = meinedomain.com

Smarthost und SMTP-Relay

Ein Smarthost ist ein Mailserver, der als SMTP-Relay fungiert. Normalerweise werden Sie Ihre zu versendenden Mails nicht direkt zustellen, sondern durch den SMTP-Server Ihres Internet Service Providers ausliefern lassen.

Smarthost mit Sendmail

Wenn Sie einen externen Smarthost für Sendmail angeben wollen, ist das eine der wenigen Situationen, in denen Sie die sendmail.cf bearbeiten müssen. Suchen Sie nach einem DS am Zeilenanfang (möglicherweise auskommentiert), und schreiben Sie dahinter lückenlos den FQDN des Relayservers.

# "Smart" relay host (may be null)
DSmailrelay.myisp.org.

So sieht der Eintrag also aus, wenn der Server mailrelay.myisp.org heißt. Soll Ihr Server selbst als SMTP-Relay fungieren, dann müssen Sie die Dateien /etc/mail/access und /etc/mail/relay-domains modifizieren und anschließend in ebendiesem Verzeichnis einmal das Kommando make ausführen, um die korrespondierenden db-Files zu generieren.

Smarthost mit Postfix

Sollten Sie Postfix als MTA verwenden, muss der Smarthost entsprechend in der Datei /etc/postfix/main.cf eingetragen werden. Dieser Eintrag sieht wie folgt aus:

relayhost = mail.myisp.org

Um Postfix selbst als Relay einzusetzen, einfach mit der Angabe der eigenen Netzwerke für bestimmte Subnetze Relaying zuzulassen:

mynetworks = 127.0.0.0/8 192.168.50.0/24 172.16.0.0/28

Wesentlich sicherer ist es natürlich, eine Authentifizierung des Benutzers zu verlangen. Als Mechanismus kommt hier am ehesten SASL ( Simple Authentication and Security Layer ) in Frage. Sollte ein authentifizierter Benutzer eine Mail mit gefälschtem Absender verschicken, ist dieser Vorgang zumindest in den Protokollen ( /var/log/mail ) nachvollziehbar.

Exim und qmail

Weitere MTAs sind Exim und qmail. Exim ist weitgehend ähnlich zu konfigurieren wie Sendmail, die Konfiguration ist aber etwas einfacher.

Quellenangaben

  1. Lpic1-v500

Fragen: 67 - 70, 76