Indy 10 TIdIMAP4方法检索问题

时间:2015-08-17 15:09:35

标签: delphi-2010 indy

什么会导致TIdIMAP4.Retrieve(Header)返回False,但LastCmdResult会返回OK?

使用Indy 10Delphi 2010

1 个答案:

答案 0 :(得分:0)

检索标题(甚至是完整的电子邮件)分为三个步骤:

  1. 发送FETCH命令并收到初始回复。

  2. 如果正常,则解析响应后面的请求数据。

  3. 阅读最终回复。如果确定,则返回true。

  4. 由于RetreiveHeader()返回false,因此必须表示最终响应不正常。但是LastCmdResult说好,这只能说初始反应没问题,但最后的回答根本没有读。如果初始响应为空,或者解析失败,则会发生这种情况。

    如果没有看到完整的响应,就无法确切地告诉您解析失败的原因。请使用数据包嗅探器或TIdLog...组件捕获与IMAP服务器的对话,然后edit您的问题以包含服务器的实际响应。