Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TIdMessage: utf-8-Subject Problem (https://www.delphipraxis.net/173682-tidmessage-utf-8-subject-problem.html)

Angel4585 11. Mär 2013 08:23

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:

http://www.delphipraxis.net/108435-t...dsmtp-gmx.html
http://www.delphipraxis.net/143885-p...-unlesbar.html
http://www.delphipraxis.net/164926-i...t-problem.html
http://www.delphipraxis.net/167100-p...8-subject.html

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.

mjustin 11. Mär 2013 08:29

AW: TIdMessage: utf-8-Subject Problem
 
Ist es die aktuellste Indy Version?

Angel4585 11. Mär 2013 08:41

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:

1) The SuperCore package is very outdated and not currently usable. Don't even try to compile or install it.

2) There was no Delphi/C++Builder v13, so do not use the Indy...130 packages. For D/CB/RAD 2009, use the Indy...120 packages. For D/CB/RAD 2010, use the Indy...140 packages.
weiter unten..
Zitat:

Delphi Compilation
You can either:
1) use the command-line FULLD#.BAT script that corresponds to your Delphi version.
2) Open the individual .dpk files in the IDE and compile them, in the following order:
1) FULLD140 gibt es nicht....


.
.
.

Irgendwann schreib ich das ganze um in Java :wall:

sx2008 11. Mär 2013 09:09

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?encoding?encoded text?=
charset ist z.b. iso-8859-1 oder utf-8
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:
=?ISO-8859-15?Q?T=E4st_mit_=DCmlauten?=
Nicht alle EMail-Clients können alle Varianten korrekt dekodieren und anzeigen.
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.

Angel4585 11. Mär 2013 09:20

AW: TIdMessage: utf-8-Subject Problem
 
Code:
Subject: =?UTF-8?B?w5xiZXJ3ZWlzdW5nc2F1ZmZvcmRlcnVuZyBmw7xy?= Ihre
   Bestellung
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="xKiUrP4fnSjl81RVCE9Sqx7ULIh=_TjQvW"
Das ist der entsprechende Teil vom Email-Header.

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: http://www.delphipraxis.net/173625-z...idestring.html

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 07:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz