(weitergeleitet von Main.PostfixEinrichten)

(↓)

Qualtitätsoffensive

Dieser Artikel wurde aufgrund des Stils oder des Inhaltes als überarbeitungswürdig gekennzeichnet. Eine Übersicht aller so markierten Seiten findet sich unter ApfelWiki.Qualitätsoffensive.

s. a. PostfixKonfigurieren

Was ist postfix

Grundsätzlich ist Postfix nicht nur ein schlichtes Programm, sondern ein komplettes Mail-Server-System - In der Fachsprache auch "Transport-System" genannt. Postfix wurde als Ersatz für das vielfach noch eingesetzte Sendmail entwickelt und soll gleichzeitig eine Weiterentwicklung dazu darstellen.

Es stellt dem Mail-Programm des Benutzers Schnittstellen für den Mail-Versand und Empfang zur Verfügung. Es lauscht auf verschiedenen Ports auf eingehende und ausgehende Mails und versendet diese an den Empfänger oder legt empfangene Mails in das Postfach des Benutzers.

Wozu kann man den Mail-Server verwenden?

Man kann das Mail-System intern auf einem Rechner mit mehreren Benutzern einsetzen. Auch kann ein Rechner in einem Netzwerk für viele weitere Computer der Mail-Server sein. Weiterhin könnte ein Rechner im Netzwerk als Web-Server konfiguriert sein, dazu benutzt dieser auch PHP und MySQL um Webseiten darzustellen. PHP ist eine sehr komfortabele Möglichkeit den Web-Content dynamisch darzustellen, also HTML-Dokumente zu automatisieren. Dazu arbeitet PHP als Script-Programm im Hintergrund, vom Nutzer unbemerkt. Viele Scripte enthalten Code-Variablen um Post per E-Mail zu versenden wie auch in diesem Forum. Und dazu muß eben ein Mail-Server präsent sein. Und außerdem ist da noch der kleine Mann im Ohr der immer sagt: "Das schaffst du ja doch nicht". Und dem wollen wir eben heute auch zeigen was wir drauf haben.

by me

Was muss man tun

Gut. Wo fangen wir jetzt an? Das haben wir bereits beim letzten Mal getan in dem wir den Mail-Server einschalteten. Er startet nun jedes mal automatisch wenn der Computer das Betriebssystem "hochfährt".

Schauen wir uns nun mal an was PostFix gerade tut. Dazu benutzen wir das Terminal und öffnen diesmal 2 Fenster. Eines um Befehle einzugeben und das andere um zu beobachten was passiert. In Fenster 1 geben wir folgendes ein:

 @root>tail -f /var/log/mail.log

Da sollte sich nun das Unix-Programm "tail" mit der Log-Datei des Mail-Servers melden. "tail" ist ein Live-Interpreter, er zeigt genau das an was im Moment gerade stattfindet. So kann man Programmabläufe Schritt für Schritt mitverfolgen und Fehlerquellen schneller aufspüren.

Welche Nachrichten ihr jetzt vorfinden werdet ist systembedingt. Bei einer Standard-Installation des Systems ist das Ergebnis anders als wenn das zusätzliche BSD-System und die X-Tools installiert wurden.

Auf jeden Fall erhaltet ihr eine Log-Meldung die in etwa so lautet:

 Nov 15 16:27:32 localhost postfix/script: starting the Postfix mail system
 Nov 15 16:27:32 localhost postfix/master: daemon started --- version 2.0.10
 Nov 15 16:27:32 localhost postfix/master: Postfix mail system aborted, domainname localhost

Das bedeutet daß sich der Mail-Server abgeschaltet hat weil er seine Arbeit unter diesen Umständen nicht ausführen kann. "localhost" ist seiner Meinung nach kein geeigneter Domainname mit dem sich Mail verschicken lassen.

Das müssen wir jetzt ändern und geben im zweiten Fenster des Terminal folgendes ein:

 @root>cd /etc/postfix/

 @root>pico main.cf

