![]() |
TIdMessage: utf-8-Subject Problem
Hallo!
Ich habe ein Problem beim Versenden von Emails per TIdMessage. Umlaute im Subject werden irgendwie umgewandelt zu seltsamen zeichen. Liegt denke ich an utf8. Das Problem gab es auch schon desöfteren hier im Forum: ![]() ![]() ![]() ![]() Aber eine Lösung die funktioniert, konnte ich bisher nicht entdecken. Auch verstehe ich nicht ganz was passiert. Ich beschreibe das Subject-Property mit einem AnsiString. Erster Buchstabe ist ein "Ü". In Windows-Live-Mail wird mir dann als Subject in der Emailliste "Ü" ausgegeben. Also wird irgendwo was umgewandelt, was ich nicht möchte. An ein paar anderen Stellen in WLM wird mir das Ü korrekt angezeigt. Vermutlich, weil dort utf8 unterstützt wird. Kann man das irgendwie abstellen, dass die Email so gesendet wird? Das "Ü" sollte einfach immer richtig dargestellt werden. |
AW: TIdMessage: utf-8-Subject Problem
Ist es die aktuellste Indy Version?
|
AW: TIdMessage: utf-8-Subject Problem
Mir wird angezeigt Version 10.5.5.
Wollte gerade schauen welches die aktuelle Version ist, aber da wird man erschlagen von "Latest stable not recommended" "Still in development" "Nightly-Build" "Might be stable, but definitley read the documentation!" Naja ich schau mal ob ich die aktuellste draufbekomme, auch wenn ich dem nicht wirklich traue -.- Edit sagt: "Boah was ist das denn..." Zitat:
Zitat:
. . . Irgendwann schreib ich das ganze um in Java :wall: |
AW: TIdMessage: utf-8-Subject Problem
Kannst du den genauen Inhalt der EMail-Header aufzeichnen?
Oder schicke einfach eine Testemail an echo (ät) tu-berlin.de (Leerzeichen weglassen und das @-Zeichen einsetzen) Das Subject hat nach MIME folgenden Aufbau:
Code:
charset ist z.b. iso-8859-1 oder utf-8
=?charset?encoding?encoded text?=
encoding ist entweder ein Q (für Quoted-Printable) oder ein B (für Base64) encoded text ist das eigentliche Subject als Quoted-Printable oder Base64 kodiert und muss natürlich dem deklarierten charset entsprechen. Hier ein Beispiel für das Subject "Täst mit Ümlauten"
Code:
Nicht alle EMail-Clients können alle Varianten korrekt dekodieren und anzeigen.
=?ISO-8859-15?Q?T=E4st_mit_=DCmlauten?=
Es empfiehlt sich einen webbasierten EMail-Client wie web.de oder gmx.de zum Testen zu verwenden; das ist ziemlich sicher dass alles richtig dekodiert wird. |
AW: TIdMessage: utf-8-Subject Problem
Code:
Das ist der entsprechende Teil vom Email-Header.
Subject: =?UTF-8?B?w5xiZXJ3ZWlzdW5nc2F1ZmZvcmRlcnVuZyBmw7xy?= Ihre
Bestellung Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="xKiUrP4fnSjl81RVCE9Sqx7ULIh=_TjQvW" Edit: Es scheint richtig kodiert zu sein. Das Problem ist jetzt aber: Davor hatte ich das Projekt unter Delphi 2005 am laufen und dort ging es. Nach dem neu-compilieren unter Delphi 2010 geht es nichtmehr. Der kodierte String wird aus ner Datenbank geholt, siehe mein anderes Thema: ![]() Und dann in die Email gepackt. Der Header aus der "alten" Email sieht so aus:
Code:
Subject: =?ISO-8859-1?Q?=DCberweisungsaufforderung f=FCr?= Ihre
Bestellung Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Bji4VW6clWt=_d5hUGvZb8AXEyCTvwELK2" |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz