exim Transaktions -E -Mail -Service
Open Source Mail Transfer Agent als Alternative zu Sendmail
EXIM ist hochpassbarer Open Source -Mail -Transfer -Agent für E -Mail -Routing und -zustellung. Dies ist die Nummer 1 für Unternehmensorganisationen für ihre Flexibilität.
Überblick
Die Kommunikation über elektronische Post ist in unserem Leben primitiv geworden. Um E -Mails von Desktop, Handy oder einem anderen Gerät zu senden, ist für die meisten Personen eine tägliche Angelegenheit. Das einfache Mail -Transferprotokoll (SMTP) ist das Standardprotokoll, das zum Senden von E -Mails verwendet wird. IMAP und POP3 sind die Protokolle, um E -Mails zu erhalten. IMAP hat einige Vorteile gegenüber dem POP aufgrund der Synchronisation auf den Geräten. Ein Postübertragungsagent, der all diese erforderlichen Protokolle Open Source und unterstützt, ist daher von entscheidender Bedeutung. Das Ausführen Ihres Mail Transfer Agent ist ein sehr langwieriger Job. Daher erfordert die Wahl, die Sie für die MTA -Software treffen, eine tiefe Analyse gegen Ihre Anforderungsmatrix. EXIM ist einer der flexibelsten Open -Source -Mail -Transferagenten, der als Ersatz des Standard -Mail -Transferagers der UNIX -Systeme verwendet werden kann. EXIM verfügt über ein Bündel von modernsten Funktionen, darunter Sendmail -Kompatibilität, CPANEL -Unterstützung, flexible Konfiguration und vor allem Unterstützung der Open -Source -Community. EXIM ist wie ein Framework mit seiner Anwendungssprache, um komplexe Konfigurationen einzurichten. Es verfügt über eine fortschrittliche Mehrstuf-Mail-Verarbeitungslogik, mit der sie komplexe Anwendungsfälle lösen können. Sendmail ist in allen Aspekten bereits an Postfix verloren. Postfix ist jedoch weniger vielseitig als exim. Es verfügt über eine hervorragende Integrationsunterstützung und bietet alles, was ein Systemadministrator fragen kann. EXIM unterstützt die meisten Funktionen für den Postübertragungsagenten auf die eine oder andere Weise.
System Anforderungen
Vor dem Erstellen von Exim muss eine lokale Konfigurationsdatei, die Optionen angibt, die unabhängig von einem Betriebssystem angeben, mit dem Namen Lokal/Makefile erstellt werden. Eine Vorlage für diese Datei wird als Datei src/editme geliefert und enthält vollständige Beschreibungen aller darin enthaltenen Optionseinstellungen. Diese Beschreibungen werden daher hier nicht wiederholt. Wenn Sie zum ersten Mal Exim erstellen, ist es am einfachsten, SRC/Editme in lokal/makefile zu kopieren, es dann lesen und angemessen bearbeiten. Es gibt drei Einstellungen, die Sie liefern müssen, da das Exim ohne sie nicht bauen wird. Sie sind der Speicherort der Laufzeitkonfigurationsdatei (Konfigurieren \ _file), das Verzeichnis, in dem Exim -Binärdateien installiert werden (bin \ _directory) und die Identität des Exim -Benutzers (Exim \ _user und möglicherweise Exim \ _group sowie Well). Der Wert der Konfiguration \ _file kann tatsächlich eine doolontrennte Liste von Dateinamen sein. Exim verwendet den ersten von ihnen, der existiert. Es gibt einige andere Parameter, die entweder zum Bauzeit oder zur Laufzeit angegeben werden können, damit die gleiche Binärdatei für verschiedene Maschinen verwendet werden kann. Wenn jedoch die Orte des Spool -Verzeichnisses und des Protokolldateiverzeichnisses (falls im Spool -Verzeichnis) festgelegt sind, wird empfohlen, sie in lokaler/makefile statt in der Laufzeit anzugeben, sodass Fehler in der Exim -Ausführung zu Beginn der Exim -Ausführung festgestellt wurden (solches als missgebildete Konfigurationsdatei kann protokolliert werden. Die Schnittstellen von EXIM zum Aufrufen von Viren- und Spam -Scan -Software direkt von Zugriffskontrolllisten werden standardmäßig nicht kompiliert. Wenn Sie diese Einrichtungen einbeziehen möchten, müssen Sie festlegen
WITH_CONTENT_SCAN=yes
in Ihrem lokalen/Makefile. Für Einzelheiten der Einrichtungen selbst Wenn Sie den EXIM -Monitor erstellen möchten, ist ein ähnlicher Konfigurationsprozess erforderlich. Die Datei exim \ _monitor/editme muss für Ihre Installation entsprechend bearbeitet und unter dem Namen Local/Eximon.conf gespeichert werden. Wenn Sie mit den in Exim \ _monitor/editme beschriebenen Standardeinstellungen zufrieden sind, kann lokal/eximon.conf leer sein, es muss jedoch existieren. Dies ist die gesamte Konfiguration, die für bekannte Betriebssysteme in einfachen Fällen benötigt wird. Der Bauprozess ist jedoch so eingerichtet, dass es einfach ist, Optionen zu überschreiben, die standardmäßig oder durch Betriebssystem-spezifische Konfigurationsdateien festgelegt werden, um den C-Compiler zu ändern, der standardmäßig mit GCC ausfällt.
Merkmale
EXIM unterstützt alle modernen Funktionen, die Sie sich bei der open -Open -Source -Mail -Transfer -Agenten -Software vorstellen können. Dies sind einige der Hauptmerkmale von Exim:
- Das Exim folgt dem gleichen allgemeinen Ansatz der dezentralen Kontrolle wie SMAIL. Es gibt keinen zentralen Prozess, der die Gesamtverwaltung der Mail -Lieferung durchführt. Im Gegensatz zu SMAIL teilen sich die unabhängigen Lieferprozesse jedoch in Form von “Hinweisen”, was die Lieferung in einigen Fällen effizienter macht. Die Hinweise werden in einer Reihe von DBM -Dateien gehalten. Wenn eine dieser Dateien verloren geht, besteht der einzige Effekt darin, das Muster der Lieferversuche und -versuche zu ändern.
- Viele Konfigurationsoptionen können als Expansionszeichenfolgen angegeben werden, die bei Verwendung auf verschiedene Weise transformiert werden. Da diese Datei-Lookups enthalten können, kann ein Großteil des Exim-Betriebs bei Bedarf ein Tabellenbetrieb gemacht werden. Zum Beispiel ist es möglich, lokale Lieferung auf einem Computer zu erstellen, auf dem die Benutzer keine Konten haben. Die endgültige Flexibilität kann (zu einem Preis) durch Ausführen eines Perl -Dolmetschers bei gleichzeitiger Erweiterung einer Saite erhalten werden.
- Zugang zu Ansehen historischer Nachrichten.
- Zugriff auf die vollständige Ausgangsstrengung & amp; Eingehende Nachrichtenwarteschlange.
- EXIM verfügt über flexible Wiederholungsalgorithmen, die sowohl für die Anweisung und Routing -Adressen als auch für die Lieferung anwendbar sind.
- EXIM enthält Header- und Umschlag -Umschreibeinrichtungen.
- Unqualifizierte Adressen werden nur von bestimmten Hosts oder Netzwerken akzeptiert.
- EXIM kann mehrere Lieferungen im selben SMTP -Kanal durchführen, nachdem die Lieferungen verzögert wurden.
- EXIM kann so konfiguriert werden, dass sie sofort lokale Lieferungen durchführen, aber um Remote-Lieferungen (SMTP) zu verlassen, bis die Nachricht von einem Warteschlangen-Runner-Prozess abgeholt wird. Dies erhöht die Wahrscheinlichkeit, dass mehrere Nachrichten eine einzelne SMTP -Verbindung herabgesandt werden.
- Remote -Lieferungen derselben Nachricht an verschiedene Hosts können optional parallel durchgeführt werden.
- Eingehende SMTP -Nachrichten beginnen mit der Lieferung, sobald sie empfangen werden, ohne auf den SMTP -Anruf zu warten.
- EXIM unterstützt die SMTP -Auth -Erweiterung für die Authentifizierung von Clients und für die StartTLS -Erweiterung zum Einrichten verschlüsselter Verbindungen.
- Perl-kompatible reguläre Ausdrücke sind in einer Reihe von Konfigurationsparametern verfügbar.
- Domänenlisten können Datei -Lookups enthalten, um eine sehr große Anzahl lokaler Domänen zu unterstützen.
- EXIM unterstützt die optionale Überprüfung des eingehenden Rückgabepfads (Absender) und Empfängeradressen, da sie von SMTP empfangen werden.
- SMTP -Aufrufe von bestimmten Maschinen, optional aus bestimmten Identen, können gesperrt werden, und eingehende SMTP -Nachrichten von bestimmten Absendern können ebenfalls gesperrt werden. Exim unterstützt auch die Verwendung der Echtzeit -Blockierungsliste (RBL).
- Hosts, die E -Mails über einen Computer an eine andere externe Domäne weitergeben dürfen, können über IP -Nummer oder IP -Netzwerknummer gesteuert werden. Die Relaissteuerung nach Empfängerdomäne und Absenderadresse ist ebenfalls verfügbar.
- Nachrichten in der Warteschlange können vom Administrator “gefroren” und “aufgetaut” werden.
- EXIM kann eine Reihe unabhängiger lokaler Domänen auf derselben Maschine verarbeiten. Jede Domäne kann eigene Alias -Dateien usw. haben. Diese Einrichtung wird manchmal als “virtuelle Domänen” bezeichnet.
- Einfache Mailinglisten können direkt von Exim selbst behandelt werden (aber für “ernsthafte” Mailinglistenvorgänge ist es am besten, sie in Verbindung mit der Software für die Mailingliste für Spezialisten zu verwenden).
- Exim stellt das Heimverzeichnis eines Benutzers vor, bevor sie nach einer “.forward” -Datei suchen, um den Fall eines fehlenden NFS -Mount zu erkennen. Die Lieferung verzögert sich, wenn das Verzeichnis nicht verfügbar ist.
- EXIM enthält eine optionale integrierte Mail-Filteranlage. Dies kann so konfiguriert werden, dass Benutzer persönliche Filterdateien bereitstellen können, und es ist auch möglich, dass eine systemweite Filterdatei auf jede Nachricht angewendet wird.
- Es gibt Unterstützung für mehrere Benutzer -Mailboxen, die durch Präfixe oder Suffixe im Benutzernamen gesteuert werden, entweder über den Filtermechanismus oder über mehrere “.forward” -Dateien.
- Periodische Warnungen werden automatisch an die Absender von Nachrichten gesendet, wenn die Lieferung verzögert wird - die Zeit zwischen Warnungen ist konfigurierbar. Die Warnungen können vom Inhalt der Nachricht abhängig gemacht werden.
- Eine Warteschlange kann manuell begonnen werden, nur einen bestimmten Teil der Warteschlange oder diese Nachrichten mit einem Empfänger zu liefern, dessen Adresse eine bestimmte Zeichenfolge enthält. Es gibt Unterstützung für den ETRN -Befehl in SMTP, um dazu zu interpretieren.
- EXIM kann so konfiguriert werden, dass er ständig als Root ausgeführt wird, außer wenn es sich um lokale Lieferungen handelt, die es immer in einem separaten Prozess unter einer geeigneten UID und GID ausführt. Alternativ kann es so konfiguriert werden, dass es nur bei Bedarf als Root ausgeführt wird. Insbesondere muss es beim Empfangen eingehender Nachrichten oder beim Senden von Nachrichten über SMTP nicht als Root ausgeführt werden. In Kapitel 55 finden Sie eine Diskussion von Sicherheitsfragen.
- Ich habe versucht, den Wortlaut der Liefermeldungen für Lieferfehler klarer und einfacher zu machen, um die weniger erleichterten Personen zu nützen, die jetzt E-Mail verwenden. Alternative Formulierung für diese Nachrichten kann in einer separaten Datei bereitgestellt werden.
- Der Exim -Monitor ist ein optionales Extra; Es zeigt Informationen zur Verarbeitung von Exim in einem X -Fenster an, und ein Administrator kann eine Reihe von Steueraktionen über die Fensterschnittstelle ausführen. Alle diese Aktionen sind jedoch auch über die Befehlszeilenschnittstelle verfügbar.
Installationsanleitung
Installieren von Exim -Binärdateien und -Skripten
In dem Befehl wird das Installieren ausgeführt das Exim \ _install -Skript ohne Argumente. Das Skript kopiert Binärdateien und Dienstprogrammskripte in das Verzeichnis, dessen Name durch die Einstellung von Bin \ _Directory in lokal/makefile angegeben ist. Das Installationskript kopiert Dateien nur, wenn sie neuer sind als die Dateien, die sie ersetzen werden. Die Exim -Binärdatei muss von Root gehören und das SetUid -Bit für normale Konfigurationen einstellen. Daher müssen Sie die Installation als Root ausführen, damit es das Exim -Binär auf diese Weise einrichten kann. In einigen besonderen Situationen (zum Beispiel, wenn ein Host keine lokalen Lieferungen ausführt) kann es jedoch möglich sein, Exim auszuführen, ohne die binäre SetUid -Root zu machen (Einzelheiten siehe Kapitel 56). Die Rennzeitkonfigurationsdatei von Exim wird von der Einstellung Konfigurieren \ _file in lokal/makefile benannt. Wenn dies eine einzelne Datei nennt und die Datei nicht vorhanden ist, wird die Standardkonfigurationsdatei SRC/configure.default dort vom Installationsskript kopiert. Wenn bereits eine Laufzeitkonfigurationsdatei vorliegt, wird sie in Ruhe gelassen. Wenn Konfiguration \ _file eine doolontrennte Liste ist, die mehrere alternative Dateien benennt, wird keine Standardeinstellung installiert. Eine Änderung wird an der Standardkonfigurationsdatei vorgenommen, wenn sie installiert ist: Die Standardkonfiguration enthält einen Router, der auf eine System -Aliases -Datei verweist. Der Pfad zu dieser Datei wird auf den von System \ _aliases \ _file in Lokal/Makefile (/etc/aliase) angegebenen Wert eingestellt. Wenn die System -Aliases -Datei nicht vorhanden ist, erstellt das Installationsskript es und gibt einen Kommentar an den Benutzer aus. Die erstellte Datei enthält keine Aliase, enthält jedoch Kommentare zu den Aliase, die eine Website normalerweise haben sollte. Mail -Aliase wurden traditionell in /etc /aliase aufbewahrt. Einige Betriebssysteme verwenden jedoch jetzt/etc/mail/aliase. Sie sollten überprüfen, ob Ihre eine davon ist, und bei Bedarf die Exim -Konfiguration ändern. Die Standardkonfiguration verwendet den Namen des lokalen Hosts als einzige lokale Domäne und wird so eingerichtet, dass lokale Lieferungen in das freigegebene Verzeichnis /die VAR /Mail ausgeführt werden und als lokaler Benutzer ausgeführt werden. Systemaliase und .forward -Dateien in den Home -Verzeichnissen der Benutzer werden unterstützt, aber es werden kein NIS- oder NIS+ -Support konfiguriert. Andere Domänen als der Name des lokalen Hosts werden mit dem DNS mit Lieferung über SMTP geleitet. Es ist möglich, Exim für besondere Zwecke (z. B. Binärverteilung) in einem privaten Teil des Dateisystems zu installieren. Sie können dies durch einen Befehl wie z.
make DESTDIR=/some/directory/ install
Dies hat den Einfluss, das angegebene Verzeichnis auf alle Dateipfade vorzulegen, mit Ausnahme des Namens der System-Aliases-Datei, die in der Standardkonfiguration angezeigt wird. (Wenn eine Standard -Alias -Datei erstellt wird, wird ihr Name geändert.) Für die Abwärtskompatibilität wird das Root verwendet, wenn das Destdir nicht festgelegt ist, diese Verwendung jedoch veraltet ist. Ausführen von Made Installation kopiert das Exim 4 -Konvertierungsskript CONVERT4R4 nicht. Sie werden dies wahrscheinlich nur einmal ausführen, wenn Sie von Exim 3 aktualisieren. Keine der Dokumentationsdateien im DOC -Verzeichnis wird kopiert, mit Ausnahme der Info -Dateien, wenn Sie info \ _directory festgelegt haben, wie in Abschnitt 4.17 unten beschrieben. Für die Dienstprogramme werden alte Versionen umbenannt, indem das Suffix .o zu ihren Namen hinzugefügt wird. Die Exim -Binärin selbst wird jedoch unterschiedlich gehandhabt. Es ist unter einem Namen installiert, der die Versionsnummer und die Kompilierungsnummer enthält, z. B. Exim-4,94-1. Das Skript arrangiert dann einen symbolischen Link namens Exim, der auf die Binärdatei hinweist. Wenn Sie eine frühere Version von EXIM aktualisieren, achtet das Skript darauf, dass das Name Exim niemals im Verzeichnis fehlt (wie in anderen Prozessen angezeigt). Wenn Sie sehen möchten, was die Installation erledigt, bevor Sie sie real ausführen, können Sie die Option -n durch diesen Befehl über diesen Befehl übergeben:
make INSTALL_ARG=-n install
Der Inhalt der Variablen install \ _Arg wird an das Installationsskript übergeben. Sie müssen nicht root sein, um diesen Test auszuführen. Alternativ können Sie das Installationsskript direkt ausführen. Dies muss jedoch innerhalb des Build -Verzeichnisses erfolgen. Beispielsweise können Sie diesen Befehl aus dem Exim-Verzeichnis der obersten Ebene verwenden:
(cd build-SunOS5-5.5.1-sparc; ../scripts/exim_install -n)
Es gibt zwei weitere Optionen, die dem Installationsskript geliefert werden können.
- -no \ _chown umgeht den Anruf, um den Eigentümer des installierten Binärs in Root zu ändern, und den Anruf, um ihn zu einer SetUid -Binärdatei zu machen.
- -no \ _symlink umgeht die Einrichtung des symbolischen Link -Exims zum installierten Binär. Installieren Sie \ _ARG können verwendet werden, um diese Optionen an das Skript zu übergeben. Zum Beispiel:
make INSTALL_ARG=-no_symlink install
Das Installationsskript kann auch Argumente erhalten, in denen angegeben ist, welche Dateien kopiert werden sollen. Um beispielsweise nur die Exim -Binärin und nichts anderes zu installieren, ohne den symbolischen Link zu erstellen, könnten Sie verwenden:
make INSTALL_ARG='-no_symlink exim' install
Installieren von Info -Dokumentation
Nicht alle Systeme verwenden das GNU -Info -System zur Dokumentation, und aus diesem Grund ist die Texinfo -Quelle der Exim -Dokumentation nicht in der Hauptverteilung enthalten. Stattdessen ist es getrennt von der FTP -Site erhältlich (siehe Abschnitt 1.5). Wenn Sie Info \ _Directory in lokal/makefile definiert haben und die Texinfo -Quelle der Dokumentation im Quellbaum gefunden wird, erstellen Sie automatisch die Info -Dateien und installiert sie.