Wir suchen uns folgende Zeilen heraus die am Ende des Dokumentes zu finden sind:

 inet_interfaces = localhost

 mydomain_fallback = localhost

Dort tauschen wir "localhost" durch unseren Domainnamen aus und speichern das ganze wieder ab.

Nun müßt ihr euch die Datei "Aliases" anschauen die im selben Verzeichnis liegt und dort eintragen welcher User des Systems eine E-Mail erhalten soll wenn Ausnahmezustände eintreffen. Das sind Fehlermeldungen, Crashs und Programmabläufe die von der Normalität abweichen. Standard-User für solche Angelegenheiten ist der Root. Wenn dieser jedoch mal aus irgend einem Grund deaktiviert wird, erhält niemand eine Mail und somit kann auch niemand etwaige System-Crashs nachvollziehen.

Es ist also von Vorteil daß man die Post des User Root hier jemand anderem zuteilt der immer am Computer arbeitet. Daher suchen wir uns hier diese Zeile raus:

 root: klaus

und tragen ein Alias für den Root ein, in dem Falle klaus. Somit erhält nun Klaus all diese Mail die dem Root gehören.

Nun wo wir die Datei "Aliases" geändert und abgespeichert haben, müssen wir diese noch systemtauglich machen. Das tut man mit dem Programm "newaliases" welches sich im Verzeichnis "/usr/bin/" befindet. Das Programm ist so konzipiert daß es bei Aufruf die Aliases-Datei aktualisiert und für den Mail-Server verfügbar macht.

 @root>/usr/bin/newaliases

Mit den Einstellungen wären wir damit fertig und wir brauchen nur noch den Mail-Server neu starten. Dazu geben wir ein:

 @root>/usr/sbin/postfix stop

 @root>/usr/sbin/postfix start

Dabei kann man in Fenster 1 beobachten was passiert und man sollte jetzt feststellen daß PostFix ohne Fehlermeldung startet. Es wird zwar nun immernoch in der Meldezeile nach dem Datum "localhost" angezeigt, das wird auch so bleiben weil laut der Netinfo-Datenbank des Systems die Domain immer noch "localhost" heißt. Das sollte man auch nicht ändern, denn es ist nicht erforderlich.

Nun testen wir mal was wir fabriziert haben. Dazu benutzen wir das Programm "mail" im Terminal.

 @root>mail klaus

 Test-Mail

 Nachricht hier schreiben ...

CTRL-Taste + d drücken um die Nachricht abzuschicken.

Nun sehen wir in Fenster 1 wie PostFix arbeitet. PostFix ist so eingestellt daß es jede Mail sofort an den Empfänger schickt, so soll es ja auch sein, keiner will ja lange auf Post warten. Für Leute die aber erst die Mail sammeln möchten und gebündelt abschicken wollen, kann man das im Startupscript des Mail-Servers "/System/Library/StartupItems/Postfix/Postfix" einstellen. Mit den richtigen Befehlswerten kann man den Mail-Server so anweisen die Post beispielsweise 3 Stunden zu sammeln und dann abzusenden.

User Klaus wird sofort über seine Post informiert sobald er sein Terminal das erste Mal öffnet. Wenn man die Mail gelesen hat erstellt PostFix ein Dokument im User-Verzeichnis namens "mbox". Dort werden jegliche Art von Mail des Users abgespeichert so daß man sich diese später noch einmal anschauen kann.

