Autor Beitrag
Josef-B
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: Mo 02.03.15 14:32 
Hallo,

ich möchten in meiner ERP-Anwendung einen einfachen e-mail client einbauen.

Für die Verbindungen benutze ich bisher die Indy-10-Komponenten.

Ich rufe die mails ab und speichere sie in einer Firebird-Datenbank.

Soweit so gut.

Den Body speichere ich in einem Blob-Feld als Text.

Nun mein Problem.

Ich bräuchte einen kleinen Leitfaden, wie ich die Nachrichten-Inhalte (Text und Html) also mime?
darstellen kann in meiner Form. Ich dachte evtl. an TWebbrowser.

Wir kann ich nun den Inhablt meines Blob-Feldes in TWebbrowser anzeigen?

Muss ich die MIME Nachrichten evtl. erst noch decodieren?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 03.03.15 14:26 
Ein MimePart besteht immer aus einem Header und einem Body und im Header steht wie der Body kodiert ist (Content-Transfer-Encoding) und das Encoding des Body(der Charset am Content-Type)
Du müßtest also den Header auswerten um rauszufinden ob und wie du den Body zu dekodieren hast.

Die Header der einzelnen MimeParts einer Mail solltest du eh scannen (zumindest die 2 oben genannten Headerfelder Content-Transfer-Encoding und Content-Type) um rauszufinden welchen Part du den anzeigen willst udn mit welchem Encoding. Mails können ja nicht nur einen MailBody haben sondern mehrere (oft den selben Text als Plaintext und HTML) und du solltest denn passenden wählen.
Josef-B Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: Mi 04.03.15 12:43 
Hallo Ralf,

besten Dank für Deine Antwort...

Wenn ich dann den Header gescannt habe weiß, was für ein Content - Type es ist..

z.B. Html, wie kann ich dann genau den Html-Text anzeigen ? normales DbRichedti geht ja nicht, oder?