Я пытаюсь извлечь читаемую часть свойства Body.Text объекта TIDMessagePart, который является типом TIDText. Что-то вроде кода ниже. Однако, если ContentType части сообщения TIDText не является текстовым/обычным, но скорее является text/html, это заполняет sBody всеми тегами HTML. Я просто хочу прочитать текст, но не вижу способа получить это в библиотеке версии 9. Я что-то упускаю?Indy v9 in Delphi 7 - как извлечь читаемую текстовую часть TIDMessagePart.Body, когда ContentType не является текстовым/простым
var email: TIDMessage; sBody: String;
...
for j := 0 to Pred(email.MessageParts.Count) do
begin
if email.MessageParts.Items[j] is TIdText then
begin
sBody := TIdText(email.MessageParts.Items[j]).Body.Text;
end;
end;
Это остается верным для INDY 10, и я ожидаю, что он останется прежним для будущих версий INDY. – jachguate
Правда, в Indy нет планов по внедрению полного парсера HTML (для этого доступно множество сторонних парсеров), однако Indy 10 имеет небольшой парсер HTML в функции ParseMetaHTTPEquiv() '' IdGlobalProtocols 'unit, который' TIdHTTP' использует для разбора '' тегов из данных HTML. –