Hallo #,
Ich lade eine Mail vom Mailserver herunter.
IdPOP3.Retrieve(iMail, IdMessage); //iMail ein Zähler
Es ist nur ein einfacher Text, keine Anhänge.
Trotzdem ist es eine multipart-Message (IdMessage.IsMsgSinglePartMime=False),
aber OK, das entscheidet der Sender, dass kann ich nicht beeinflussen.
Wie bekomme ich aber jetzt den Body raus.
Das Retreive legt zwei Dateien (den Msg-Header und den Body) ins Temp.
Im Moment gehe ich durch die beiden Anhänge (ist ja Multipart)
und suche gezielt nach etwas, was nur im Header stehen kann,
also Original-Message-ID (sind reply-Messages).
Die andere Datei ist ja dann der Body.
Das finde ich aber gar nicht schön.
es muss doch eine einfachere Möglichkeit geben.
Hier steht
http://stackoverflow.com/questions/1...e-email-to-vcl
Der Text ist TIdText, ist es aber nicht ...
Zumindestens bei meiner Mail.
Delphi-Quellcode:
for iMessagePart := 0 to theIdMessage.MessageParts.Count-1 do
begin
if theIdMessage.MessageParts.Items[iMessagePart] is TIdAttachmentFile then
begin
IdAttachmentFile := TIdAttachmentFile(theIdMessage.MessageParts.Items[iMessagePart]);
{ Dateianhänge müssen gesondert betrachtet werden }
if IdAttachmentFile.FileName<>'' then
begin
s
end
Für
Indy sind bei einer multipart-Message auch Header und Body MessageParts,
die entsprechenden anderen Felder (IdMessage.Headers.Text, IdMessage.Body.Text) sind leer.
Kennt jemand eine Lösung für mich ?
Danke
Heiko