JO *_*Gng 7 delphi indy delphi-xe4
我试图通过使用TIdIMAP4Indy 10.6.0.4975 来获取我的IMAP邮箱的未读邮件数.
问题是,UnseenMsgs即使访问的邮箱中有一些未读邮件,该属性也会返回0.这是我使用的代码:
procedure TForm1.FormClick(Sender: TObject);
var
  TotalMsgs: Integer;
  UnseenMsgs: Integer;
begin
  IdIMAP41.Connect(True);
  IdIMAP41.SelectMailBox('Inbox');
  TotalMsgs := IdIMAP41.MailBox.TotalMsgs; // returns correct value
  UnseenMsgs := IdIMAP41.MailBox.UnseenMsgs; // <- returns always 0
  IdIMAP41.Disconnect(False);
end;
为什么TIdMailBox.UnseenMsgs属性返回0而不是正确的数字?
StatusMailBox在访问该属性之前调用该方法.它在UnseenMsgs属性文档中提到:
解析TIdIMAP4.StatusMailBox方法的结果时,将更新UnseenMsgs.
所以这样做:
IdIMAP41.Connect(True);
IdIMAP41.SelectMailBox('Inbox');
IdIMAP41.StatusMailBox('Inbox', IdIMAP41.MailBox);
UnseenMsgs := IdIMAP41.MailBox.UnseenMsgs;
| 归档时间: | 
 | 
| 查看次数: | 444 次 | 
| 最近记录: |