Das FreeBSD-Handbuch
Zurück | Kapitel 29. Elektronische Post (E-Mail) | Weiter

# 29.4. sendmail-Konfiguration

Beigesteuert von Christopher Shumway.

sendmail(8) ist das standardmäßig in FreeBSD installierte Mailübertragungsprogramm (MTA). Die Aufgabe von sendmail ist es, E-Mails von E-Mail-Benutzerprogrammen (MUA) anzunehmen und diese zu den entsprechenden Mailern zu liefern, die in der Konfigurationsdatei definiert sind. sendmail kann auch Netzwerkverbindungen annehmen und E-Mails zu lokalen Mailboxen [1] oder anderen Programmen liefern.

sendmail benutzt folgende Konfigurationsdateien:

Dateiname | Funktion
--- | ---
`/etc/mail/access` | Datenbank, in der Zugriffsrechte auf sendmail verwaltet werden
`/etc/mail/aliases` | Mailbox Aliase
`/etc/mail/local-host-names` | Liste der Rechner für die sendmail E-Mails akzeptiert
`/etc/mail/mailer.conf` | Mailer Programmkonfiguration
`/etc/mail/mailertable` | Mailer Versand-Zuordnungstabelle
`/etc/mail/sendmail.cf` | Hauptkonfigurationsdatei für sendmail
`/etc/mail/virtusertable` | Virtuelle Benutzer und Domänen-Tabellen

## 29.4.1. `/etc/mail/access`

Die Zugriffsdatenbank bestimmt, welche(r) Rechner oder IP-Adresse(n) Zugriff auf den lokalen E-Mail-Server haben und welche Art von Zugriff ihnen gestattet wird. Rechner können als `OK`, `REJECT` oder `RELAY` eingetragen oder einfach an sendmails Fehlerbehandlungsroutine mit einem angegebenen Mailer-Fehler übergeben werden. Rechner, die als `OK` eingetragen sind, was die Grundeinstellung ist, sind berechtigt E-Mails zu diesem Rechner zu schicken, solange die endgültige Zieladresse der lokale Rechner ist. Verbindungen von Rechnern, die als `REJECT` aufgelistet sind, werden abgelehnt. Rechnern mit gesetzter `RELAY`-Option für ihren Rechnernamen wird erlaubt Post für jede Zieladresse durch diesen Mail-Server zu senden.

Beispiel 29-1. Konfigurieren der sendmail Zugriffsdatenbank

    cyberspammer.com                550 We do not accept mail from spammers
    FREE.STEALTH.MAILER@            550 We do not accept mail from spammers
    another.source.of.spam          REJECT
    okay.cyberspammer.com           OK
    128.32                          RELAY

In diesem Beispiel haben wir fünf Einträge. E-Mail-Versender, die mit der linken Spalte der Tabelle übereinstimmen, sind betroffen von der Aktion in der rechten Spalte. Die ersten beiden Beispiele übergeben einen Fehlercode an sendmails Fehlerbehandlungsroutine. Die Nachricht wird an den entfernten Rechner gesendet, wenn eine Nachricht mit der linken Spalte der Tabelle übereinstimmt. Der nächste Eintrag lehnt Post von einem bestimmten Rechner des Internets ab (`another.source.of.spam`). Der nächste Eintrag akzeptiert E-Mail-Verbindungen des Rechners `okay.cyberspammer.com`, der exakter angegeben wurde als `cyberspammer.com` in der Zeile darüber. Genauere Übereinstimmungen haben den Vorrang vor weniger genauen. Der letzte Eintrag erlaubt die Weiterleitung von elektronischer Post von Rechnern mit einer IP-Adresse die mit `128.32` beginnt. Diese Rechner würden E-Mails durch diesen E-Mail-Server senden können, die für andere E-Mail-Server bestimmt sind.

Wenn diese Datei geändert wird, müssen Sie `make` in `/etc/mail` ausführen um die Datenbank zu aktualisieren.

## 29.4.2. `/etc/mail/aliases`

Die Alias-Datenbank enthält eine Liste der virtuellen Mailboxen, die in andere Benutzer, Dateien, Programme oder andere Aliase expandiert werden. Hier sind ein paar Beispiele, die in `/etc/mail/aliases` benutzt werden können:

Beispiel 29-2. E-Mail Aliases

    root: localuser
    ftp-bugs: joe,eric,paul
    bit.bucket:  /dev/null
    procmail: "|/usr/local/bin/procmail"

