Delphi 2007, Indy10:
Ik heb het voor elkaar om mail van gmail te lezen, deze heeft een tweetal delen (MessageParts.,Count=2), de eerste heeft ContenType text/plain, de tweede text/html.
De code waar het om gaat is:
Code:
for i := 0 to msg.MessageParts.Count - 1 do
begin
if msg.MessageParts.Items[i] is TIdText then
begin
idtext := msg.MessageParts.Items[i] as TIdText;
if AnsiLeftStr(idtext.ContentType, 9) = 'text/html' then
bericht.BodyHtml := bericht.BodyHtml + idText.Body.Text
else if AnsiLeftStr(idtext.ContentType, 10) = 'text/plain' then
bericht.BodyPlain := bericht.BodyPlain + idtext.Body.Text
else if AnsiLeftStr(msg.ContentType, 10) = 'multipart/' then
begin
bericht.BodyHtml := bericht.BodyHtml + idText.Body.Text;
end
else // Beschouw dit als text
bericht.BodyPlain := bericht.BodyPlain + #13#10 + '(*' + idtext.ContentType + '*)' + #13#10 + idtext.Body.Text;
Continue;
end;
bericht.BodyPlain en bericht.BodyHTML zijn beide strings.
Nu werkt dit wel maar het blijkt dat de HTML-code wordt 'afgekapt', de laatste 3 bytes zijn "...". In GMail is de message wel compleet. Ergens wordt de tekst dus afgekapt, en dat is niet de bedoeling.
Hoe krijg ik de volledige tekst binnen?
Willem
Bookmarks