ZumBeispiel so:
1. Setze über dem Memo1 einen TWebBrowser rein, setze om
OI Align auf alClient.
2. Finde die Prozedur
procedure TfrmMain.RetrieveExecute(Sender: TObject);
3. Setze zunächst am Anfang der Prozedur
WebBrowser1.Visible := false;
4. Finde folgende Zeilen:
Delphi-Quellcode:
begin //body text
if Msg.MessageParts.Items[intIndex] is TIdText then
begin
Memo1.Lines.Clear;
Memo1.Lines.AddStrings(TIdText(Msg.MessageParts.Items[intIndex]).Body);
end;
5. Ersetze sie durch folgendes:
Delphi-Quellcode:
begin //body text
if Msg.MessageParts.Items[intIndex]
is TIdText
then
begin
If (Msg.MessageParts.Items[intIndex].ContentType = '
text/html')
or
(Pos('
text/html' + '
;', Msg.MessageParts.Items[intIndex].ContentType) = 1)
then
begin
WebBrowser1.Visible := true;
Memo1.Visible := false;
TIdText(Msg.MessageParts.Items[intIndex]).Body.SaveToFile('
C:\_temp.htm');
WebBrowser1.Navigate('
C:\_temp.htm');
end
else
begin
Memo1.Lines.Clear;
Memo1.Lines.AddStrings(TIdText(Msg.MessageParts.Items[intIndex]).Body);
end;
end;
'C:\_temp.htm' kannst du natürlich auch woanders speichern und später wieder löschen.
PS: Irgendwas stimmt mit diesem Demo allerdings nicht: Bei manchen Mails gibt er weder Text noch
HTML aus (war schon vor meiner Änderung so).