我正在使用MailSystem.NET OS库来处理IMAP。我的客户端程序有问题(用c#编写)。它使用IMAP库轮询邮件服务器。它将消息添加到客户端数据库后将其标记为已删除。但是,我不一定要在物理上删除该电子邮件,因为其他客户端将无法阅读该电子邮件。
所以我调用DeleteMessage(1,false),它应该将电子邮件标记为已删除,但由于'expunge'设置为false,因此它不会从服务器中物理删除。
如果我打开Thunderbird(另一个客户端)并连接到邮箱,确实消息已经消失。但是,我的其他客户端仍然看到该消息。消息计数显示1.如何确保当我从“INBOX”邮件文件夹返回消息计数时,它仅返回那些未标记为删除的消息,即那些尚未被客户端程序读取的消息计数? / p>
答案 0 :(得分:0)
正如Ivar在评论中提到的,您可以使用UNDELETED在邮箱中搜索邮件。但是,我发现“NOT DELETED”搜索标志在我一直使用的IMAP库上工作得更好。