Internal Support Repository                 
 
Linux Dokumentation

Die Standardinstallation von Sendmail

Während des Herunterladens des Quellcodes für Sendmail und dem Erstellen einer Kopie bevorzugen viele Benutzer das Installieren von Sendmail per RPM von der CD-ROM (bei der Installation von Red Hat Linux oder zu einem späteren Zeitpunkt).

Die Sendmail Anwendung ist in /usr/sbin abgelegt..

Die ausführliche und detaillierte Konfigurationsdatei ( sendmail.cf) für Sendmail ist in /etc installiert. Sie sollten die Datei sendmail.cf nicht sofort bearbeiten, bis Sie genau wissen, was Sie sie bearbeiten wollen, da die Datei sehr komplex ist. Sie sollten stattdessen die Datei /etc/mail/sendmail.cf bearbeiten und unter Verwendung des darin enthaltenen m4 Macro-Prozessors eine neue /etc/ sendmail.cf-Datei erstellen. (nachdem Sie die vorher die /etc/sendmail.cf-Originaldatei gesichert haben).

In /etc/mail sind verschiedene Sendmail Konfigurationsdateien installiert, einschließlich:

  • access — Gibt an, welche Systeme Sendmail für die Übertragung von E-Mails nutzen können.

  • domaintable — Erlaubt das Aufgliedern der Domänennamen.

  • local-host-names — Hier sind alle Aliasnamen für Ihren Computer enthalten.

  • mailertable — Gibt Anleitungen, um das Routing für bestimmte Domänen außer Kraft zu setzen.

  • virtusertable — Erlaubt eine domänenspezifische Form des Aliasing und erlaubt multiple virtuelle Domänen auf einem Computer.

Einige dieser Konfigurationsdateien aus /etc/mail, zum Beispiel access, domaintable, mailertable und virtusertable müssen ihre Informationen in Datenbank-Dateien speichern, bevor Sendmail die Änderungen, die bei der Konfiguration vorgenommen wurden, verwenden kann. Um alle diese Änderungen in den Dateibankdateien zu speichern, müssen Sie einen Befehl mit der Syntax makemaphash /etc/mail/name < /etc/mail/name ausführen, wobei name den Namen der konvertierten Konfigurationsdatei angibt.

Wenn Sie zum Beispiel möchten, dass alle E-Mails, die an den domain.com Zugriff adressiert sind, an verschickt werden sollen, müssen Sie in der Datei virtusertable eine Zeile einfügen:

@domain.com       bob@otherdomain.com

Um diese neuen Informationen dann zu der Datei virtusertable hinzuzufügen, führen Sie makemaphash /etc/mail/ virtusertable < /etc/mail/virtusertable als Root aus. Dadurch wird eine neue Datei (virtusertable.db) erstellt, die die neue Konfiguration enthält.


Änderungen der Konfiguration

Im Verzeichnis /etc wird die Standarddatei sendmail.cf installiert. Die Standardkonfiguration ist für die meisten Systeme geeignet, die ausschließlich SMTP (Simple Mail Transfer Protocol) verwenden. Sie arbeitet nicht mit UUCP-Sites (UNIX/UNIX Copy). Wenn für Ihre E-Mail-Übertragungen UUCP erforderlich ist, müssen Sie eine neue Datei sendmail.cf erstellen.

  Bitte beachten
 

Obwohl SMTP-Server automatisch unterstützt werden, gilt dies nicht für IMAP (Internet Message Access Protocol)-Server. Wenn Ihr ISP statt eines SMTP-Servers einen IMAP-Server verwendet, müssen Sie das Paket IMAP installieren. Ohne dieses Paket kann Ihr System keine Informationen an den IMAP-Server weitergeben bzw. Ihre E-Mail nicht abrufen.

Um eine neue Datei /etc/sendmail.cf zum Konfigurieren von Sendmail zu erstellen, sollten Sie den m4 Macro-Prozessor verwenden. Wenn Sie /etc/mail/sendmail.mc bearbeiten, um für Sendmail Funktionen hinzuzufügen, sichern Sie Ihre aktuelle /etc/sendmail.cf Datei, erstellen Sie eine neue, indem Sie den Befehl m4 /etc/mail/ sendmail.mc >/etc/sendmail.cf ausführen, und fügen Sie alle vorherigen Änderungen von /etc/sendmail.cf hinzu, die Sie in der neuen Datei /etc/sendmail.cf vorgenommen haben. Nachdem Sie /etc/sendmail.cf neu erstellt haben, müssen Sie Sendmail erneut starten. Führen Sie dazu einfach den Befehl /sbin/ service sendmail restart als Root aus.

Der Macro-Prozessor m4 wird standardmäßig mit Sendmail installiert. Er ist im Paket sendmail-cf enthalten, das in /usr/ lib/sendmail-cf installiert ist.