Das Dateiformat ist simpel; Der Name der Mailbox auf der linken Seite des Doppelpunkts wird mit den Zielen auf der rechten Seite ersetzt. Das erste Beispiel ersetzt die Mailbox `root` mit der Mailbox `localuser`, die dann wieder in der Alias-Datenbank gesucht wird. Wird kein passender Eintrag gefunden, wird die Nachricht zum lokalen Benutzer `localuser` geliefert. Das nächste Beispiel zeigt eine E-Mail-Verteilerliste. E-Mails an die Mailbox `ftp-bugs` werden zu den drei lokalen Mailboxen `joe`, `eric` und `paul` gesendet. Eine lokale Mailbox kann auch als `<user@example.com>` angegeben werden. Das nächste Beispiel zeigt das Schreiben von E-Mails in eine Datei, in diesem Fall `/dev/null`. Das letzte Beispiel verdeutlicht das Senden von E-Mails an ein Programm, in diesem Fall wird die Nachricht in die Standardeingabe von `/usr/local/bin/procmail` mittels einer UNIX Pipe geschrieben.

Wenn diese Datei geändert wird, müssen Sie `make` in `/etc/mail` ausführen um die Änderungen in die Datenbank zu übernehmen.

## 29.4.3. `/etc/mail/local-host-names`

Das ist die Liste der Rechnernamen, die sendmail(8) als lokalen Rechnernamen akzeptiert. Setzen Sie alle Domänen oder Rechner, für die sendmail Mail empfangen soll, in diese Datei. Wenn dieser Mail-Server zum Beispiel E-Mails für die Domäne example.com und den Rechner `mail.example.com` annehmen soll, könnte seine `local-host-names` Datei so aussehen:

    example.com
    mail.example.com

Wird diese Datei geändert, muss sendmail(8) neu gestartet werden, damit es die Neuerungen einliest.

## 29.4.4. `/etc/mail/sendmail.cf`

Die Hauptkonfigurations-Datei von sendmail (`sendmail.cf`) kontrolliert das allgemeine Verhalten von sendmail, einschließlich allem vom Umschreiben von E-Mail Adressen bis hin zum Übertragen von Ablehnungsnachrichten an entfernte E-Mail-Server. Mit solch einer mannigfaltigen Rolle ist die Konfigurationsdatei natürlich ziemlich komplex und ihre Einzelheiten können in diesem Kapitel nicht besprochen werden. Glücklicherweise muss diese Datei selten für Standard E-Mail-Server geändert werden.

Die sendmail Hauptkonfigurationsdatei kann mit m4(1) Makros erstellt werden, die Eigenschaften und Verhalten von sendmail definieren. Einige der Details finden Sie in `/usr/src/contrib/sendmail/cf/README`.

Wenn Änderungen an dieser Datei vorgenommen werden, muss sendmail neu gestartet werden, damit die Änderungen Wirkung zeigen.

## 29.4.5. `/etc/mail/virtusertable`

Die Datei `virtusertable` ordnet Adressen für virtuelle Domänen und Mailboxen reellen Mailboxen zu. Diese Mailboxen können lokal, auf entfernten Systemen, Aliase in `/etc/mail/aliases` oder eine Datei sein.

Beispiel 29-3. Beispiel einer virtuellen Domänen Zuordnung

    root@example.com                root
    postmaster@example.com          postmaster@noc.example.net
    @example.com                    joe

In dem obigen Beispiel haben wir einen Eintrag für die Domäne `example.com`. Diese Datei wird nach dem ersten übereinstimmenden Eintrag durchsucht. Die erste Zeile ordnet `<root@example.com>` der lokalen Mailbox `root` zu. Der nächste Eintrag ordnet `<postmaster@example.com>` der Mailbox `postmaster` auf dem Rechner `noc.example.net` zu. Zuletzt, wenn keine Übereinstimmung von `example.com` gefunden wurde, wird der letzte Eintrag verglichen, der mit jeder Mail-Nachricht übereinstimmt, die an jemanden bei `example.com` adressiert wurde. Diese werden der lokalen Mailbox joe zugeordnet.

### Fußnoten

[1] | Mailbox = Post- beziehungsweise Briefkasten

Zurück | Zum Anfang | Weiter
Elektronische Post benutzen | Nach oben | Wechseln des Mailübertragungs-Agenten

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.