Postfix/Fehlerbehebung: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
K Textersetzung - „z.B.“ durch „z. B. “ |
||
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= Funktionstest = | |||
Jetzt kann man z. B. mit <tt>mail</tt> 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 = | = Postfix; connect to 127.0.0.1[127.0.0.1]:10026: Connection refused = | ||
Zeile 7: | Zeile 17: | ||
ändern und amavis neustarten | ä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: | |||
<div >" fatal: open database /etc/aliases.db: No such file or directory".</div> | |||
Der Befehl | |||
sudo newaliases | |||
schafft Abhilfe. | |||
=== GMX SASL authentication === | |||
<div >"SASL authentication failed; cannot authenticate to server mail.gmx.net[213.165.64.21]: no mechanism available"</div> | |||
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 [https://wiki.ubuntuusers.de/Postfix/#gmx 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 [https://wiki.ubuntuusers.de/interfaces/#DNS-Server-angeben 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. <tt>mail.gmx.net</tt>), führt ebenfalls zu Problemen. | |||
=== Network unreachable – Postfix fatal error === | |||
In diesem [https://disfunctions.de/tutorials/network-unreachable-postfix-fatal-error/ Blogbeitrag] 🇩🇪 (05/2011) wird genauer auf den Fehler [https://launchpad.net/bugs/42947 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 <tt>message_size_limit</tt> 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 [https://wiki.archlinux.org/title/Journalctl 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 [https://wiki.archlinux.org/title/Restart neu starten] <tt>postfix.service</tt>. | |||
=== 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 <tt>chroot</tt>und <tt>/etc/resolv.conf</tt>wird 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 [https://wiki.archlinux.org/title/Restart neu starten] <tt>postfix.service</tt>. | |||
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/ | |||
[[Kategorie:Postfix/Verwaltung]] |
Aktuelle Version vom 19. Mai 2023, 12:54 Uhr
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:
Der Befehl
sudo newaliases
schafft Abhilfe.
GMX SASL authentication
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/