Bevor Sie eine der Dateien aus dem /usr/lib/sendmail-cf Verzeichnis bearbeiten, sollten Sie sich unter der Datei /usr/lib/sendmail-cf/README darüber informieren.

  Warnung!
 

Verwenden Sie zum Konfigurieren von Sendmail auf keinen Fall Linuxconf! Das Linuxconf Modul von mailconf wurde erstellt, um die Bearbeitung von /etc/ sendmail.cf zu vereinfachen. Es enthält ältere Informationen über die Regeln, die beim Konfigurieren von Sendmail beachtet werden müssen.

Mit Sendmail steht Ihnen eine Konfiguration für Ihren Computer zur Verfügung, die Sie als Mail-Gateway für alle Computer in Ihrem Netzwerk verwenden können. Eine Firma möchte zum Beispiel, dass der Computer mit dem Namen mail.bigcorp.com alle Mails erhält. Dafür müssen einfach die Namen der Computer hinzugefügt werden, für die mail.bigcorp.com die Mails in /etc/mail/local- host-names verwalten soll. Wie zum Beispiel:

# sendmail.cw - Tragen Sie hier alle Aliase für Ihren Rechner
# ein.
torgo.bigcorp.com
poodle.bigcorp.com
devel.bigcorp.com

Auf den anderen Computern torgo, poodle, und devel muss die Datei /etc/sendmail.cf bearbeitet werden, um sich als mail.bigcorp.com zu "verkleiden", wenn Mails verschickt werden und die lokale E-Mail-Verarbeitung an bigcorp.com weitergeleitet wird. Suchen Sie die Zeilen DH und DM in /etc/sendmail.cf und bearbeiten Sie diese wie folgt:

# An wen erfolgt die Sendung bei Rechnernamen ohne Angabe der Domäne
# (kein Eintrag = lokal)
DRmail.bigcorp.com
      
# An welchen Computer gehen lokale E-Mails 
DHmail.bigcorp.com
      
# Wer gebe ich vor zu sein (kein Eintrag = kein Masquerading)
DMbigcorp.com

Aufgrund dieser Konfiguration erscheinen alle verschickten Mails so, als wären sie von bigcorp.com versandt worden, und alle Mails an torgo.bigcorp.com oder andere Rechner werden an mail.bigcorp.com verschickt.

Wenn Sie Ihr System für Masquerading konfigurieren, beachten Sie bitte, dass die von Ihrem System an Ihr eigenes System gesendeten E-Mails auf dem Computer eingehen, für den sich Ihr System ausgibt. So werden im Bild oben beispielsweise die in regelmäßigen Abständen vom cron-Dämon an root@poodle.redhat.com gesendeten Protokolldateien an root@mail.redhat.com gesendet.



Vermeiden von Spam

Spam: Hierbei handelt es sich um unnötige und nicht erwünschte E-Mails, deren Absender nicht bekannt ist und auf die nie geantwortet wird. Das ist eine sehr lästige, teure und weit verbreitete Belästigung der normalen Internet-Kommunikation.

Durch Sendmail ist es (relativ) einfach, die neuentwickelten Spamm-Techniken zu blockieren. Es werden viele der üblichen Spam-Techniken bereits standardmäßig blockiert: um die solche E-Mails zu erhalten, müssten Sie die /etc/mail/ sendmail.cf Datei bewusst so verändern, dass Ihr System für die Spams zugänglich wird. Zum Beispiel wurde das Versenden von SMTP-Mitteilungen (auch bekannt unter SMTP relaying ) standardmäßig ab der Sendmail Version 8.9 deaktiviert. Vor dieser Änderung erlaubte Sendmail es Ihrem Mail-Host (x.org), Mitteilungen von einer Gruppe (y.com) zu akzeptieren und diese an eine andere Gruppe (z.net ) zu schicken. Jetzt müssen Sie Sendmail speziell anweisen, es einer Domäne zu erlauben, E-Mails über Ihre Domäne zu empfangen. Um die Änderungen zu aktivieren, bearbeiten Sie einfach /etc/mail/relay-domains und starten Sie Sendmail als Root neu, indem Sie den Befehl /sbin/service sendmail restart eingeben.

Ihre Benutzer werden jedoch oft unkontrolliert durch Spams von anderen Servern in Internet bombardiert. Unter diesen Umständen können Sie die Zugriffskontrolle von Sendmail aktivieren, die in der /etc/mail/access Datei zu finden ist. Als Root-Benutzer können Sie die Domänen hinzufügen, die Sie blockieren wollen oder zulassen möchten, wie z.B:

badspammer.com       550 Go away and don't spam us anymore
tux.badspammer.com   OK
10.0                 RELAY

