Postfix (Mail Transfer Agent)
# Postfix (Mail Transfer Agent)

Postfix ist ein Mail Transfer Agent für Unix und Unix-Derivate. Die Software sollte zum Entwicklungszeitpunkt eine kompatible Alternative zu Sendmail sein. Dabei achteten die Programmierer insbesondere auf Sicherheitsaspekte. Der Quellcode von Postfix steht unter der IBM Public License zur Verfügung und ist damit freie Software.

## Geschichte

Postfix wurde 1998 von Wietse Zweitze Venema entwickelt und zunächst unter dem Namen VMailer veröffentlicht. Im Rahmen einer markenrechtlichen Prüfung fand man heraus, dass dieser Name einer anderen Marke sehr ähnlich ist und vergab den Namen „IBM Secure Mailer + Postfix“. Wietse Venema äußerte sich zur Namenssuche wie folgt:

    We spent several months giving names to the program. The IBM name policy killed every name we thought up, and so we decided to change tactics. The program now has TWO names: IBM Secure Mailer + Postfix.

Das Designziel war ein schnelles, sicheres und leicht zu administrierendes System.

## Eigenschaften

Postfix ist ein schnelles und im Verhältnis zu Sendmail oder qmail einfach zu administrierendes System. Dennoch gilt: Wie jeder MTA setzt auch Postfix fundierte Kenntnisse im Bereich Mailserver, Protokolle sowie weitreichende Systemkenntnisse voraus, da die Konfigurationen je nach Anwendungsfall sehr komplex werden können.

Besonderer Wert wurde bei Postfix auf eine einfache Administration (da es im Wesentlichen nur zwei Konfigurationsdateien gibt) und einen sicheren Mailserver gelegt. Es ist kompatibel mit Sendmail, arbeitet also mit Programmen zusammen, die Sendmail statt Postfix als Mailserver erwarten würden. Weiterhin ist es modular aufgebaut und führt seinen Code, soweit möglich, ohne root-Rechte aus. Konfigurationsänderungen sind zur Laufzeit möglich und werden ohne Neustart übernommen.

Dieser modulare Aufbau zeigt sich in der unten dargestellten Grafik. In dieser finden sich vier Elementtypen:

### Gelbe Ellipsen

    Sie stehen für je einen Daemon, welchem genau eine Aufgabe zugeordnet wurde. Aus dieser Modularität heraus erklärt sich die große Sicherheit und Stabilität, die Postfix auszeichnet.

### Blaue Kästen

    Die blauen Kästen stehen für sogenannte Lookup tables (postfix maps). Sie enthalten in zwei Spalten Informationen, die zur Weiterverarbeitung von E-Mails herangezogen werden können. Dies kann eine Zugriffsliste (engl. access) sein, die darüber bestimmt, ob die E-Mail angenommen wird oder nicht, zum Umschreiben des Adressaten bzw. Senders oder auch der weitere Weg (engl. transport), den eine E-Mail nehmen soll.

### Orange Kästen

    Die orangen Kästen stehen zum einen für sogenannte Warteschlangen (engl. queues), bei der E-Mails physisch auf dem Datenträger (zumeist Festplatte oder einem NFS Laufwerk) abgelegt werden, oder aber für Endzustellung, zum Beispiel eine Mailbox eines Benutzers (Beispiel: /var/mail/benutzername).

### Weiße Wolken

    Sie stehen für den möglichen Eintritt oder auch das Verlassen des Postfix Systems. Als Beispiel auf der linken Seiten den SMTPD Daemon, welcher für die Annahme von E-Mails über den TCP Port 25 zuständig ist (soweit nicht anders konfiguriert). Auf der rechten Seite dagegen gibt es den SMTP Daemon, der für das Weitergeben von E-Mails an andere SMTP zuständig ist.

Alle Daemonen (gelbe Ellipsen) werden vom Postfix Master Prozess bei Bedarf gestartet und auch überwacht.

Mit der Version 3.0 wurde SMTPUTF8, also die Unterstützung von internationalisierten Domain-Namen und von UTF-8-Namen in Mailboxen und -Headern und dynamisch gelinkte Bibliotheken und Datenbank-Plug-ins, hinzugefügt.

