Postfix Mailserver

Mittwoch 21. Februar 2018 von Torsten

In den vorherigen Artikeln wurde der Apache Webserver und PHP installiert.

Damit lässt sich schon einiges anstellen. Durch die Installation von PHP sind auch schon dynamische Webseiten möglich.

Eigene PHP-Codes können in einer lokalen Webserverumgebung bereits getestet werden. Doch spätestens wenn man sich mit dem PHP Mailformular beschäftigt, stößt man an eine Grenze.

Ein PHP Mailformular „kommuniziert“ mit einem Mailserver und der fehlt noch in unserer Serverumgebung.

Dieser Artikel zeigt eine einfache Möglichkeit, um auch die PHP Mailfunktion lokal zu testen.

Postfix Installlation

Der Postfix Mailserver kann mit folgendem Terminalbefehl installiert werden:

  • sudo apt install postfix libsasl2-modules bsd-mailx

Postfix Konfiguration

  • Als Installationsart wurde „Nur lokal“ ausgewählt.

  • Als System E-Mail Name wurde der voreingestellte Eintrag übernommen.

  • Als Mailempfänger für Root und Postmaster wurde Benutzer@Rechnername übernommen.

  • Weitere Rechner für Mailadresse kann leer bleiben, wenn keine weiteren Rechner nötig sind.

  • Synchrone Aktualisierungen können deaktiviert bleiben…

  • Teilnetz-Weiterleitung: entweder leer lassen oder Voreinstellungen übernehmen.

  • Postfach Größe: keine Begrenzung mit Wert 0 auswählen…

  • Adress-Erweiterungen: Einstellung leer lassen

  • Internet-Protokolle: Die Vorauswahl „alle“ bestätigen…

Auch wenn bei einigen Punkten schnell über sehr dünnes Eis ge-huscht wurde, sind die Konfigurations-Dialoge schon teilweise hilfreich. Für eine erste Grundkonfiguration sollte es reichen.

Funktionstest 1:

Im Terminal kann eine Testmail verschickt werden, um zu prüfen ob alles richtig funktioniert…

Der echte Terminalbefehl muss natürlich an die lokale Mailadresse angepasst werden.

  • mail -s „testbetreff“ BENUTZER@RECHNERNAME < testmailtext.txt

Damit dieser Test auch erfolgreich verläuft, muss die Textdatei (testmailtext.txt) auch noch angelegt werden und direkt ins Home-Verzeichnis abgespeichert werden.

Thunderbird Movemail-Konto einrichten:

Über das Thunderbird Datei-Menü per Auswahl „Neu > Andere Konten > Movemailkonto“ ein neues Movemailkonto anlegen.

Als Mailadresse im Movemailkonto habe ich „user@localhost“ angegeben. Obwohl das PHP Kontaktformular auf „nutzer@Laptop“ eingestellt ist, kommt die Mail in Thunderbird schon an.

Frage:

Welche Rolle spielen also die Eintragungen in Thunderbird?

Antwort:

Die Empfängeradresse ist wichtig und muss mit der im Mailserversystem hinterlegten Mailadresse übereinstimmen.

Funktionstest 2:

Per Terminal können jetzt schon lokale Mails an das Thunderbird Movemailkonto verschickt werden. Die erste Variante mit der Textdatei wurde oben schon beschrieben.

Es geht aber auch ohne externe Textdatei:

  • echo „Ich bin der Nachrichtentext“ | mail -s“Betreff“ BENUTZER@RECHNERNAME

Funktionstest 3:

Nun geht es endlich zum PHP Kontaktformular…

Datei 1:

<form action=“kontaktformular-02.php“ method=“post“>

Vorname: [Einzeiliges Eingabefeld]

<br />

<input type=“text“ name=“vorname“ size=“30″ maxlength=“30″>

<br /><br />

<textarea name=“user_eingabe“ cols=“50″ rows=“10″></textarea>

<input type=“submit“ value=“Absenden“>

<input type=“reset“ value=“Reset“>

<br /><br />

</form>

Datei 2:

<?php

$empfaenger = „BENUTZER@RECHNERNAME“;

$betreff = „Kontaktformular“;

$from = „From: info@localhost <info@localhost>“;

$text =

Vorname: $_POST[vorname]

Nachricht:

$_POST[user_eingabe]

„;

mail($empfaenger, $betreff, $text, $from);

?>

Formular und PHP-Code werden wieder in zwei verschiedenen Dateien eingebaut.

Die erste Webseite (kontaktformular-01.php) wird nun über die lokale Serverumgebung aufgerufen.

Wird das ausgefüllte Formular nun abgeschickt, landet eine entsprechende E-Mail als Movemail im Posteingang von Thunderbird.

Ein echter SMTP und POP Mailserver ist damit zwar noch nicht aufgesetzt, doch die PHP Mailfunktion kann zumindest lokal getestet werden und nur darum ging es ja bei diesem Projekt…

Sämtliche Beispiele ab der Apache Webserver Installation für HTML (ohne CSS) und PHP waren absichtlich nur sehr oberflächlich erklärt, um den Rahmen nicht zu sprengen. Eventuell ergibt sich zukünftig noch ein detaillierterer Blick in die Thematik HTML mit CSS und PHP.

Dieser Beitrag wurde erstellt am Mittwoch 21. Februar 2018 um 08:00 und abgelegt unter Allgemein. Kommentare zu diesen Eintrag im RSS 2.0 Feed. Sie können zum Ende springen und ein Kommentar hinterlassen. Pings sind im Augenblick nicht erlaubt.

Kommentar schreiben