SMTPUTF8 is required, but was not offered by host
Hallo,
meine Testmails werden nicht zugestellt, sobald ich in der Betreffzeile ein Umlaut verwende (UTF-8). Ich verwende für Testmails ein Perl-Skript mit dem Modul MIME::Lite.
Aus dem Log:
Jul 5 09:18:07 mx1 postfix/lmtp[16338]: C50F2481BC6: to=tbarth@txbweb.de, relay=mx1.txbweb.de[private/dovecot-lmtp], delay=511, delays=511/0.02/0.02/0, dsn=4.6.7, status=SOFTBOUNCE (SMTPUTF8 is required, but was not offered by host mx1.txbweb.de[private/dovecot-lmtp])
Über die Suche fand ich einen Hinweis dazu auf dieser Seite https://github.com/hardware/mailserver/issues/166
Hier wurde folgende Einstellung vorgenommen:
smtputf8_enable = yes smtputf8_autodetect_classes = sendmail, verify
Dies habe ich in /etc/postfix/main.cf eingetragen und Postfix neu gestartet. Das Problem besteht weiterhin. Nun habe ich gesehen (http://www.postfix.org/postconf.5.html#smtputf8_autodetect_classes), dass das eigentlich Standardeinstellungen von Postfix sind. Und was kann ich jetzt tun? Und vor allem, wo hängen meine Testmails und wie kann ich sie löschen? mailq listet nichts in der Queue auf, aber es wird regelmäßig versucht, die Testmails noch zuzustellen. Postfix Version ist 3.1.8-0+deb9u1.
Gruß, Thomas B.
Hi,
Ich vermute, dass die Bibliothek das Subjekt nicht korrekt codiert. Wenn ich in Python eine Mail mit der entsprechenden Bibliothek zusammenbaue, muss ich die Header auch manuell codieren.
Nur weil im Body utf8 erlaubt ist, ist das im Header nicht unbedingt eine gute Idee. Schließlich muss der MUA und MTA unterwegs den auch parsen können.
Florian
Hallo Florian,
danke für den Hinweis. Ich habe das im Perl-Skript entsprechend ändern können.
vorher
my $msg = MIME::Lite->new( From => $from, To => $to, Type => 'multipart/alternative', Subject => $subject, );
nachher
$subject = decode('utf8', $subject); my $msg = MIME::Lite->new( From => $from, To => $to, Type => 'multipart/alternative', Subject => encode('MIME-Header', $subject), );
Nun werden neue Testmails direkt zugestellt. Kann ich die hängengebliebenen Testmails löschen? Normalerweise kann ich ja dazu postsuper -d ALL/id nutzen, aber die hängen jetzt irgendwo anders.
Am 05.07.2018 um 09:48 schrieb Florian Streibelt:
Hi,
Ich vermute, dass die Bibliothek das Subjekt nicht korrekt codiert. Wenn ich in Python eine Mail mit der entsprechenden Bibliothek zusammenbaue, muss ich die Header auch manuell codieren.
Nur weil im Body utf8 erlaubt ist, ist das im Header nicht unbedingt eine gute Idee. Schließlich muss der MUA und MTA unterwegs den auch parsen können.
Florian
Zeigt mailq denn Mails an?
Ich hätte vermutet dass postfix die mails direkt abgewiesen hat und nicht gequeued wurde. Was soll postfix auch mit kaputten Mails in der Queue.
Du kannst dir die Fehlermeldung ansehen, entweder im maillog oder in dem Output den postfix an dein Script gibt.
Im Log steht vermutlich irgendwo noqueue.
Florian
Ich habe das so verstanden, dass es solange in der Queue gehalten wird, bis dieses Feature aktiviert wird. Hat sich aber nun erledigt. Ich habe immer die mailq beim Sender-Host überprüft, aber die Mails wurden angenommen und auf den Ziel-Host in der Queue gehalten.
Am 05.07.2018 um 10:12 schrieb Florian Streibelt:
Zeigt mailq denn Mails an?
Ich hätte vermutet dass postfix die mails direkt abgewiesen hat und nicht gequeued wurde. Was soll postfix auch mit kaputten Mails in der Queue.
Du kannst dir die Fehlermeldung ansehen, entweder im maillog oder in dem Output den postfix an dein Script gibt.
Im Log steht vermutlich irgendwo noqueue.
Florian
Das klingt aber ohne jetzt die logs gesehen zu haben als ob der LDA ein Problem hatte bei der lokalen Zustellung.
Hallo Thomas, hallo zusammen,
Am Donnerstag, 5. Juli 2018, 09:34:08 CEST schrieb Thomas Barth:
meine Testmails werden nicht zugestellt, sobald ich in der Betreffzeile ein Umlaut verwende (UTF-8). Ich verwende für Testmails ein Perl-Skript mit dem Modul MIME::Lite.
Aus dem Log:
Jul 5 09:18:07 mx1 postfix/lmtp[16338]: C50F2481BC6: to=tbarth@txbweb.de, relay=mx1.txbweb.de[private/dovecot-lmtp], delay=511, delays=511/0.02/0.02/0, dsn=4.6.7, status=SOFTBOUNCE (SMTPUTF8 is required, but was not offered by host mx1.txbweb.de[private/dovecot-lmtp])
smtputf8_enable = yes smtputf8_autodetect_classes = sendmail, verify
Dies habe ich in /etc/postfix/main.cf eingetragen und Postfix neu gestartet. Das Problem besteht weiterhin. Nun habe ich gesehen (http://www.postfix.org/postconf.5.html#smtputf8_autodetect_classes), dass das eigentlich Standardeinstellungen von Postfix sind.
Ja, aber ältere Postfix-Versionen hatten dieses Feature noch nicht (laut http://www.postfix.org/SMTPUTF8_README.html wurde es in 3.0 eingeführt)
Und was kann ich jetzt tun?
Probier mal das Gegenteil ;-) Bei mir hat smtputf8_enable = no das Problem behoben oder zumindest verhindert.
Die Details stehen in https://bugzilla.opensuse.org/show_bug.cgi?id=1084014
Alternativ wäre auch ein Update von Dovecot und Amavis einen Versuch wert, aber dafür war ich zu faul ;-) - und weiß nichtmal, ob die das inzwischen unterstützen (eine Suche nach "dovecot smtputf8" brachte nur ein paar unbeantwortete Mails).
Gruß
Christian Boltz
participants (3)
-
Christian Boltz
-
Florian Streibelt
-
Thomas Barth