Was intern auf dem Rechner funktioniert, sollte nun auch nach außerhalb gelten. Dazu müßt ihr allerdings bereits eine Internet-Verbindung oder eine Standleitung wie DSL hergestellt haben. PostFix kann sich mit diesen Einstellungen nicht allein von eurem Rechner aus ins Internet einwählen und kann auch keine Mail aus dem Internet abrufen, da wir erstens keine wirkliche Domain besitzen die in entfernten DNS-Servern eingetragen ist und zweitens weil wir nur den Mail-Server konfiguriert haben und keinen Postabhol-Dienst wie "procmail". Das ist wieder eine andere Geschichte die ich nicht vorhabe zu erklären, da die meisten unter uns sich sicherlich keinen eigenen Domainnamen zulegen werden sondern mit einer Atrappe arbeiten werden. Was für uns also wichtig ist, das Mail abgeschickt werden kann. Abholen der Mail erfolgt über euren Provider mit eurem bevorzugten Mail-Client in der Grafischen Benutzer-Oberfläche des Systems.

Also schicken wir mal was nach draußen, das solltet vorzugsweise zunächst mal noch ihr selbst sein:

 @root>mail klaus@bärbel.de

 Test-Mail

 Test-Nachricht

Und wieder mit ctrl + d abschicken.

Nach einigen Sekunden sollten wir diese Mail in unserem Postfach haben. Schaut euch mal die Mail mit erweiterten Headern an, so könnt ihr den Weg der Nachricht ganz genau nachvollziehen. Jeder Server wird dabei genauestens unter die Lupe genommen. Unter anderem sollte auch euer Domainname darunter auftauchen.

Postfix ist sehr schlau programmiert. Es sucht sich Domainname, DNS und IP-Adressen im Internet selbst heraus und befördert die Mail auf dem schnellsten Wege zum Empfänger. Schicken wir also eine E-Mail an lümmel@compuserve.de, so sucht sich PostFix einen geeigneten anderen Mail-Server mit guter Verbindung aus und läßt die Mail einfach über diesen weiterleiten. (Relaying)

Klappt das beim ersten Mal nicht weil der Server dieses Verfahren der Weiterleitung nicht unterstützt, wird weiter gesucht bis ein geeigneter Server gefunden ist.

So wird z.B. "mx.compuserve.de" benutzt um eine Mail von meinem Rechner über meinen Provider an den Empfänger zu senden. Wenn der Empfänger allerdings nicht existiert, kann die E-Mail so nicht mehr zurückkommen. Weil, meinen Domainamen gibt es ja in Wirklichkeit nicht.

Wer von euch schon einen lauffähigen Webserver mit [PHP] eingerichtet hat, wird sich nun sicherlich freuen. PostFix tut seine Arbeit auch hier problemlos verrichten, ohne daß man die Einstellungen der Dateien "httpd.conf und php.ini" ändern müßte. "Sendmail" kann als Standard-Mailserver in jeglichen Einstellungen bestehen bleiben. Ein Shell-Script sorgt dafür daß bei Aufruf von "sendmail" das Programm "postfix" gestartet wird.

Sollte jemand unter euch die Ausgangs-Ports bis 1024 gesperrt haben weil er sich selbst nichts gönnt oder an dem Allgemeinen Hackersyndrom leidet, muß dieses abgeändert werden. Ausgangs-Ports müssen alle zur Verfügung stehen damit dieser und andere Dienste funktionieren können über die wir noch sprechen werden. Postfix sucht sich selbst den geeigneten Ausgang um mit DNS-Diensten und anderen in Kontakt zu treten. Deshalb ist das Öffnen der Ports 110 und 143 nicht ausreichend.

Das dürfte zunächst einmal die Grund-Funktionen des Mail-Servers in Gang gesetzt haben. Fragen und Hinweise bitte direkt hier vor Ort stellen und bitte nicht woanders posten, damit das Thema hier behandelt werden kann, danke. Eine genaue Regelung werde ich noch mit dem Webmaster des Forums besprechen, ist wohl besser ehe hier Posts unnötig hin und hergeschoben werden müssen.

Weblinks

Kategorie
E-Mail

Zuletzt geändert am 16.07.2011 01:27 Uhr von Schnaks ( Besuche)

© 2004 – 2024 ApfelWiki

Impressum - Datenschutz

cb