我怎样才能以纯文本形式收到电子邮件?我使用的是imap indy10和delphi7

时间:2015-01-15 15:55:09

标签: delphi imap delphi-7 indy10

我正在使用以下代码,但我得到的是html甚至是base64,我不知道如何用纯文本解码它。在我的delphi应用程序中阅读电子邮件内容的正确方法是什么?

var
  TheFlags: TIdMessageFlagsSet;
  TheUID: string;
  nCount: integer;
  TheMsg: TIdMessage;
  MailBoxName: string;
  lacadena:string;
begin
  nCount := TheImap.MailBox.TotalMsgs;
  for i := 0 to nCount do 
  begin
    TheImap.GetUID(i, TheUID)
    TheImap.UIDRetrieveText(TheUID, lacadena);

    dbmmoemcontent.text  :=lacadena;
  end;
end

1 个答案:

答案 0 :(得分:1)

尝试使用UIDRetreive()代替UIDRetrieveText()UIDRetreive()检索整个电子邮件,标题和所有内容,然后将其解码为TIdMessage。另一方面,UIDRetrieveText()只检索电子邮件正文的原始文本,没有任何标题,除了将原始字节转换为String之外,不会以任何方式进行解码。