Erstellt vor 2 Jahren

Geschlossen vor 2 Jahren

#2035 closed Fehler (fixed)

Probleme mit Zeichenkodierung beim Mailversand

Erstellt von: bibi@… Verantwortlicher: m.bunkus@…
Priorität: normal Meilenstein: 3.0.0
Komponente: kivitendo ERP Version: 2.7.1 unstable
Schweregrad: normal Stichworte:
Beobachter:

Beschreibung

Und zwar gibt es bei mir Unterschiede, ob ich per smpt oder per sendmail verschicke (Einstellung in der conf-Datei).

Die per SMTP verschickten Mails werden nicht richtig kodiert. Siehe Bilder.

Anhänge (2)

mit_smtp.png (42.9 KB) - hinzugefügt von bibi@… vor 2 Jahren.
mit_sendmail.png (40.6 KB) - hinzugefügt von bibi@… vor 2 Jahren.

Alle Anhänge herunterladen als: .zip

Änderungshistorie (10)

Geändert vor 2 Jahren durch bibi@…

Geändert vor 2 Jahren durch bibi@…

comment:1 Geändert vor 2 Jahren durch m.bunkus@…

  • Meilenstein auf 3.0.0 gesetzt
  • Status von new nach accepted geändert

Welches E-Mail-Programm? Ich meine mich nämlich zu erinnern, das erfolgreich getestet zu haben.

comment:2 Geändert vor 2 Jahren durch bibi@…

Einmal Rmail im Emacs und zu weiteren Tests die Mailbox-Datei kopiert und mit thunderbird (icedove) geöffnet.

Die Mail wird jeweils lokal auf dem Server zugestellt, auf dem auch kivitendo läuft. Einmail eben mit sendmail (von postfix) und einmal mit smtp. Bei smtp nimmt postfix die Mail entgegen und stellt sie lokal zu.

Gerade auch per smtp direkt an meine Mail-Adresse geschickt und direkt mit thunderbird und auf dem Handy (Android / k9-Mail) geöffnet: nicht richtig kodiert.

comment:3 Geändert vor 2 Jahren durch m.bunkus@…

  • Lösung auf fixed gesetzt
  • Status von accepted nach closed geändert

In 11e0660ffd9f7c92b96fd3d47d190399f03a2a8a/erp:

Bei Verwendung von SMTP nicht doppelt nach UTF-8 encoden

Die SMTP-Module erwarten, dass die Strings im Perl-internen Encoding
vorliegen. Das tun sie in Mailer.pm auch schon, allerdings wurden sie
dort bisher nach UTF-8 encodiert, weil der Sendmail-Treiber es so
brauchte.

Also die richtige Variante:

  • Mailer.pm verändert das Encoding nicht
  • Mailer/Sendmail?.pm setzt :utf8 als I/O-Layer auf der Pipe zum externen Prozess

Behebt #2035.

comment:4 Geändert vor 2 Jahren durch dakon@…

Es gibt an der Stelle noch einen zweiten Bug: Content-Transfer-Encoding wird nicht gesetzt, damit ist das implizit 7bit. Das im Zusammenhang mit UTF-8 ergibt weiterhin nur den normalen ASCII-Range an erlaubten Zeichen. Ein zusätzlicher Header "Content-Transfer-Encoding: 8bit" nach dem Content-Type-Header muss also auch noch eingefügt werden.

comment:5 Geändert vor 2 Jahren durch m.bunkus@…

  • Lösung fixed gelöscht
  • Status von closed nach reopened geändert

comment:6 Geändert vor 2 Jahren durch m.bunkus@…

  • Lösung auf fixed gesetzt
  • Status von reopened nach closed geändert

In 16cc40534360c3c173d6928070bd2873abee8c0c/erp:

Selbst geschriebenen E-Mail-Erstellungscode durch Verwendung von Email::MIME ersetzt

Fixt #2035.

comment:7 Geändert vor 2 Jahren durch bibi@…

  • Lösung fixed gelöscht
  • Status von closed nach reopened geändert

Gut - SMTP geht jetzt, aber Sendmail gar nicht mehr:
Ich bekomme folgende Fehlermeldung:

send email : Can't locate object method "recode" via package "Mailer" at /usr/local/src/lxoffice-git-bernd/SL/Mailer/Sendmail.pm line 20.

Mailer::Sendmail ruft

$self->mailer->recode($self->myconfig->{email})

auf, was es nicht mehr gibt.

comment:8 Geändert vor 2 Jahren durch m.bunkus@…

  • Lösung auf fixed gesetzt
  • Status von reopened nach closed geändert

In 93b7fa24a7245785251ae99cade5bb5f26a4c0f5/erp:

Entfernte Funktion SL::Mailer::recode nicht mehr aufrufen

Fixt #2035.

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.