Postfix als Entwickler verwenden

Für ein aktuelles Projekt von mir ist es wichtig das mein Debian Home Server E-Mails versenden kann. Diese sollen jedoch zu Testzwecken, unabhängig vom angegebenen Absender und Empfänger, immer an eine bestimmte E-Mail Adresse geschickt werden. Das hat den Vorteil das ich ganz viele verschiedene E-Mail Adressen verwenden kann und dabei niemand mit Mails belästigt wird die er nicht haben möchte. Spam mag niemand!

Hierbei ist zu beachten das man im Normalfall keine E-Mails von einem Home Server aus versenden sollte. Warum das so ist? Nicht ein einziger E-Mail-Anbieter würde sie annehmen. Das liegt ganz einfach daran das ein Home-Server, beziehungsweise der Internet-Anschluss in einer Wohnung, keine statische IP-Adresse verwendet (aus nicht-DSL-Bereichen) und ebenfalls keinen gültigen Hostnamen besitzt. Somit gilt man unter keinen Umständen als legitimer und seriös arbeitender Versender von E-Mails.

Um das Problem zu lösen versenden wir daher unsere E-Mails mit dem MTA (Mail-Transfer-Agent) Postfix per SMTP über einen der vielen legitimen und seriösen Anbieter die es im Internet so gibt. In meinem Fall ist dies GMX.

Installation

Als erstes installieren wir Postfix.

Anschließend öffnet sich ein Dialogfeld in dem wir einige grundsätzliche Einstellungen vornehmen müssen. Bei der ersten Frage, nach der Art der Konfiguration, wählen wir „Satellitensystem“ aus, gehen per Tab-Taste auf „Ok“ und bestätigen dies mit der Enter-Taste.

postfix konfiguration satellitensystem

Im nächsten Schritt wird der System-E-Mail-Name abgefragt. Hier habe ich den vorausgefüllten Namen meines Servers belassen.

postfix konfiguration domainname

Nun werden wir nach dem SMTP-Relay-Server gefragt. Hier kommt der SMTP-Server eures Anbieters rein. In meinem Fall „mail.gmx.net“.

postfix konfiguration smtp relay server

Sollte man während dieser Eingaben bei der Postfix Konfiguration einen Fehler gemacht haben und dies erst später bemerken, kann mit dem folgenden Befehl die Konfiguration erneut gestartet werden.

Einrichtung

Die weiteren Schritte bei der Einrichtung von Postfix müssen per Hand durchgeführt werden. Dafür bearbeiten wir als erstes die Konfigurationsdatei mit dem Befehl:

Am Ende dieser Datei müssen die folgenden Zeilen eingefügt werden:

Hierdurch legen wir fest das der SMTP Anbieter eine Authentifizierung benötigt, die Verbindung über eine sichere TLS Verbindung erfolgen soll und in welcher Datei die Zugangsdaten stehen. Des weiteren verweisen wir auf zwei Dateien durch die beim Versand einer E-Mail zum einen der Absender und zum anderen der Empfänger verändert wird.

Jetzt kümmern wir uns als erstes um die Zugangsdaten. Dafür erstellen wir mit dem ersten Befehl eine neue Datei und bearbeiten diese Datei mit dem zweiten Befehl.

Dort wird eine neue Zeile eingefügt. ADRESSE und PASSWORT müssen selbstverständlich durch eure Daten ersetzt werden.

Nun legen wir fest wer der Absender aller E-Mails sein soll indem wir eine neue Datei anlegen und diese bearbeiten.

Hier fügen wir die folgende Zeile ein. ADRESSE müsst Ihr erneut ersetzen.

Das selbe machen wir mit der Empfänger-Adresse an die alle E-Mails geschickt werden sollen.

In diese Datei kommt die folgende Zeile. ADRESSE muss wieder ausgetauscht werden. Wenn die Empfänger-Adresse die selbe wie die vom Absender sein soll, ist die Zeile identisch mit der aus der vorherigen Datei.

Um die veränderte Konfiguration von Postfix zu übernehmen, müssen aus unseren neuen Dateien Datenbanken erstellt werden. Dies machen wir mit diesen Befehlen:

Abschließend starten wir Postfix neu.

Um zu testen ob alles funktioniert, könnt Ihr mit dem folgenden Befehl eine E-Mail verschicken. Eine Empfänger-Adresse zum testen könnt Ihr zum Beispiel auf https://www.squizzy.de/ bekommen.

Diese E-Mail erhaltet Ihr nun mit dem von euch festgelegtem Absender an eure festgelegte E-Mail Adresse. Unabhängig davon wer eine E-Mail verschickt oder wer diese erhalten soll. Um als Entwickler verschiedene Funktionen zu testen ist dies genau das richtige.

Mir ist bewusst das es viel kleinere und einfacherer Lösungen gibt um dies zu realisieren. Zum Beispiel mit sSMTP oder Nullmailer. Bei beiden hatte ich aber massive Probleme mein Passwort zu hinterlegen und habe hierfür auch keine funktionierende Lösung finden können. Das Problem war, das meine Passwörter sehr sicher sind und aus vielen Zeichen bestehen die auch Sonderzeichen beinhalten. Mit diesen Sonderzeichen können beide Programme scheinbar nicht umgehen. Nur hierfür mein Passwort zu ändern und überall anpassen zu müssen sehe ich nicht ein. Ganz davon abgesehen das das Passwort dann etwas unsicherer wäre. Des weiteren können bei sSMTP auch E-Mails verloren gehen wenn keine Internetverbindung bestehen sollte. Das liegt daran das es leider keine Warteschlange gibt und E-Mails nach dem versenden gelöscht werden. Selbst dann, wenn es einen Fehler bei der Übermittlung gab.