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 [18] 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 |
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.
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.
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:
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.
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:
Wird diese Datei geändert, muss sendmail(8) neu gestartet werden, damit es die Neuerungen einliest.
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.
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.
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.
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>.