Navigationsleiste   |    Direktzugriff   |    Artikel   |    Home   

Email-Server: Postfix - Ein Email-System für Linux


Im dritten und letzten Teil des Email-Servers [1] erfährst du wie die Emails von deinem Email-Server versendet werden.
Dazu dient uns Postfix.

Postfix

Postfix ist ein sogennanter MTA, ein Mail Transfer Agent, er kümmert sich um den Versand und Empfang von Email. Er nimmt die Emails von den Nutzern im Netzwerk an, verteilt sie im eigenen Netzwerk oder übergibt sie an einen anderen MTA. Desweiteren kann er auch Emails außerhalb des eigenen Netzes annehmen und weiterleiten. Er ist quasi der Postbote; ein Tux mit einem Rucksack, der durch das Netz flitzt.

Postfix ist (wird) von Wietse Venema geschrieben worden und steht unter einer von der Mozilla Public License abgeleiteten Lizenz von IBM. Richtig, IBM, dort arbeitet Wietse und bei IBM hat Postfix einen anderen Namen "IBM Secure Mailer".

Postfix ist ein sehr sicheres und ziemlich einfach zu administrierendes Programm. Postfix istmodular aufgebaut und besteht aus vielen kleinen Programmen, hier mal eine kleine Übersicht (Quelle: Postfix-Doku) :
Postfix-Übersicht
Erklärung:

In der obigen Überischt erkennst du, welchen Weg die Emails durch die einzelnen Postfix-Programme nehmen.
Ich denke mal das reicht als grober Überblick, weiteres findest du in der Doku auf der Postfix-Homepage [2].



Installation von Postfix

Die Installation kann einfach oder schwer werden, es hängt davon ab ob und welcher MTA (sendmail, smail, qmail, exim, ...) vorher auf deinem System lief. Am besten einfach Postfix von deiner Distribution installieren, sollte überall dabei sein (bei Mandrake ist es der Standart-MTA).
Bei Debian solltest du nicht den exim deinstallieren (sonst wird noch weitere Software deinstalliert !! ), sondern einfach Postfix installieren. Dann wird auch exim entfernt.

Wenn du es aus dem Internet im Quelltext laden willst, solltest du vorher alles was mit sendmail zu tun hat umbennen ( d.h. sendmail, newaliases, mailq) und dann kompilieren und installieren (der üblich Dreisatz: ./configure, make, make install). Aber wie gesagt, es kann beim selberkompilieren sehr verschiedene Probleme geben und deshalb beschreibe ich es nicht, kann dir aber bei Fragen evtl. weiterhelfen.

Wenn dein Provider dir anbietet oder dich zwingt SMTP mit Authentifizierung (STMP Auth) zu verwenden, solltest du das tun. Die Vorgehensweis hierzu findest du im Tuxhausen-Artikel SMTP AUTH mit Postfix [3].




Konfiguration von Postfix

main.cf

Die Datei main.cf (meist unter /etc/postfix zu finden) ist die Hauptkonfigurations-Datei von Postfix. In ihr stehen alle wichtigen Parameter.
Die Datei erklärt auch direkt (in englisch) was der Parameter bewirkt, und wie er voreingestellt ist. Ich werde hier nicht alle Parameter erklären, sondern nur die wichtigen die wir für unseren Server brauchen!
Für dieses Beispiel hab ich Postfix in der Version 1.1.11 unter Debian Woody (3.0) benutzt.

Wäre unser Server fest mit dem Internet verbunden, wären wir so gut wie fertig (allerdings wäre dieser Server dann extrem unsicher ); aber unser Server wählt sich ja nur bei Bedarf ein und kann nur dann die Emails abschicken.
Also müßen wir noch einige Dinge einstellen: Das war es auch schon, alle anderen Parameter sind für unseren Zweck nicht direkt wichtig. Solltest du den Server aber in einer größeren Umgebung einsetzen die permanent mit dem Internet verbunden ist, solltest du noch einige Sicherheitsvorkehrungen gegen Spam einbauen. Alle weiteren Parameter sind in der Datei und in der Doku beschrieben.
Zuerst testen wir mal ob alles soweit in Ordnung ist:
[root]# postfix check

Achtung !! postfix check findet keinerlei Schreibfehler !!
Zum Überprüfen deiner Parameter folgendes eingeben:
[root]# postconf


Hier sollten jetzt alle Parameter die du in die main.cf geschrieben hast auftauchen.

Jetzt kannst du deinen Postfix mal starten:
[root]# postfix start

Gibt es Fehler in deiner Konfigurationsdatei oder falsche Rechte, weist dich Postfix nun darauf hin, ansonsten ist alles glatt gegangen.
Dieses Start-Kommando mußt du natürlich noch in deine Startscripte aufnehmen, sonst hast du nach dem nächsten rebbot keinen Postfix mehr. Das brauchst du aber nur zu machen, wenn du Postfix aus den Quellen kompilierst hast.

