Mails über Relayhost versenden

Hinweis

Falsche Konfigurationen, oder die Wahl eines unpassenden Relayhosts können zu Problemen beim Versand, oder Empfang durch Dritte führen!

Vorwort

Um E-Mails über einen externen Server zu versenden, bietet Mailu native Umgebungsvariablen für den SMTP Docker-Container an.
Mit diesen kann festgelegt werden über welchen Server versendet werden soll und ob eine Authentifizierung erfolgen muss.

allgemeiner Versand via Relayhost

# File: mailu.env

# Adresse / IP des Relay Hosts
RELAYHOST=1.2.3.4

# user:password
RELAYUSER=user@my-domain.de:mein_passwort

Manche Hoster nutzen auch keine E-Mailadresse zum Authentifizieren
RELAYUSER=postfach1234:mein_passwort

In diesem Beispiel werden alle E-Mails die nicht lokal zugetellt werden können über den Relay-Host versendet!

bestimmte Ziele per Relay

In manchen Fällen möchte man nur bestimmte Domains über einen Relay versenden, weil ein Hoster E-Mails von der eigenen IP-Adresse nicht akzeptiert. In diesem Fall funktioniert die Anleitung oben nicht, sondern man muss etwas mehr konfigurieren.

Folgende Schritte sind notwendig

  1. Postfix Map mit Transport pro Domain und Relay Host konfigurieren
  2. Postfix zum nutzen der Map konfigurieren
  3. Authentifizierung hinterlegen (falls notwendig)
#File: postfix.cf

# Transport-Ziele in transport.map hinterlegen
transport_maps =  hash:/etc/postfix/transport.map

# Passwort pro Relay-Server
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd.map

# Authentifizierung aktivieren
smtp_sasl_auth_enable = yes

# deaktivieren von verschlüsselten Passwörtern, die Transport-Verschlüsselung ist aktiviert, Passwörter müssen oft im Klartext genutzt werden
smtp_sasl_security_options = noanonymous
# File: transport.map

t-online.de smtp:irgend.ein.smtp-server.com
test.de     smtp:1.2.3.4
# File: sasl_passwd.map

irgend.ein.smtp-server.com  myuser@smtp-xy.com:mein_p4ssword
1.2.3.4                     postfachx:super_sicher!

Nach der Konfiguration

Im Anschluss muss der SMTP Container neugestartet werden, oder sogar neu erstellt werden, falls die Option mit Docker Variablen genutzt wurde:

# Fall: Docker Variablen, Neubau des Containers
docker-compose up -d

# Fall: postfix.cf und Maps
docker-compose restart smtp