Postfix/Fehlerbehebung

Aus Foxwiki

Funktionstest

Jetzt kann man z.B. mit mail aus dem Paket mailx eine E-Mail verschicken. Der Befehl dazu sieht im Prinzip so aus:

echo "Dies ist ein Testmail" | mail -s "Testbetreff" email@addresse.de

Danach sollte man die Datei /var/log/mail.log durchlesen und überprüfen ob alles geklappt hat. Hoffentlich steht nun am Ende der Datei etwas ähnliches wie das hier:

...from=<email@gmx.net>...
...to=<xyz@example.com>,... status=sent... Message accepted

Postfix; connect to 127.0.0.1[127.0.0.1]:10026: Connection refused

in /etc/amavis/conf.d/20-debian_defaults

$inet_socket_port = 10024; # default listening socket

in

$inet_socket_port = [10024, 10026];

ändern und amavis neustarten

Fehlerbehandlung

fatal: open database /etc/aliases.db: No such file or directory"

Nach dem Versenden einer Mail wurde in der Log-Datei folgender Fehler festgehalten:

" fatal: open database /etc/aliases.db: No such file or directory".

Der Befehl

sudo newaliases 

schafft Abhilfe.

GMX SASL authentication

"SASL authentication failed; cannot authenticate to server mail.gmx.net[213.165.64.21]: no mechanism available"

Mit einer Sicherheitsaktualisierung vom 10.03.2009 hat GMX die SMTP-Authentifizierung geändert: diese muss jetzt TLS-verschlüsselt und im Klartext erfolgen. Die Konfiguration wird in GMX beschrieben.

Problem mit Smarthost

Trotz Einrichtens der Benutzerauthentifizierung am Smarthost und der Umwandlung der Absenderadresse kann postfix keine E-Mails über den Smarthost versenden. Manchmal kommt es hier zu Problemen mit der Namensauflösung des Smarthosts. Hier hilft es, wenn man nicht seinen eingenen Router als Nameserver, sondern die Nameserver des Internet-Anbieters direkt angibt. Die notwendigen Schritte sind unter interfaces (Abschnitt „DNS-Server-angeben“) erklärt.

Nochmals unterstrichen werden sollte auch, dass die Datei sasl_password unbedingt mit 'sudo touch sasl_password' angelegt werden sollte UND NICHT mit einem Editor wie nano etc., ansonsten wird kein richtiger Zeitstempel erzeugt, und die smtp-Authentifizierung arbeitet nicht. Außerdem müssen der smtp-smarthost, z.B. smtp.gmx.net, in der main.conf bei 'relayname=' unbedingt mit dem in der Datei sasl_password übereinstimmen. Die Verwendung verschiedener Namen, die aber evtl. zur gleichen IP-Adresse zeigen (z.B. mail.gmx.net), führt ebenfalls zu Problemen.

Network unreachable – Postfix fatal error

In diesem Blogbeitrag 🇩🇪 (05/2011) wird genauer auf den Fehler 42947 eingegangen und eine Lösung beschrieben.

Anhänge mit mehr als 10 MB

Die Postfix-Voreinstellung für die maximale Größe einer E-Mail ist 10 MB. Der Versuch, größere E-Mails (E-Mail Body plus Attachments) zu Verschicken endet mit einer Fehlermeldung im E-Mail-Client. Die aktuelle Einstellung kann mit

postconf -n | egrep message_size_limit 

angezeigt werden, wobei die Größe in Byte ausgegeben wird. Mit folgenden Befehlen kann die maximale Größe einer E-Mail auf 100 MB erhöht werden:

sudo postconf -e "message_size_limit = 104857600"
sudo service postfix restart 

Falls Postfix zusammen mit einem Smarthost eingesetzt wird, sollte message_size_limit natürlich an das Smarthost-System angeglichen werden und dessen Begrenzungseinstellung nicht überschreiten.

Fehlerbehebung

Warnung: "Datenbank /etc/postfix/*.db ist älter als Quelldatei. ."

Wenn Sie eine oder beide Warnungen mit journalctl erhalten :

Warnung: Die Datenbank /etc/postfix/virtual.db ist älter als die Quelldatei /etc/postfix/virtual
Warnung: Die Datenbank /etc/postfix/transport.db ist älter als die Quelldatei /etc/postfix/transport

Dann können Sie es mit diesen Befehlen beheben, je nachdem, welche Meldungen Sie erhalten:

postmap /etc/postfix/transport
postmap /etc/postfix/virtual

Und neu starten postfix.service.

Host- oder Domänenname nicht gefunden. Namensdienstfehler für name=...

Wenn Sie mit journalctl:

Host- oder Domänenname nicht gefunden.  Namensdienstfehler für name=...

Es könnte sein, dass Sie Postfix in einem ausführen chrootund /etc/resolv.confwird vermisst.

Wenn ja, können Sie dies beheben, indem Sie:

mkdir -p /var/spool/postfix/etc
cp /etc/resolv.conf /var/spool/postfix/etc/resolv.conf

Und neu starten postfix.service.

4 Konfiguration prüfen

Führen Sie die aus postfix checkBefehl.

   Es sollte alles ausgeben, was Sie möglicherweise in einer Konfigurationsdatei falsch gemacht haben.

Geben Sie Folgendes ein, um alle Ihre Konfigurationen anzuzeigen postconf.

   Um zu sehen, wie Sie sich von den Standardeinstellungen unterscheiden, versuchen Sie es postconf -n.

TLS Error „untrusted issuer“

Solltet Ihr Probleme bei dem Mailversand an bestimmte Provider haben, kann dies unter Umständen an dieser Fehlermeldung in eurem Postfix Logfile liegen.

Sep 20 07:46:18 xxxxx postfix/smtp[7807]: certificate verification failed for mx01.t-online.de[194.25.134.72]:25: untrusted issuer /C=DE/O=Deutsche Telekom AG/OU=T-TeleSec Trust Center/CN=Deutsche Telekom Root CA 2
Lösung

Fügt in der Postfix Konfiguration diese Zeile hinzu… /etc/postfix/main.cf

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

… und startet den Dienst neu.

/etc/init.d/postfix restart

die Datei sollte normalerweise der Paketmanager automatisch generieren, bei dem Paket OpenSSL.

Du kannst die Datei aber auch mit diesem Befehl generieren:

# c_rehash /etc/ssl/certs/