Da /etc/mail/access eine Datenbank ist, müssen Sie makemap verwenden, um die Änderungen zu aktivieren, die beim Neuerstellen des Abbildes der Datenbank vorgenommen wurden. Führen Sie dazu einfach den Befehl makemap hash /etc/mail/access < /etc/mail/access als Root aus.

Dieses Beispiel zeigt, dass alle Mails, die von badspammer.com versandt werden, durch den 550 RFC 821 Fehlercode blockiert und an den Absender zurückgeschickt werden, mit Ausnahme der Mails, die von der untergeordneten Domäne tux.badspammer.com verschickt werden. Diese werden akzeptiert. Die letzte Zeile zeigt, dass alle Mails, die über das 10.0.*.* Netzwerk verschickt werden, von Ihrem Mail-Server empfangen werden.

Wie Sie sich vorstellen können, gibt dieses Beispiel nur einen kleinen Überblick über die Möglichkeiten, die Sendmail im Bezug auf das Blockieren und Zulassen von Zugriffen bietet. Unter /usr/share/doc/sendmail/README.cf finden Sie weitere Informationen und Beispiele.


Verwendung von Sendmail mit LDAP

Wie bereits in Kapitel 4 beschrieben, ist Lightweight Directory Access Protocol (LDAP) eine schnelle und gute Möglichkeit, um genauere Informationen über einen bestimmten Benutzer aus einer größeren Gruppe zu erhalten. Sie können den LDAP-Server zum Beispiel verwenden, um eine E-Mail-Adresse aus einem Verzeichnis zu finden, das von einer Firma benutzt wird. Hierbei besteht ein großer Unterschied zu Sendmail: mit LDAP speichern Sie hierarchische Benutzerinformationen, und Sendmail zeigt die Risultate von LDAP bei der Suche nach voradressierten E-Mail Mitteilungen.

Sendmail unterstützt eine größere Integration von LDAP, das verwendet wird - um einzelne Dateien, wie zum Beispiel aliases und virtusertables auf den verschiedenen Mail-Servern auszutauschen - die zusammenarbeiten um mittlere bis große Organisationen zu unterstützen.

Die aktuelle Version von Sendmail enthält Support für LDAP. Verwenden Sie für die Erweiterung des Sendmail Servers LDAP. Sie erhalten einen korrekt konfigurierten LDAP-Server, wie zum Beispiel OpenLDAP. Dann müssen Sie /etc/mail/sendmail.mc bearbeiten und Folgendes einfügen:

LDAPROUTE_DOMAIN('IhreDomäne.com')dnl
FEATURE('ldap_routing')dnl

  Bitte beachten
 

Das ist nur die Standard-Konfiguration von Sendmail mit LDAP, von der sich Ihre Konfiguration erheblich unterscheiden wird. Dies ist abhängig von Ihrer LDAP-Implementierung, im Besonderen, wenn Sie mehrere Computer für die Verwendung eines gemeinsamen LDAP-Servers konfigurieren möchten.

Unter /usr/share/doc/sendmail/README.cf erhalten Sie genaue Anweisungen über die Konfiguration von LDAP sowie weitere Beispiele.

Erstellen Sie als Nächstes die Datei /etc/sendmail.cf neu, indem Sie m4 ausführen und Sendmail neu starten.

 


Zusätzliche Ressourcen

Viele Benutzer empfinden das Konfigurieren von Sendmail, vor allem wegen der vielen möglichen Optionen, als schwierig. Der Zugriff auf zusätzliche Dokumentationen über Sendmail kann besonders bei der Einstellung der Konfigurationsoptionen sehr hilfreich sein.

Installierte Dokumentation

Die besten Quellen für Informationen über das Konfigurieren von Sendmail finden Sie in den Paketen sendmail und sendmail-cf.

  • /usr/share/doc/sendmail/README.cf — Enthält Informationen über m4, Dateiverzeichnisse für Sendmail, unterstützte Mailer und Arten, wie auf verbesserte Merkmale zugegriffen werden kann u.v.m.

  • /usr/share/doc/sendmail/README — Enthält Informationen über die Verzeichnisstruktur von Sendmail, IDENT-Protokoll-Support, Einzelheiten über Verzeichnisberechtigungen und die Probleme, die auftreten, wenn diese Berechtigungen nicht richtig konfiguriert sind.

Hilfreiche Websites

  • http://www.sendmail.net/— Neuigkeiten, Interviews und Artikel über Sendmail. Bietet einen größeren Überblick über die verfügbaren Optionen.

  • http://www.sendmail.org/— Zeigt einen umfassenden technischen Ausfall von Sendmail Merkmalen und Beispiele für eine Konfiguration.

Zusätzliche Literatur

  • Sendmail von Bryan Costales mit Eric Allmanet al; O'Reilly & Associates — Eine gutes Nachschlagewerk für Sendmail, das unter Mithilfe des Autors von Delivermail und Sendmail geschrieben wurde.