IT-MÜCKE

Linux: lokale Mails weiterleiten - Postfix als Nullclient einrichten

Beitragsdatum 27.07.2011
Letzte Aktualisierung 12.01.2023
Betrifft Linux allgemein. Postfix

Linux versendet teilweise Fehlermeldungen und Hinweise per E-Mail an lokale Nutzer, z.B. „root“. Die wenigsten Benutzer schauen diese Postfächer regelmäßig an. Daher kann Postfix installiert und so konfiguriert werden, dass die internen Mails an externe Adressen (also z.B. die eigene E-Mail-Adresse) weitergeleitet werden. So bekommt man alle Meldungen mit. Hier erkläre ich, wie das geht.

  • Postfix installieren:
    sudo apt-get install postfix
  • Konfigfile anpassen (es sollten nur die folgenden Zeilen enthalten sein): /etc/postfix/main.cf
    mydestination =
    inet_interfaces = loopback-only
    relayhost = [smtp server extern]
    smtp_generic_maps = hash:/etc/postfix/generic
  • Ersetzen Sie [smtp server extern] mit der Adresse (FQDN1)) des Mail-Servers Ihres Anbieters, den Sie benutzen, z.B. smtp.exampel.com.
  • Erzeugen Sie nun die Datei: /etc/postfix/generic und tragen Sie folgende Zeilen ein:
    root adresse@example.com
    username adresse2@example.com
    @localhost.localdomain adresse3@example.com
  • Passen Sie die Adressen an und ersetzen Sie username durch lokale Nutzer.
  • Achtung: die Adressen, die Sie hier eintragen, sind die Absender-Adressen und müssen daher zum Mailserver, der unter relayhost bezeichnet wurde, passen.
  • Führen Sie folgenden Befehl aus, um die eben angelegte Datei für postfix lesbar zu machen:
    sudo postmap /etc/postfix/generic

Nutzen Sie einen verschlüsselten SMTP-Server, so sind folgende Änderungen durchzuführen:

  • Konfigfile erweitern: /etc/postfix/main.cf
    mydestination =
    inet_interfaces = loopback-only
    relayhost = [smtp server extern]:587 # <- Portangabe anhängen
    smtp_generic_maps = hash:/etc/postfix/generic
    ### Neue Zeilen: ###
    smtp_use_tls = yes
    smtp_sasl_auth_enable = yes
    smtp_sasl_security_options = noanonymous
    smtp_tls_CApath = /usr/share/ca-certificates/
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
  • Die Zeilen unterhalb von ### Neue Zeilen: ### sind die Änderungen, die Sie zusätzlich anfügen müssen. Die Portänderung ist durch # ← Portangabe anhängen deutlich markiert.
  • Achtung: die Zeile smtp_tls_CApath = /usr/share/ca-certificates/ muss je Distribution angepasst werden. Bei Fedora und RHEL /etc/pik/tls/, bei Debian, OpenSuse und Ubuntu /usr/share/ca-certificates/.
  • Die Datei /etc/postfix/sasl_passwd muss angelegt werden mit folgendem Inhalt:
    [smtp server extern]:587 adresse1@example.com:[password]
  • Ersetzen Sie dabei wie oben [smtp server extern] durch den SMTP-Server Ihren Anbieters und [password] durch Ihr Passwort. Setzen Sie natürlich die richtige E-Mail-Adresse ein. Die Angaben für [smtp server extern] müssen exakt mit den Angaben in der main.cf übereinstimmen!
  • Diese Zugangsdaten müssen zu den Adressen in /etc/postfix/generic passen.
  • Nun müssen die Zugriffrechte angepasst werden:
    sudo chmod 0600 /etc/postfix/sasl_passwd
  • Anschließend diese Datei wieder für Postfix lesbar machen:
    sudo postmap /etc/postfix/sasl_passwd
  • Nun muss noch sichergestellt werden, dass postfix auch immer gestartet wird:
    sudo update-rc.d postfix defaults
  • Testen:
    # Installation der MailUtils:
    sudo apt-get install mailutils
    
    # Testmail versenden:
    echo "Mailbody" | mail -s "Testmail" adresse1@example.com
  • Fehlermeldungen werden im Maillog gespeichert: /var/log/mail.log
  • Sollte ein Fehler der Art postfix/smtp[xxxx]: warning: SASL authentication failure: No worthy mechs found kommen, dann muss ggf. das Paket libsasl2-mod nachinstalliert werden:
    sudo apt-get install libsasl2-mod
  • Sollte im Logfile /var/log/mail.log ein Fehler der Art postfix/postdrop[36272]: warning: unable to look up public/pickup: No such file or directory kommen, dann ist ein bestimmtest Verzeichnis anzulegen:
    sudo mkfifo /var/spool/postfix/public/pickup

Quellen:


Ähnliche Themen im blog:
postfix


zurück

1)
FQDN=Fully Qualified Domain Name