Vor einigen Jahren war Sendmail die einzige kostenlose E-Mail-Server-Software, die in der Linux-Umgebung verfügbar war. Aufgrund der Mängel von Sendmail haben einige Entwickler jedoch mehrere andere E-Mail-Server-Software entwickelt. Derzeit gibt es mehrere Optionen für kostenlose Mailserver oder MTA (Mail Transfer Agent), die in der Linux-Umgebung ausgeführt werden. Zu den gebräuchlicheren gehören Sendmail, Qmail, Postfix, Exim, Zmailer usw. Ziel dieses Artikels ist es, die Eigenschaften mehrerer Mainstream-MTAs in der Linux-Umgebung näher zu erläutern, die einen relativ großen Einfluss haben, und ihre Vor- und Nachteile einzeln zu analysieren und zu vergleichen, damit Benutzer bei der Auswahl eines kostenlosen MTAs in Linux die Wahl haben Umgebung gem.
Postfix
Postfix ist ein Produkt eines von IBM finanzierten und von Wietse Venema entwickelten kostenlosen Softwareprojekts. Sein Zweck besteht darin, Benutzern eine andere Wahl als Mailserver als Sendmail zu bieten. Postfix ist bestrebt, schnell und einfach zu verwalten zu sein, so viel Sicherheit wie möglich zu bieten und gleichzeitig die Kompatibilität mit dem Sendmail-Mailserver aufrechtzuerhalten, um den Nutzungsgewohnheiten der Benutzer gerecht zu werden. Zunächst wurde Postfix unter dem Namen VMailer veröffentlicht, später jedoch aus markenrechtlichen Gründen in Postfix umbenannt.
Hauptziele des Designs
Ziel des Postfix-Projekts ist die Implementierung eines Mailservers, der Benutzern eine Alternative zu sendmail bietet. Zu seinen Designzielen gehören:
Leistungsmäßig ist Postfix mehr als dreimal schneller als vergleichbare Serverprodukte. Ein Desktop-Computer mit installiertem Postfix kann täglich Millionen von Briefen senden und empfangen. Das Postfix-Design verwendet Webserver-Designtechniken, um den Overhead bei der Prozesserstellung zu reduzieren, und verwendet andere Techniken zur Optimierung des Dateizugriffs, um die Effizienz zu verbessern und gleichzeitig die Zuverlässigkeit der Software sicherzustellen.
Kompatibilität. Postfix wurde unter Berücksichtigung der Sendmail-Kompatibilität entwickelt, um die Portierung zu vereinfachen. Postfix unterstützt /var[/spool] /mail-, /etc/aliases-, NIS- und ~/.forward-Dateien. Um jedoch eine einfache Verwaltung zu gewährleisten, unterstützt Postfix die Konfigurationsdatei sendmail.cf nicht.
Sicherheit und Robustheit. Postfix ist darauf ausgelegt, die Programmzuverlässigkeit auch bei übermäßiger Belastung sicherzustellen. Wenn im lokalen Dateisystem kein freier Speicherplatz oder kein verfügbarer Speicher vorhanden ist, gibt Postfix automatisch auf, anstatt es erneut zu versuchen, was die Situation verschlimmert.
Flexibilität. Postfix besteht strukturell aus mehr als zehn kleinen Untermodulen. Jedes Untermodul führt eine bestimmte Aufgabe aus, z. B. den Empfang einer Nachricht über das SMTP-Protokoll, das Senden einer Nachricht, die lokale Zustellung einer Nachricht, das Umschreiben einer Adresse usw. Bei besonderen Anforderungen können neue Versionen von Modulen verwendet werden, um ältere Module zu ersetzen, ohne das gesamte Programm zu aktualisieren. Und es ist auch einfach, eine Funktion zu deaktivieren.
Sicherheit. Postfix nutzt mehrere Verteidigungsebenen, um lokale Systeme vor Angreifern zu schützen. Fast jeder Postfix-Daemon kann unter einer festen Chroot mit niedrigen Berechtigungen ausgeführt werden. Es gibt keinen direkten Pfad zwischen dem Netzwerk und sicherheitsrelevanten lokalen Lieferprogrammen – ein Angriff muss zuerst unterbrochen werden durch mehrere andere Programme, bevor er oder sie auf das lokale System zugreifen kann. Postfix vertraut nicht einmal absolut auf den Inhalt seiner eigenen Warteschlangendateien oder IPC-Nachrichten, um Spoofing zu verhindern. Postfix filtert Nachrichten, bevor die vom Absender bereitgestellte Nachricht ausgegeben wird. Und das Postfix-Programm hat keine set-uid.
Einige Funktionen von Postfix
Unterstützt mehrere Übertragungsdomänen: sendmai unterstützt die Weiterleitung von Nachrichten zwischen Internet, DECnet, X.400 und UUCP. Postfix ist flexibel konzipiert und erfordert keine virtuelle Domäne (visuelle Domäne) oder Alias, um diese Art der Weiterleitung zu erreichen. Allerdings wurden in den frühen Versionen nur STMP und eingeschränkte Unterstützung für UUCP unterstützt, für chinesische Benutzer ist die Unterstützung mehrerer Übertragungsdomänen jedoch bedeutungslos.
Virtuelle Domänen: In den meisten Fällen erfordert das Hinzufügen der Unterstützung für eine virtuelle Domäne lediglich die Änderung einer Postfix-Nachschlagetabelle. Andere Mailserver erfordern häufig mehrere Aliasing- oder Umleitungsebenen, um diesen Effekt zu erzielen.
UCE-Kontrolle (UCE, unerwünschte kommerzielle E-Mail): Postfix kann einschränken, welche Hosts E-Mails über sich selbst weiterleiten dürfen, und unterstützt die Einschränkung, auf welche E-Mails zugegriffen werden darf. Postfix implementiert die üblichen Kontrollfunktionen: Blacklists, RBL-Lookups, HELO/Sender-DNS-Überprüfung. Eine inhaltsbasierte Filterung ist derzeit nicht implementiert.
Tabellenansicht: Postfix implementiert die Adressumschreibesprache nicht, sondern verwendet eine erweiterte Tabellenansicht, um die Adressumschreibefunktion zu implementieren. Tabellen können im lokalen DBM- oder DB-Dateiformat vorliegen. [Seite ausschneiden]
Postfix-Architektur und Vergleich mit Sendmail
Postfix ist eine Architektur, die auf semiresidenten, interoperablen Prozessen basiert. Jeder Prozess erledigt eine bestimmte Aufgabe ohne eine spezifische Prozessableitungsbeziehung (Eltern-Kind-Beziehung). Darüber hinaus sind unabhängige Prozesse zur Ausführung unterschiedlicher Funktionen besser isoliert als „monolithische“ Programme. Darüber hinaus hat diese Implementierungsmethode den Vorteil, dass jeder Dienst wie das Umschreiben von Adressen von jeder Postfix-Komponente ohne den Aufwand der Prozesserstellung verwendet werden kann, sondern nur eine Adresse neu schreiben muss. Natürlich ist Postfix nicht der einzige übernimmt diese Methode.
Postfix wird auf diese Weise implementiert: Ein residenter Master-Server führt den Postfix-Daemon gemäß Befehlen aus, und der Daemon führt Funktionen wie das Senden oder Empfangen von Netzwerk-Mail-Nachrichten, die lokale Zustellung von E-Mails usw. aus. Die Anzahl der Daemon-Prozesse wird durch die Konfigurationsparameter bestimmt, und die Anzahl der Ausführungen des Daemon-Prozesses (Wiederverwendungszeiten) wird entsprechend der Konfiguration bestimmt. Wenn die Leerlaufzeit den durch die Konfigurationsparameter angegebenen Grenzwert erreicht, wird er automatisch abgebrochen . Diese Methode reduziert den Aufwand für die Prozesserstellung erheblich, sorgt aber dennoch für eine gute Isolierung zwischen einzelnen Prozessen.
Das Designziel von Postfix ist es, Sendmail zu ersetzen. Aus diesem Grund können viele Teile des Postfix-Systems, beispielsweise das lokale Lieferprogramm, einfach durch Bearbeiten und Ändern von Konfigurationsdateien wie inetd ersetzt werden.
Der Kern von Postfix wird von mehr als zehn semi-residenten Programmen implementiert. Aus Gründen der Vertraulichkeit kommunizieren diese Postfix-Prozesse über Unix-Sockets oder FIFOs unter geschützten Verzeichnissen miteinander. Auch wenn bei dieser Methode die Vertraulichkeit gewährleistet ist, vertraut der Postfix-Prozess den auf diese Weise empfangenen Daten nicht blind.
Die zwischen Postfix-Prozessen übertragene Datenmenge ist begrenzt. In vielen Fällen sind die einzigen Dateninformationen, die zwischen Postfix-Prozessen ausgetauscht werden, der Name der Warteschlangendatei und die Empfängerliste oder einige Statusinformationen. Sobald eine E-Mail-Nachricht in einer Datei gespeichert wird, bleibt sie dort, bis sie von einem E-Mail-Zustellprogramm gelesen wird.
Postfix verwendet einige gängige Maßnahmen, um den Verlust von Informationen zu vermeiden: Speichern aller Daten auf der Festplatte durch Aufrufen von „flush“ und „fsync()“, bevor eine Bestätigung empfangen wird. Überprüfen Sie die Rückgabeergebnisse aller Systemaufrufe, um Fehlerbedingungen zu vermeiden.
Die meisten Leute, die Mail-Server bauen, werden sich für sendmail entscheiden. Bei seiner Entwicklung ging es Eric Allman vor allem um den Erfolg der Mail-Zustellung. Leider wurde Sendmai ohne große Rücksicht auf die Sicherheitsprobleme entwickelt, die in der Internetumgebung auftreten können. Sendmail kann auf den meisten Systemen nur als Root-Benutzer ausgeführt werden, was bedeutet, dass jede Sicherheitslücke sehr schwerwiegende Folgen haben kann. Zusätzlich zu diesen Problemen funktioniert Sendmail unter hoher Last nicht gut.
Sicherheit
Postfix muss nicht als Root ausgeführt werden, sondern erfordert lediglich die Ausführung eines Masterprogramms als Root, das Prozesse zur Verwaltung des Zugriffs, des ausgehenden und lokalen Mailversands generiert. Durch die Verwendung einer Reihe modularer Komponenten wird jede Aufgabe von einem separaten Programm ausgeführt (was die Prüfung erleichtert). Beispielsweise wird eine ausgehende E-Mail in ein Warteschlangenverzeichnis entladen, wo das Programm „pcikup“ die E-Mail abholt und an das Programm „cleanup“ übergibt, das die E-Mail dann an „trivial-rewrite“ weitergibt, das für die Verarbeitung verantwortlich ist E-Mail-Header: Der Zweck der E-Mail besteht schließlich darin, dass andere Systeme die E-Mail an das Programm „smtp“ übermitteln. Und im Vergleich zu Sendmail ist es mit Postfix auch einfacher, eine Chroot-Umgebung einzurichten. Dies wird einfach durch Bearbeiten der Datei master.cf (normalerweise in /etc/postfix) erreicht, und Postfix wird in das von ihm definierte Warteschlangenverzeichnis (normalerweise in /var/spool/postfix) gechrootet. Sie können auch Prozessgrenzen festlegen für ein einzelnes Postfix-Modul in master.cf. Benutzer können einschränken, unter welchem Benutzer Postfix ausgeführt wird. Im Allgemeinen wird es als „Postfix“-Benutzer ausgeführt (konzeptionell ähnelt dieser Benutzer dem Benutzer „nobody“), der auf bestimmte Warteschlangenverzeichnisse zugreifen kann. Ein weiterer großer Vorteil von Postfix ist die Übersichtlichkeit und leichte Verständlichkeit der Konfigurationsdateien.
Vergleich mit Sendmail Mail-Systeme wie sendmail sind nach einer Einzelblockstruktur konzipiert und implementiert. Dieses „Einzelblock“-Programm implementiert alle Funktionen. Natürlich erleichtert diese Struktur den Datenaustausch zwischen verschiedenen Teilen des Systems. Diese Struktur ist jedoch anfällig für einige schwerwiegende Fehler. Mailsysteme wie qmail verwenden eine hierarchische Struktur, um Untermodulprozesse mit unterschiedlichen Funktionen in einer festen Reihenfolge auszuführen und nach der Ausführung freizugeben. Diese Methode verfügt über gute „Isolierungseigenschaften“, erhöht jedoch den Aufwand für die Prozesserstellung und die Kommunikation zwischen Prozessen. Der Overhead kann jedoch in einem akzeptablen Bereich gehalten werden, indem die Ausführungsreihenfolge der Submodulprozesse sinnvoll geplant wird.
Es ist sehr mühsam, einen anderen MTA als Ersatz für Sendmail zu verwenden, und Benutzer müssen oft viel Zeit aufwenden, um sich mit der Konfiguration und Verwendung des neuen MTA vertraut zu machen. Mit Postfix können Sie viele vorhandene Konfigurationsdateien nutzen. Zum Beispiel (Zugriff, Aliase, Virtusertable usw.) müssen Sie sie einfach nur in master.cf definieren. Darüber hinaus verhält sich Postfix auch sehr ähnlich wie Sendmail. Benutzer können den Befehl sendmail verwenden, um Postfix zu starten.
Natürlich erfordert die Verwendung einer Software zum Ersetzen einer anderen die Lösung spezifischer Probleme. Teilweise aufgrund der Sicherheitsfunktionen von Postfix können bei der Konfiguration von Postfix einige Probleme auftreten. Das typischste Problem ist das Senden von E-Mails an den Root-Benutzer. Postfix erhöht im Allgemeinen nicht seine eigenen Berechtigungen (notwendig, um E-Mails an den Root-Benutzer zu senden), um E-Mails zuzustellen. Benutzer müssen in der Alias-Datei einen Alias für Root definieren, z. B.: root: someuser. Dies betrifft auch mehrere Mailinglisten-Module, insbesondere SmartList. Im Allgemeinen ist es am besten, Majordomo für die Implementierung von Mailinglisten zu verwenden, da diese einfach zu konfigurieren sind.
Ein sehr großes Problem bei Sendmail sind Skalierbarkeits- und Leistungsprobleme. Wenn der Benutzer beispielsweise Sendmail jeden Tag neu starten möchte, um die Konfigurationsdatei automatisch zu aktualisieren (z. B. E-Mails für einen virtuellen Host umleiten), treten Probleme auf. Sendmail generiert neue Prozesse zum Versenden und Empfangen von E-Mails. Diese Prozesse bleiben bestehen, bis die Übertragung abgeschlossen ist. Anschließend kann Sendmail beendet werden. Auf diese Weise kann Sendmail nicht ordnungsgemäß neu gestartet werden. Für Postfix müssen Benutzer nur den Befehl postfix reload ausführen, und Postfix lädt seine Konfigurationsdatei neu.
Verwenden Sie außerdem für Mailserver mit Zehntausenden Benutzern Dateien, um übereinstimmende E-Mail-Adressen zu speichern, die von Benutzern gesendet wurden (z. B. wird der Absender eines von Bob gesendeten Briefes in [email protected] geändert). Bei einer großen Anzahl von Benutzern wird die Datei sehr groß, was sich negativ auf die Betriebseffizienz des Systems auswirkt. Postfix kann in ein Datenbank-Backend integriert werden (unterstützt derzeit nur MySQL), um seine Konfigurationsinformationen zu speichern. Die Datenbankmethode ist hinsichtlich der Skalierbarkeit viel leistungsfähiger als die Dateimethode.
Unter Einhaltung der Open-Source-Urheberrechtslizenz von IBM können Benutzer die Software frei verbreiten und Sekundärentwicklungen durchführen. Die einzige Einschränkung besteht darin, dass an Postfix vorgenommene Änderungen an IBM zurückgegeben werden müssen. Weil IBM die Entwicklung von Wietse finanziert hat.
Vergleich mit Qmail
Der Nachteil von Qmail besteht darin, dass die Konfigurationsmethode nicht mit Sendmail übereinstimmt und nicht einfach zu warten ist. Darüber hinaus ist die Urheberrechtslizenz von Qmail sehr vage und wird nicht einmal zusammen mit der Software veröffentlicht. Hinweis des Anwendungsautors: Wenn Sie Ihre eigene modifizierte Version von Qmail verbreiten möchten, müssen Sie meine Erlaubnis einholen.
Qmail qmail ist ein kostenlos herunterladbarer MTA, der von Dan Bernstein entwickelt wurde. Die erste Betaversion 0.70.7 wurde am 24. Januar 1996 veröffentlicht. Version 1.0 wurde im Februar 1997 veröffentlicht. Die aktuelle Version ist 1.03. [Seite ausschneiden]
Funktionen von Qmail
Sicherheit Um die Sicherheit von Qmail zu überprüfen, setzten Unterstützer von Qmail sogar ein Kopfgeld von 1.000 US-Dollar aus, um Sicherheitslücken in Qmail zu finden. Ein Jahr später wurde das Kopfgeld nicht beansprucht und an die Free Software Foundation gespendet. Derzeit hat der Autor von Qmail außerdem 500 US-Dollar investiert, um Sicherheitslücken in Qmail zu finden.
Geschwindigkeit: Qmail kann auf einem mittelgroßen System etwa eine Million E-Mails zustellen. Auf einem 486er kann es sogar mehr als 100.000 E-Mails pro Tag verarbeiten und unterstützt die parallele Zustellung. Qmail unterstützt die parallele Zustellung von E-Mails und kann etwa 20 E-Mails gleichzeitig zustellen. Der aktuelle Engpass bei der E-Mail-Zustellung liegt im SMTP-Protokoll. Die Zustellung einer E-Mail an einen anderen Internet-Host über STMP dauert mehr als 10 Sekunden. Der Autor von Qmail hat QMTP (Quick Mail Transfer Protocol) vorgeschlagen, um die E-Mail-Zustellung zu beschleunigen, und es wird in Qmail unterstützt. Das Designziel von Qmail besteht darin, irgendwann etwa eine Million E-Mails pro Tag auf einem 16-Millionen-Rechner zustellen zu können.
Zuverlässigkeit: Um die Zuverlässigkeit zu gewährleisten, gibt Qmail nur dann ein erfolgreiches Verarbeitungsergebnis zurück, wenn die E-Mail korrekt auf die Festplatte geschrieben wurde. Auf diese Weise kann garantiert werden, dass die E-Mail nicht erfolgreich ist, selbst wenn es beim Schreiben auf die Festplatte zu einem Systemabsturz oder einem Stromausfall kommt verloren. Stattdessen erneut liefern.
Besonders einfach ist die Verwaltung virtueller Domänen. Es gibt sogar ein von einem Drittanbieter entwickeltes Add-on namens vpopmail zur Unterstützung virtueller POP-Domänen. Um dieses Paket nutzen zu können, benötigen POP3-Benutzer kein offizielles Konto auf dem System.
Verwenden Sie ezmlm, um benutzergesteuerte Mailinglistenfunktionen zu unterstützen.
E-Mail-Benutzer und Systemkonten sind isoliert. Die Bereitstellung von E-Mail-Konten für Benutzer erfordert keine Einrichtung von Systemkonten, wodurch die Sicherheit erhöht wird.
Sendmail vs. Qmail
Zunächst einmal: sendmail ist ein MTA mit einer langen Entwicklungsgeschichte und die aktuelle Version ist 8.10.2. Natürlich bietet Sendmail bestimmte Garantien in Bezug auf Portabilität, Stabilität und Fehlerfreiheit. Im Internet gibt es jedoch viele Beiträge über Angriffe auf Sendmail, die für Administratoren ein Albtraum sind. Während des Entwicklungsprozesses von Sendmail wurde eine Gruppe erfahrener Sendmail-Administratoren gebildet, und Sendmail verfügt über eine große Anzahl vollständiger Dokumentationen. Zusätzlich zur Sendmail-Sammlung: O'Reillys Sendmail-Buch, geschrieben von Bryan Costales mit Eric Allman, gibt es eine große Anzahl zahlreiche Tutorials im Internet, FAQ und andere Ressourcen. Diese großen Mengen an Dokumenten sind sehr wichtig, um die verschiedenen Funktionen von Sendmail optimal nutzen zu können. Aber Sendmai ist derzeit ein ausgereifter MTA.
Natürlich weist Sendmail einige Mängel auf, die zu einer Komplexität der Konfigurationsdatei führen. Natürlich wird die Generierung von Konfigurationsdateien durch die Verwendung des m4-Makros viel einfacher. Allerdings ist es nicht einfach, alle Konfigurationsmöglichkeiten zu beherrschen. Sendmail wies in früheren Versionen viele Sicherheitslücken auf, sodass Administratoren die Version schnell aktualisieren mussten. Und die Beliebtheit von Sendmail macht es auch zu einem Ziel für Angriffe, was sowohl Vor- als auch Nachteile hat: Sicherheitslücken lassen sich dadurch schnell entdecken, es macht Sendmail aber auch stabiler und sicherer. Ein weiteres Problem besteht darin, dass die Standardkonfiguration von Sendmail im Allgemeinen über minimale Sicherheitsfunktionen verfügt, wodurch Sendmail häufig anfällig für Angriffe ist. Wenn Sie Sendmail verwenden, sollten Sie sicherstellen, dass Sie die Bedeutung und Auswirkung jeder geöffneten Option verstehen. Sobald Sie verstehen, wie Sendmail funktioniert, wird die Installation und Wartung von Sendmail sehr einfach. Über die Konfigurationsdatei von Sendmail können Benutzer alle erdenklichen Anforderungen erfüllen.
Qmail ist eine Option, die unter Berücksichtigung von Sicherheitsaspekten entwickelt und implementiert wurde. Wenn Sie eine schnelle Lösung wie ein sicheres E-Mail-Gateway benötigen, ist Qmail eine gute Wahl. Die Konfigurationsdateien von Qmail und Sendmail sind völlig unterschiedlich. Qmail verfügt über eine eigene Konfigurationsdatei. Das Konfigurationsverzeichnis enthält 5 bis 30 verschiedene Dateien, und jede Datei implementiert die Konfiguration verschiedener Teile (z. B. virtuelle Domänen oder virtuelle Hosts usw.). Diese Konfigurationsanweisungen sind in Man gut dokumentiert, die Codestruktur von Qmail ist jedoch nicht sehr gut.
Qmail ist viel kleiner als Sendmail und verfügt nicht über einige der Funktionen heutiger Mailserver. Im Gegensatz zu Sendmail überprüft qmail nicht den Domänennamen des Absenders des E-Mail-Umschlags, um die Richtigkeit des Domänennamens sicherzustellen. Es bietet keine Unterstützung für RBL selbst, erfordert jedoch ein Add-on, um es zu implementieren. , und Sendmail unterstützt RBL. Ebenso kann Qmail den Empfang von E-Mails nicht verweigern, deren beabsichtigter Empfänger nicht existiert. Stattdessen werden die E-Mails zuerst empfangen und dann die E-Mails zurückgegeben, die nicht diesem Benutzer gehören. Das größte Problem bei Qmail liegt in der Verarbeitung des E-Mail-Versands an mehrere Empfänger. Wenn Sie eine große E-Mail an mehrere Benutzer in derselben Domäne senden, sendet Sendmail nur eine Kopie der E-Mail an den Ziel-Mailserver. Qmail stellt mehrmals parallel eine Verbindung her und sendet jedes Mal eine Kopie an einen Benutzer. Wenn Benutzer täglich große E-Mails an mehrere Benutzer senden müssen, verschwendet die Verwendung von Qmail viel Bandbreite. Sie können es sich so vorstellen: Die Sendmail-Optimierung spart Bandbreitenressourcen und die Qmail-Optimierung spart Zeit. Wenn das Benutzersystem über eine gute Bandbreite verfügt, bietet Qmail eine bessere Leistung. Wenn das Benutzersystem über begrenzte Bandbreitenressourcen verfügt und viele Mailinglisteninformationen senden muss, ist Sendmail effizienter. Qmail unterstützt .forward nicht (.forward ist in vielen Fällen für Benutzer sehr nützlich); es verwendet nicht /var/spool/mail, sondern speichert E-Mails im Home-Verzeichnis des Benutzers. Im Folgenden sind einige Aufgaben aufgeführt, die mit Qmail nicht einfach zu erledigen sind. Um diese Aufgaben mit Qmail zu erledigen, müssen Benutzer sie möglicherweise selbst implementieren oder unzuverlässige Module von Drittanbietern verwenden.
Der Quellcode von Qmail ist einfacher zu verstehen als Sendmail, was für diejenigen von Vorteil ist, die den MTA-Mechanismus intern verstehen möchten. Auch sicherheitstechnisch soll Qmail stabiler sein. Qmail verfügt über einen guten technischen Support, ist aber nicht so weit verbreitet und hat eine große Administratoren-Benutzerbasis wie Sendmail. Die Installation von Qmail ist nicht so automatisiert wie die von Sendmail und erfordert manuelle Schritte. Darüber hinaus ist die Dokumentation von Qmail nicht so vollständig und umfangreich wie die von Sendmail.
Qmail hat weniger Add-ons als Sendmail. Im Allgemeinen ist es für Administratoren mit etwas weniger Erfahrung relativ besser, sich für Qmail zu entscheiden. Qmail ist einfacher und seine speziellen Funktionen können den Anforderungen normaler Benutzer gerecht werden. Sendmail ähnelt einer Office-Suite und 80 % seiner Funktionen werden oft nicht genutzt. Dies macht Qmail in manchen Situationen beliebter. Es verfügt über einige beliebtere und praktischere Funktionen, die Sendmail nicht bietet. Beispielsweise verfügt Qmail über eine integrierte Pop3-Unterstützung. Qmail unterstützt auch Host- oder Benutzertarnung, virtuelle Domänen usw. Die Einfachheit von Qmail macht auch die Konfiguration relativ einfach.
Qmail gilt als sicherer und effizienter als Sendmail. Ein Pentium-Rechner, auf dem Qmail läuft, kann etwa 200.000 Nachrichten pro Tag verarbeiten.
qmail ist viel einfacher als andere MTAs, was sich hauptsächlich in Folgendem widerspiegelt:
(1) Andere MTAs verwenden unabhängige Mechanismen für die E-Mail-Weiterleitung, E-Mail-Aliase und Mailinglisten, während qmail einen einfachen Weiterleitungsmechanismus verwendet, um Benutzern die Bearbeitung ihrer eigenen Mailinglisten zu ermöglichen.
(2) Andere MTAs bieten E-Mail-Zustellungsmechanismen auf schnelle und unsichere Weise und eine langsame Warteschlangenmethode, während die qmail-Zustellung durch das Erscheinen neuer E-Mails ausgelöst wird, sodass es für die Zustellung nur einen Modus gibt: die schnelle Warteschlangenmethode
(3) Andere MTAs enthalten tatsächlich eine spezielle Version von inetd, um die durchschnittliche Auslastung des MTA zu überwachen, während qmail einen internen Mechanismus entwickelt hat, um die Systemlast zu begrenzen, sodass qmail-smtpd sicher vom Inet des Systems ausgeführt werden kann
sendmail bietet viel kommerziellen Support und aufgrund seiner großen Benutzerbasis gibt es im Internet viel potenziellen technischen Support. Qmail bietet nur sehr begrenzten technischen Support. Es gibt eine Firma inter7.com, die Unterstützung für Qmail bietet. Die Firma bietet auch kostenlose Add-ons an, darunter ein webbasiertes Verwaltungstool – QmailAdmin – und Unterstützung für virtuelle Domänen über vpopmail, und sogar eine webbasierte Benutzeroberfläche. SqWebMail.
Qmail weist auch einige andere Mängel auf. Beispielsweise entspricht es nicht vollständig den Standards und unterstützt DSN nicht. Der Autor glaubt, dass DSN eine aussterbende Technologie ist und Qmails VERP die gleiche Arbeit erledigen kann, ohne auf die Unterstützung anderer Hosts wie DSN angewiesen zu sein. Ein weiteres Problem bei Qmail besteht darin, dass es nicht dem 7-Bit-Systemstandard entspricht und jedes Mal 8 Bit sendet. Wenn der Empfänger der E-Mail diese Situation nicht bewältigen kann, wird die E-Mail verstümmelt.
Was die Sicherheit betrifft, ist Sendmail im Laufe seiner Entwicklung mit vielen bekannten Sicherheitslücken konfrontiert. Qmail ist zwar relativ kurz und prägnant, bietet aber dennoch grundlegende STMP-Funktionen. Die Codekommentare von Qmail sind weniger. Eine nette Funktion von Qmail ist die Unterstützung eines optionalen verzeichnisbasierten E-Mail-Speicherformats, anstatt eine große Datei zum Speichern aller E-Mails eines Benutzers zu verwenden. Wenn der Mailserver des Benutzers viele POP3-Dienste ausführt, kann dieses Mailspeicherformat die Effizienz verbessern. Leider unterstützt Pine selbst dieses Speicherformat nicht. Bei Bedarf können Sie einige Patches verwenden, um diesen Zweck zu erreichen.
Der Vorteil von Qmail besteht darin, dass jeder Benutzer eine Mailingliste erstellen kann, ohne über Root-Benutzerberechtigungen zu verfügen. Beispielsweise kann der Benutzer foo eine Mailingliste mit den Namen foo-slashdot, foo-linux, foo-chickens erstellen ist ein Tool namens ezmlm (EZ Mailing List Maker), das verschiedene Funktionen von Majordomo wie automatische Registrierung und Abmeldung, Indizierung usw. unterstützen kann, aber alles CLI-gesteuert ist und nur die Bearbeitung einiger Dateien erfordert. Qmail eignet sich sehr gut für die Arbeit auf kleinen Systemen, die in der Regel nur wenige Benutzer unterstützen oder zur Verwaltung von Mailinglisten dienen. Qmail ist schnell und einfach: Qmail ist die beste Wahl, wenn Sie Sicherheit und eine einfache Konfiguration wünschen; Qmail kann in 2 Stunden konfiguriert werden, während Sendmail möglicherweise nicht in zwei Tagen konfiguriert werden kann.
Rocketmail Internic usw. werden alle mit Qmail erstellt
ZMailer
ZMailer ist ein leistungsstarkes Multiprozess-Mailprogramm für Unix-Systeme. [auch bekannt als MTA pro X.400-Sprache], das kostenlos vom Server ftp://ftp.funet.fi/pub/unix/mail/zmailer/ heruntergeladen werden kann. Es ist auch im Monoblock-Modus konzipiert. Mailsysteme wie Hotmail werden mit Zmailer erstellt.
Exim Exim ist ein GPL-kompatibler MTA, der von der Universität Cambridge entwickelt wurde. Sein Stil ähnelt Smail 3, ist jedoch vollständiger als Smail 3. Die neueste Version ist 3.15. Die Hauptseite ist http://www.exim.org/. Das größte Merkmal ist die einfache Konfiguration, aber die Sicherheit ist nicht so gut wie bei Qmail und Postfix.
Das Folgende ist ein Vergleich der Eigenschaften mehrerer MTAs. Im Allgemeinen sind Qmail und Postfix beide sehr gute MTAs. Postfix hat eine spätere Entwicklungsgeschichte als Qmail.
MTA-Reife, Sicherheitsfunktionen, Leistung, Sendmail-Kompatibilität, modulares Design, Qmail, mittel, hoch, hoch, hoch, Add-ons, ja, Sendmail, hoch, niedrig, hoch, niedrig, x nein, Postfix, niedrig, hoch, hoch, ja, ja, Exim, mittel, niedrig, hoch, mittel, ja, nein
Natürlich stehen neben den verschiedenen hier vorgestellten MTAs auch andere kommerzielle oder kostenlose MTAs zur Verfügung.