Problem:

Ein Server soll als Relayhost (oder auch Smarthost) dienen. (Z.B. innerhalb eines (Firmen-)Netzwerks.)
Er soll also ausgehende Emails annehmen und diese an einen Mail-Server (nicht den Bestimmungsserver) weiterleiten, der den weiteren Versand dann übernimmt.

Evtl. ist es auch nur ein interner/experimenteller Webserver, der hin und wieder Emails (Forum, Blog, Ticket-System, Rechnungen, etc.) verschicken soll.
Aber die Emails werden wegen einer dynamischen IP von anderen Mailservern nicht angenommen.

Ein anderer Grund für solch eine Konfiguration wäre z.B. auch ein MX-Backup-Server, der erstmal Emails an nimmt, wenn der primäre MX nicht antwortet/ausgefallen ist. Er versucht dann solange die Emails an den primären MX-Server zu zustellen, bis er sie endlich wieder annimmt.

Lösung:

In der Postfix-Konfiguration /etc/postfix/main.cf müssen folgende Ergänzungen gemacht werden:

#Externen-Server benennen:
#mit MX-Auflösung:
relayhost = mail.externer-server.de
#ohne MX-Auflösung:
relayhost = [mail.externer-server.de]
#SMTP mit SASL-Authentification verwenden
smtp_sasl_auth_enable = yes
#Die Passwort-Datei
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
#Identifikationsmethode:
smtp_sasl_security_options = noanonymous

Nun brauchen wir die darin genannte smtp_auth als Map-Datei:

mail.externer-server.de      user:passwort

Erstellen der Map-Datei:

postmap smtp_auth

Postfix neu starten:

/etc/init.d/postfix restart

Anmerkung:

Natürlich muß man relayhost nur einmal angeben. Entweder mit MX-Auflösung oder ohne. (Letzteres wäre Empfohlen.)
Mails die lokal zugestellt werden sollen, werden natürlich nicht über den Relayhost geroutet.

Probleme:

Falls Probleme auftauchen, die nicht direkt aus dem Maillog ersichtlich sind, kann man noch den Loglevel für den SMTP-Versand in der Datei /etc/postfix/master.cf erhöhen:

smtp unix    -    -    -    -    -    smtp -v

Bei manchen Home-/Firmen-Servern kann es sein, dass die Sasl-Libary fehlt. Dieses muss entsprechend nachinstalliert. Bei Debian heißt das benötigte Paket z.B. libsasl2-modules.

Kategorien:

Stichwörter:

postfix · smarthost · relay · relaying · smtp-auth · smtp · auth · smtp_sasl_auth · sasl · sasl2 · main.cf · master.cf · map ·