我尝试从这里使用MailKit IdleClient:https://github.com/jstedfast/MailKit/blob/master/Documentation/Examples/ImapIdleExample.cs
并将第98行中的foreach循环修改为该
foreach (var message in fetched)
{
Console.WriteLine("{0}: new message: {1}, UID: {2}", client.Inbox, message.Envelope.Subject, message.UniqueId);
client.Inbox.AddFlags(message.UniqueId, MessageFlags.Deleted, false);
messages.Add(message);
}
当我现在运行这个程序时,它冻结在client.Inbox.AddFlags
行,所以Console.WriteLine(....)
上方的行只运行一次
知道是什么原因造成的吗?当我评论行时,程序正常运行,并浏览收件箱中的每一条消息
编辑:刚刚测试了其他Flags。它们也不起作用。与使用client.Inbox.MoveTo()
移除标志或将消息移动到SpecialFolder.Trash
相同
这是一个非常简单的更改。GitHub的脚本以只读模式打开收件箱(第74行(。只需将其更改为FolderAccess.ReadWrite,一切正常。