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 |
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.
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 <[email protected]>
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:
example.com mail.example.com
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.
Beispiel 29-3. Beispiel einer virtuellen Domänen Zuordnung
[email protected] root [email protected] [email protected] @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 <[email protected]>
der lokalen Mailbox root zu. Der nächste Eintrag ordnet <[email protected]>
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.
[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
<[email protected]>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <[email protected]>.