Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi E-Mail Body richtig anzeigen (https://www.delphipraxis.net/125890-e-mail-body-richtig-anzeigen.html)

Xzeer 14. Dez 2008 10:27


E-Mail Body richtig anzeigen
 
Hallo alle zusammen,

Ich lade mit diesem Code den Inhalt einer E-Mail von einem Pop3 Server:

Delphi-Quellcode:
  //mail laden
  pop3.Retrieve(mailindex, mailinfo);
  //details eintragen
  fo_browser.edAbsender.Text:=mailinfo.From.Text;
  fo_browser.edDatum.Text:=FormatDateTime('dd mmm yyyy hh:mm:ss', mailinfo.Date);
  fo_browser.edBetreff.Text:=mailinfo.Subject;
  //body eintragen
  for intIndex := 0 to Pred(mailinfo.MessageParts.Count) do begin
    if (mailinfo.MessageParts.Items[intIndex] is TIdAttachment) then begin
      fo_browser.mailtext.Lines.Add(TIdAttachment(mailinfo.MessageParts.Items[intIndex]).Filename);
    end
    else begin
      if mailinfo.MessageParts.Items[intIndex] is TIdText then begin
        fo_browser.mailtext.Lines.AddStrings(TIdText(mailinfo.MessageParts.Items[intIndex]).Body);
      end
    end;
  end;
Das funktioniert auch soweit, allerdings werden HTML E-Mails natürlich nicht richtig dargestellt. Wie könnte ich das hinbekommen? Gibt es dafür vielleicht eine Komponente oder so?

Schonmal danke...

Grolle 14. Dez 2008 11:45

Re: E-Mail Body richtig anzeigen
 
Hallo,

du könntest dazu z. B. den Hier im Forum suchenTWebbrowser verwenden.

Viele Grüße ...

Xzeer 14. Dez 2008 13:00

Re: E-Mail Body richtig anzeigen
 
mhh... ich probiere hier gerade etwas rum...

aber wie muss ich den E-Mail Body dem WebBrowser übergeben? :gruebel:

Mit Navigate geht es anscheinend nicht...

Grolle 14. Dez 2008 13:16

Re: E-Mail Body richtig anzeigen
 
Hi,

speichere den body temporär als html und öffne ihn dann mit navigate.

Viele Grüße ....

joachimd 15. Dez 2008 08:21

Re: E-Mail Body richtig anzeigen
 
Zitat:

Zitat von Leos-Studio
aber wie muss ich den E-Mail Body dem WebBrowser übergeben?

ich bin neulich auf die Komponente THTMLViewer (PBear) gestossen. Die kann auch per Stream gefüttert werden, was das temp zwischenspeichern erspart.

toms 15. Dez 2008 09:53

Re: E-Mail Body richtig anzeigen
 
Zitat:

Zitat von Grolle
speichere den body temporär als html und öffne ihn dann mit navigate.

Ist nicht nötig. Kannst den HTML Code direkt in den Webbrowser laden, ohne Umweg über die temporäre Datei.

Delphi-Quellcode:
procedure WB_LoadHTML(WB : TWebBrowser; AHTMLCode: TStrings);
var
  myDocument : OleVariant;
begin
  if WB.Document = nil then WB.Navigate('about:blank');
  myDocument:= WB.Document;
  myDocument.Clear;
  myDocument.Write(AHTMLCode.Text);
  myDocument.Close;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18: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