TIDText 유형의 TIDMessagePart 객체의 Body.Text 속성에서 읽을 수있는 부분을 추출하려고합니다. 아래 코드와 같은 것입니다. 그러나 TIDText 메시지 부분의 ContentType이 text/plain이 아니고 text/html 인 경우 sBody를 모든 HTML 태그로 채 웁니다. 방금 읽을 수있는 텍스트를 원하지만 버전 9 라이브러리에서 해당 텍스트를 가져 오는 방법을 찾지 못합니다. 내가 놓친 게 있니?Delphi 7의 Indy v9 - ContentType이 text/plain이 아닌 경우 TIDMessagePart.Body의 읽을 수있는 텍스트 부분을 추출하는 방법
var 이메일 : 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은 IdGlobalProtocols의 ParseMetaHTTPEquiv() 함수에 작은 HTML 파서를 가지고있다. '유닛, TIdHTTP는 HTML 데이터에서''태그를 파싱하는데 사용한다. –