gpt4 book ai didi

delphi - 为什么 TIdMailBox.UnseenMsgs 属性返回 0 值?

转载 作者:行者123 更新时间:2023-12-03 14:52:25 29 4
gpt4 key购买 nike

我正在尝试使用 Indy 10.6.0.4975 中的 TIdIMAP4 获取 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中提到属性文件为:

UnseenMsgs is updated when the results from the TIdIMAP4.StatusMailBox method are parsed.

所以这样做:

IdIMAP41.Connect(True);
IdIMAP41.SelectMailBox('Inbox');
IdIMAP41.StatusMailBox('Inbox', IdIMAP41.MailBox);

UnseenMsgs := IdIMAP41.MailBox.UnseenMsgs;

关于delphi - 为什么 TIdMailBox.UnseenMsgs 属性返回 0 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30103738/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com