Registriert seit: 16. Jun 2003
Ort: Dortmund
60 Beiträge
Turbo Delphi für Win32
|
Body fehlt in "nur Text" Mails (Indy-Kompo)
19. Nov 2004, 17:39
Hallo,
ich arbeite mit de Indy-Komponente. Nun habe ich einen kleinen Mail-Client geschrieben, der nur die Mails abruft, die ich haben möchte.
Wenn eine Mail nur Text enthält, dann wird dieser nicht mit heruntergeladen. Wenn ich die Mail auf der Platte speicher, dann ist in dieser nur der Header vorhanden. Der Body fehlt komplett. Weiß jemand, woran das liegen könnte?
Bei Mails mit mehreren " MessageParts" ist das kein Problem. Dort werden Html und Text Mails vollständig angezeigt und geladen. Das Problem besteht also nur bei Mails, die keinen Html-Teil enthalten.
Weiß jemand woran das liegen könnte?
Ich hab schon folgendes probiert...
Wenn mehrere Teile vorhanden sind:
Delphi-Quellcode:
for i := 0 to LMsg.MessageParts.Count-1 do
begin
if copy( Uppercase( LMsg.MessageParts[ i] .ContentType) , 1, 10) = ' TEXT/PLAIN' then
Memo1.Lines.AddStrings( TIdText( LMsg.MessageParts.Items[ i] ) .Body) ;
if copy( Uppercase( LMsg.MessageParts[ i] .ContentType) , 1, 9) = ' TEXT/HTML' then
begin
TIdText( LMsg.MessageParts.Items[ i] ) .Body.SaveToFile( ' C:\_temp.htm' ) ;
Mozilla.Navigate( ' C:\_temp.htm' ) ;
end;
Wenn die Mail nur aus einem Teil besteht:
Delphi-Quellcode:
if copy( Uppercase( LMsg.ContentType) , 1, 10) = ' TEXT/PLAIN' then
Memo1.Lines.AddStrings( LMsg.Body) ;
if copy( Uppercase( LMsg.ContentType) , 1, 9) = ' TEXT/HTML' then
begin
LMsg.Body.SaveToFile( ' C:\_temp.htm' ) ;
Mozilla.Navigate( ' C:\_temp.htm' ) ;
end;
|
|
Zitat
|