0

尝试使用此代码评估邮件消息内容,该代码源自带有 INDY 的电子邮件的相关问题

DisplayMultiPartMixed(aMsg: TIdMessage; aParentIndex, aLastIndex: Integer);
var
Part: TIdMessagePart;
 i: Integer;
begin
 for i := aLastIndex-1 downto aParentIndex+1 do
   begin
   Part := aMsg.MessageParts.Items[i];
   if (Part.ParentPart = aParentIndex) and (Part is TIdText) then
   begin
    if IsHeaderMediaType(Part.ContentType, 'multipart/alternative') then
     begin
     DisplayMultiPartAlternative(aMsg, Part.Index, aLastIndex);
     Exit;
     end;
  if IsHeaderMediaType(Part.ContentType, 'text/html') then
  begin
      DisplayHTML(Part.Body);
    Exit;
  end;
  if IsHeaderMediaType(Part.ContentType, 'text/plain') then
  begin
      DisplayPlainText(Part.Body);
    Exit;
  end;
  aLastIndex := i;
end;
 // nothing supported to display...
end;
end;

我在 INDY 10 TidMessage 的 Part 子类中找不到 body (TStrings) 属性

4

1 回答 1

0

您需要将类型TIdMessagePart转换为 a TIdText,就像该DisplayMultiPartAlternative()过程一样。这个遗漏只是我的一个错字,我在对另一个问题的回答中修正了它。

于 2013-02-03T22:37:32.347 回答