blog.bartlweb - a technologist's external brain

SSL-Verbindung zwischen Postfix und einem externen SMTP-Server mithilfe von stunnel

Wer Postfix für den Versand seiner E-Mails so konfiguriert hat, dass dieser einen externen Server (Relayhost) zum Versand der Mails benutzt und diese Verbindung mittels SSL schützen möchte, muss zu einem Trick greifen. Postfix selbst unterstützt zwar TLS- aber keine SSL-Verbindungen. Abhilfe schafft stunnel, ein kleiner Zwischenserver der die verschlüsselte Kommunikation zwischen lokalem Postfix und externem SMTP-Server übernimmt.

Postfix konfigurierien

Passen Sie die Konfiguration von Postfix so an, dass der Relayhost auf die lokale Loopback-IP-Adresse und einen freien Port über 1024 (muss danach in stunnel konfiguriert werden) zeigt.

relayhost = [127.0.0.1]:11127

Sollte der externe Mailserver eine Authentifizierung verlangen, vergessen Sie nicht die Password-Map für den Konfigurationsparameter smtp_sasl_password_maps neu zu erstellen und dabei die Adresse des lokalen Servers anzugeben. Nähere Infos dazu sind in meinem Artikel SMTP Relay Host mit Authentifizierung in Postfix konfigurieren zu finden.

stunnel installieren und konfigurieren

Installieren Sie stunnel. Auf einem Ubuntu-System passiert dies mit dem folgenden Befehl.

apt-get install stunnel

Jetzt können wir stunnel so konfigurieren, dass es automatisch bei jedem Systemstart gestartet wird. Bearbeiten Sie dazu die Datei /etc/default/stunnel4 und setzen Sie den Wert

ENABLED = 0

auf

ENABLED = 1

Als Nächstes müssen wir stunnel konfigurieren. Erstellen oder Ersetzen Sie dazu die Datei /etc/stunnel/stunnel.conf mit folgendem Inhalt:

client = yes
chroot = /var/lib/stunnel4/
setuid = stunnel4
setgid = stunnel4
pid = /stunnel4.pid
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
 
[ssmtp]
accept = 11127
connect = mailserver.example.com:465

Setzen Sie die Portnummer accept=11127 auf die zuerst in der Postfix-Konfiguration gewählte Portnummer. Ersetzen Sie die Adresse und die Portnummer des externen Servers unter connect = mailserver.example.com:465.

Konfiguration testen

Über den Befehl mail yourmail@address.com können Sie nach einem Neustart der beiden Dienste stunnel und Postfix eine Mail über Postfix senden, um die Konfiguration zu testen.

Dieser Artikel hat Dir deinen Tag gerettet?

... und mühevolles Probieren, Recherchieren und damit Stunden an Zeit gespart? Oder einfach nur Dein Problem gelöst?

Dann würde ich mich freuen, wenn Du meine Zeit für die Erstellung dieses Blogartikels mit einer kleinen Anerkennung honorierst:

Zahlung mit PayPal oder Kreditkarte.

Hinweis zur Verwendung

Die Übermittlung einer Zahlung ist eine persönliche Anerkennung Ihrerseits an den Entwickler (Christian Bartl, Privatperson). Eine Zahlung ist nicht zweckgebunden und es ist keine Gegenleistung zu erwarten. Bitte beachten Sie, dass für eine übermittelte Zahlung keine Quittung ausgestellt werden kann.

Über den Autor

Christian Bartl

Christian Bartl Requirements Engineer
& Solution Architect für Online und Mobile

Als Technologie-Enthusiast und begeisterter Programmierer entwickle ich in meiner Freizeit Websites, Software und IT-Lösungen, die mir selbst und anderen den Alltag vereinfachen.

mehr auf christian.bartl.me

Kommentare

Noch kein Kommentar vorhanden.
Sei der Erste! - Ich freue mich über deine Anmerkung, Kritik oder Frage.

Kommentar schreiben

Der hier angegebene Name wird gemeinsam mit deinem Kommentar auf der Website veröffentlicht.

Deine E-Mail-Adresse wird zur einmaligen Benachrichtigung bei Veröffentlichung des Kommentars genutzt.

Benachrichtigung per E-Mail über Antworten auf meinen Kommentar erhalten.

Bitte tippe die Zahlenkombination "7646" ein, nur dann kann ich deinen Kommentar entgegennehmen.

Bitte fülle dieses Feld nicht aus, nur dann kann ich deinen Kommentar entgegennehmen.