我试图从IMAP获取邮件标签(由Thunderbird设置)。我找到了一些搜索邮箱的示例程序,但是当我尝试按关键字或标志搜索时,服务器断开连接。下面是我尝试继续的代码。 IMAP服务器 - Dovecot,Indy版本10
IMAPClient.Connect;
if IMAPClient.SelectMailBox('INBOX') then
begin
SetLength(SearchInfo, 1);
SearchInfo[0].SearchKey := skkeyword; <<<
SearchInfo[0].Text := edit1.Text;
if IMAPClient.SearchMailBox(SearchInfo) then
begin
memo1.Lines.add(inttostr(High(IMAPClient.MailBox.SearchResult))+ '-result');
for I := 0 to High(IMAPClient.MailBox.SearchResult) do
begin
MsgObject := TIdMessage.Create(nil);
try
if IMAPClient.Retrieve(IMAPClient.MailBox.SearchResult[I], MsgObject) then
begin
memo1.Lines.Add( msgobject.MsgId);
end;
finally
MsgObject.Free;
end;
end;
end;
end;