Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Probleme mit TIdMessage->Betreff ist verschlüsselt /unlesbar (https://www.delphipraxis.net/143885-probleme-mit-tidmessage-betreff-ist-verschluesselt-unlesbar.html)

angos 25. Nov 2009 15:12


Probleme mit TIdMessage->Betreff ist verschlüsselt /unles
 
Hallo,

ich habe jetzt schon rechte lange Zeit in diesem Forum, anderen Foren und mit Google verbracht, aber leider keine Lösung für mein Problem gefunden. Vielleicht fehlen mir einfach die passenden Suchbegriffe.

Also: Ich arbeite mit den Indy-Komponenten(9.0) und hier mit TidIMAP/TidPOP3 und TidMessage.

Das Verbinden zum Server und Herunterladen der EMails, samt Anhängen funktioniert sauber und problemlos. Auch der Body der Email wird sauber dargestellt, wenn ich diesen z.B. in einem Memo ausgeben lasse.

Lediglich scheint der Betreff (idMessage1.Subject) irgendwie kodiert zu sein. Ich habe jetzt schon versucht diesen mit einem TIdDecoderMIME zu entschlüsseln, leider ohne Erfolg. Es wird gefühlt nur noch kryptischer ;)

Delphi-Quellcode:
[...]
  // lbxHeaders = TListBox
 
  for i := 1 to iMsgCount do
  begin
    IMAP.RetrieveHeader(i, idMessage1);
    lbxHeaders.Items.Add(idMessage1.Subject);
    lbxHeaders.Items.Add(TIdDecoderMIME.DecodeString(idMessage1.Subject));
    idMessage1.Clear;
  end;
[...]

Daher meine Frage: Wie erkenne ich ggf wie ich den Betreff umwandeln muss? (Thunderbird zB stellt den Betreff problemlos dar)

Hier noch der entsprechende Auszug (wenn ihr mehr braucht, bitte Bescheid geben) aus der EMail:

Subject: =?utf-8?B?RVdTR2xvYmFsOiBFU0IgLSBNb250YWdlYmVyaWNodCAtID I0LjExLjIwMDk=?=



Grüße
angos

Bernhard Geyer 25. Nov 2009 15:22

Re: Probleme mit TIdMessage->Betreff ist verschlüsselt /u
 
Dürfte Bas64-Codiert sein was da drin steht (EWSGlobal: ESB - Montagebericht - 24.11.20)

angos 25. Nov 2009 15:26

Re: Probleme mit TIdMessage->Betreff ist verschlüsselt /u
 
Zitat:

Zitat von Bernhard Geyer
Dürfte Bas64-Codiert sein was da drin steht (EWSGlobal: ESB - Montagebericht - 24.11.20)

Vielen Dank, das entspricht dem Text den ich suche. Dann werde ich mal nach einem Base-64 Decodierer suchen :)

btw: Wie finde ich selber heraus, WOMIT etwas verschlüsselt ist, damit ich nicht immer wie der Dumme nachfragen muss?

himitsu 25. Nov 2009 15:40

Re: Probleme mit TIdMessage->Betreff ist verschlüsselt /u
 
Zitat:

=?utf-8?B?RVdTR2xvYmFsOiBFU0IgLSBNb250YWdlYmVyaWNodCAtID I0LjExLjIwMDk=?=
zerlege den Text mal an den "?"

Start- ( =? ) und Stoppkennung ( ?= )

utf-8
B
RVdTR2xvYmFsOiBFU0IgLSBNb250YWdlYmVyaWNodCAtIDI0Lj ExLjIwMDk=

innere Kodierung
keine Ahnung
Text (hier dürfte dann TIdDecoderMIME helfen)


Aber irgendwo müßte dennoch erwährt werden, das und wie dieses Kodiert wurde,
es sei denn die Start-/Stoppkennung ist für diese Erkennung vorgesehn.

Bernhard Geyer 25. Nov 2009 15:47

Re: Probleme mit TIdMessage->Betreff ist verschlüsselt /u
 
Zitat:

Zitat von himitsu
Aber irgendwo müßte dennoch erwährt werden, das und wie dieses Kodiert wurde,
es sei denn die Start-/Stoppkennung ist für diese Erkennung vorgesehn.

Sicherlich wird das in irgendwelchen RFC's zum Mailverkehr schon definiert sein. Sonst würde es ja Thunderbird und Co. auch nicht können.

angos 25. Nov 2009 15:52

Re: Probleme mit TIdMessage->Betreff ist verschlüsselt /u
 
Hi,

so weit bin ich gerade auch gekommen. Ich hatte das ja, wie im ersten Post geschrieben, schon mit einem MIME-Decoder (= Base64) versucht, aber eben mit dem gesamten String (inkl =?utf-8). Daher kam da auch völlig wirres Zeug dabei raus.

Zerlege ich nur den mittleren Teil, klappt das nun wunderbar. Jetzt ist nur noch zu klären, ob die Anordnung der Zahlenketten

1.) =
2.) ?utf-8
3.) ?B
4.) ?RVdTR2xvYmFsOiBFU0IgLSBNb250YWdlYmVyaWNodCAtIDI0L jExLjIwMDk=
5.) ?=

immer gleich ist oder ob das auch variieren kann

Gruß und vielen Dank für die Hilfe
angos

himitsu 25. Nov 2009 15:53

Re: Probleme mit TIdMessage->Betreff ist verschlüsselt /u
 
nja, die RFCs meinte ich jetzt nicht direkt,
aber wie z.B. beim HTTP im Header drinsteht, wie man die nachfolgenden Daten zu interpretieren hat, sollte doch auch hier irgendwas zu finden sein?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:00 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 by Thomas Breitkreuz