Beendet wird Postfix so:
[root]# postfix stop

Nach jeder Änderung mußt du Postfix sagen, daß er die Konfiguration neu einlesen soll, und zwar so:
[root]# postfix reload




Die Alias-Datenbank

Mit dieser Datenbank lassen sich lokale Adressen umschreiben und umleiten.
Wir brauchen diese Datenbank um einen virtuellen Email-Namen einem reelen Benutzer-Namen zuordnen, also alle Emails an B.Beimer@example.net gehen an den lokalen Benutzer bert.
Verwendest du für die lokalen Benutzer-Namen den Email-Namen, brauchst du die Alias eigentlich nicht, aber guck trotzdem mal rein.

Die Eintragungen finden in der Datei aliases statt, diese ist meistens im /etc Verzeichnis zu finden.
Achtung, sollte diese Datei noch von sendmail stammen, könnte es damit evtl. Probleme geben!

Ein Eintrag in der Alias-Datenbank sieht bei Postfix so aus:

  "B.Beimer": bert
   "A.Allen": angela

  root: bert
  postmaster: root

  test: tux@web.de  

Die erste Zeile bedeutet, alle Emails an B.Beimer(@example.net) werden an bert(@example.net) weitergleitet. Das gleiche machen wir mit Angela.
Danach legen wir fest, daß alle Emails die an root gehen, zu bert geleitet werden. Danach gehen alle Emails von postmaster an root , aber wir eben festgelegt das diese an bert gehen; also kriegt bert alle Emails die an postmaster gehen.

Als kleinen Zusatz zu den Fähigkeiten von Postfix steht in der letzten Zeile: Alle Emails die nach test@example.net gehen, werden an tux@web.de weitergeleitet.

Wichtig ist noch: Kommt ein Punkt im Namen vor, benutze die " "Zeichen (siehe letzte Zeile).
Ich denk mal, so schwer war das nicht, oder?

Nach jeder Änderung in aliases mußt du Postfix sagen, daß er die Datenbank neu erzeugen soll (keine Angst, die aliases wird dabei nicht überschrieben) und das geht so:
[root]# postalias /etc/aliases

Mailing-Listen

Mit der Alias Datenbank kannst du auch prima kleine Email-Verteiler-Listen schreiben. Nehmen wir mal an du willst allen lokalen Benutzern eine Mitteilung schreiben, wäre es nicht prima wenn du eine Email an alle@example.net schreiben würdest, und alle bekommen sie?

Kein großes Problem mit Postfix:
Zuerst eine Text-Datei ( /etc/postfix/lists/alle ) mit der Empfänger-Liste anlegen.

Hier die Liste:

   #Interne Mailingliste von example.net  
   #DAS LETZTE KOMMA IST WICHTIG!!!
   angela,
   bert,

Und in die Alias-Datenbank kommt dieser Eintrag:

   #Mailinglisten
   alle: :include:/etc/postfix/lists/alle

Dann noch schnell die Alias-Datenbank updaten und das war es schon, schreibst du nun eine Email an alle@example.net, bekommen angela und bert diese Email.

Das Ganze geht natürlich auch mit Adressen die nicht innerhalb deiner Domain liegen. Der Tuxhausen-Newsletter funktionierte so. Deine Textdatei sieht dann in etwas so aus:

   #Tuxhausen Newsletter
   #DAS LETZTE KOMMA IST WICHTIG

   mu@web.de,
   tux@linux.org,
   "billy.regal@ikea.de",




Tipps zu Postfix




Quellen und weitere Dokus

Der deutsche Mirror der Postfix-Homepage [2]
Außerdem gibt es das Red Hat Postfix HowTo [5] (englisch).
Im Linux-Magazin 06/2000 erschien ein Artikel über Postfix: Modular und sicher [6]

Über Postfix gibt ein recht gutes deutschsprachiges Buch: "Das Postfix Buch" von Peer Heinlein, erschienen bie SuSE Press (ist aber nicht nur für SuSE geeignet), ISBN 3-935922-41-8
Und natürlich die üblichen man Pages....



Im Text genannte Links

[1] Tuxhausen - Email-Server: http://www.tuxhausen.de/email-server.html
[2] Postfix Homepage: http://www.informatik.uni-bonn.de/pub/software/postfix/
[3] SMTP AUTH mit Postfix http://www.tuxhausen.de/postfix_smtp_auth.html
[4] Hinweise Postfix mit Dial-Up-Rechner (eng.): http://www-dt.e-technik.uni-dortmund.de/~ma/postfix/dialup.html
[5] Red Hat Postfix HowTo: http://www.redhat.com/support/resources/howto/RH-postfix-HOWTO/book1.html
[6] Artikel Linux-Magazin: http://www.linux-magazin.de/ausgabe/2000/06/Postfix/postfix.html

Erstellt: 2001-01-28 Autor: Markus Ungermann     Kontakt
Letztes Update: 2007-10-01     URL: http://www.tuxhausen.de/software_postfix.html