Sendmail ist der standardmäßig in FreeBSD installierte MTA. Es nimmt E-Mails von E-Mail-Benutzerprogrammen (MUA) entgegen und liefert diese zu den entsprechenden Mail Hosts, die in der Konfigurationsdatei definiert sind. Sendmail kann auch Netzwerkverbindungen annehmen und E-Mails an lokale Mailboxen, oder an andere Programme ausliefern.
Die Konfigurationsdateien von
Sendmail befinden sich in
/etc/mail
. In diesem Abschnitt werden
diese Dateien im Detail beschrieben.
/etc/mail/access
Diese Datenbank bestimmt, welche Rechner oder
IP-Adressen Zugriff auf den lokalen
Mail-Server haben und welche Art von Zugriff ihnen
gestattet wird. Rechner die als OK
aufgelistet sind, was der Standard ist, sind berechtigt
E-Mails zu diesem Rechner zu schicken, solange die
endgültige Zieladresse der lokale Rechner ist. Rechner
die als REJECT
aufgelistet sind, werden
abgelehnt. Rechner die als RELAY
aufgelistet sind, wird es erlaubt Post für jede
Zieladresse durch diesen Mail-Server zu senden. Rechner
die als ERROR
aufgelistet sind, bekommen
ihre E-Mail mit einem speziellen Fehler zurück. Wenn ein
Rechner als SKIP
aufgelistet ist, wird
Sendmail die aktuelle Suche
abbrechen, ohne die E-Mail zu akzeptieren oder abzulehnen.
E-Mails von Rechnern die als QUARANTAINE
aufgelistet sind, werden vorerst zurückgehalten. Dem
sendenden Rechner wird ein festgelegter Text als Grund für
die Quarantäne zurückgeschickt.
Beispiele für die Verwendung dieser Optionen für
IPv4-
und IPv6-Adressen finden Sie in der
Beispielkonfiguration
/etc/mail/access.sample
:
# $FreeBSD$
#
# Mail relay access control list. Default is to reject mail unless the
# destination is local, or listed in /etc/mail/local-host-names
#
## Examples (commented out for safety)
#From:cyberspammer.com ERROR:"550 We don't accept mail from spammers"
#From:okay.cyberspammer.com OK
#Connect:sendmail.org RELAY
#To:sendmail.org RELAY
#Connect:128.32 RELAY
#Connect:128.32.2 SKIP
#Connect:IPv6:1:2:3:4:5:6:7 RELAY
#Connect:suspicious.example.com QUARANTINE:Mail from suspicious host
#Connect:[127.0.0.3] OK
#Connect:[IPv6:1:2:3:4:5:6:7:8] OK
Um die Datenbank zu konfigurieren, verwenden Sie das
im Beispiel gezeigte Format, um Einträge in
/etc/mail/access
hinzuzufügen, aber
setzen Sie kein Kommentarsymbol (#
) vor
die Einträge. Erstellen Sie einen Eintrag für jeden
Rechner, dessen Zugriff konfiguriert werden soll.
E-Mail-Versender, die mit der linken Spalte der Tabelle
übereinstimmen, sind betroffen von der Aktion in der
rechten Spalte.
Immer wenn diese Datei verändert wurde, muss die Datenbank aktualisiert und Sendmail neu gestartet werden:
#
makemap hash /etc/mail/access < /etc/mail/access
#
service sendmail restart
/etc/mail/aliases
Diese 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 das Dateiformat verdeutlichen:
root: localuser ftp-bugs: joe,eric,paul bit.bucket: /dev/null procmail: "|/usr/local/bin/procmail"
Der Name der Mailbox auf der linken Seite des
Doppelpunkts wird mit den Zielen auf der rechten Seite
ersetzt. Der erste Eintrag ersetzt die Mailbox
root
mit der
Mailbox localuser
, die dann
in der Datenbank /etc/mail/aliases
gesucht wird. Wird kein passender Eintrag gefunden, wird
die Nachricht zum localuser
geliefert. Der
zweite Eintrag zeigt eine E-Mail-Verteilerliste. E-Mails
an ftp-bugs
werden zu den drei lokalen Mailboxen joe
,
eric
und
paul
gesendet.
Eine entfernte Mailbox kann auch als
user@example.com
angegeben werden. Der
dritte Eintrag zeigt wie E-Mails in eine Datei geschrieben
werden, in diesem Fall /dev/null
.
Der letzte Eintrag verdeutlicht das Senden von E-Mails an
ein Programm. Hier wird die Nachricht über eine UNIX®
Pipe an /usr/local/bin/procmail
gesendet. Weitere Informationen zu dem Format dieser
Datei finden Sie in aliases(5).
Wenn diese Datei geändert wird, muss
newaliases
ausgeführt werden, um die
Datenbank zu aktualisieren.
/etc/mail/sendmail.cf
Dies ist die Hauptkonfigurations-Datei von Sendmail. Sie 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. Dementsprechend ist die Konfigurationsdatei ziemlich komplex. 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.
/etc/mail/virtusertable
Diese Datenbank ordnet Adressen für virtuelle Domänen
und Benutzern reellen Mailboxen zu. Diese Mailboxen
können lokal, auf entfernten Systemen, Aliase in
/etc/mail/aliases
oder eine Datei
sein. Dadurch können mehrere virtuelle Domains auf einem
Rechner gehostet werden.
FreeBSD enthält eine Beispielkonfiguration in
/etc/mail/virtusertable.sample
, die
das Format genauer beschreibt. Das folgende Beispiel
zeigt, wie benutzerdefinierte Einträge in diesem Format
erstellt werden:
root@example.com root postmaster@example.com postmaster@noc.example.net @example.com joe
Diese Datei wird nach dem ersten übereinstimmenden
Eintrag durchsucht. Wenn eine E-Mail-Adresse mit der
Adresse auf der linken Seite übereinstimmt, wird sie
dem Eintrag auf der rechten Seite zugeordnet. Der erste
Eintrag in diesem Beispiel ordnet eine bestimmte
E-Mail-Adresse einer lokalen Mailbox zu, während der
zweite Eintrag eine bestimmte E-Mail-Adresse einer
entfernten Mailbox zuordnet. Zuletzt wird jede
E-Mail-Adresse von example.com
, welche
nicht mit einem der vorherigen Einträge übereinstimmt, mit
dem letzten Eintrag übereinstimmen und der lokalen Mailbox
joe
zugeordnet. Benutzen Sie dieses
Format, wenn Sie neue Einträge in
/etc/mail/virtusertable
hinzufügen.
Jedes Mal, wenn diese Datei bearbeitet wurde, muss die
Datenbank aktualisiert und
Sendmail neu gestartet
werden:
#
makemap hash /etc/mail/virtusertable < /etc/mail/virusertable
#
service sendmail restart
/etc/mail/relay-domains
In der standardmäßigen FreeBSD-Installation wird Sendmail nur dazu konfiguriert, E-Mails von dem Rechner, auf dem es läuft, zu senden. Wenn zum Beispiel ein POP-Server installiert ist, können Benutzer ihre E-Mails von entfernten Standorten überprüfen. Sie werden jedoch keine E-Mails von außen verschicken können. Typischerweise wird ein paar Sekunden nach dem Versuch eine E-Mail von MAILER-DAEMON mit einer 5.7 Relaying Denied Fehlermeldung versendet werden.
Die einfachste Lösung ist, wie im folgenden Beispiel
gezeigt, den FQDN des
Internet-Dienstanbieters und gegebenenfalls weitere
Adressen in /etc/mail/relay-domains
einzutragen:
your.isq.example.com other.isp.example.net users.isp.example.org www.example.org
Nachdem diese Datei erstellt oder editiert wurde, muss
Sendmail mittels
service sendmail restart
neu gestartet
werden.
Ab jetzt wird jede E-Mail, die von einem in der Liste eingetragenen Rechner durch das System geschickt wird, ihr Ziel erreichen, vorausgesetzt der Benutzer hat einen Account auf dem System. Dies erlaubt es Benutzern aus der Ferne, E-Mails über das System zu versenden, ohne dem Massenversand (SPAM) die Tür zu öffnen.
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>.