我正在使用免费的 lib ImapX,并且正在制作一个应用程序来将我的所有邮件标记为已收到。谁能帮我一把?
编辑:没关系,我自己发现了。当您处理它们时,它们会被标记为已读。
您需要添加标志,这将帮助您更新所看到的状态。
foreach (var mess in messages)
{
mess.SEEN = true;
}
如果您无法更改状态,请告诉我。
首先,如果您使用的是旧的 ImapX 库,我邀请您升级到ImapX 2。它正在不断地开发和支持。还有所有常见操作的示例代码。
消息的Process
方法不会将消息标记为已读,它只会下载包括附件在内的整个消息。在您的情况下,如果您调用将Search
第二个参数设置为的方法true
,则不必为每条消息都调用它。
要将消息标记为已读,只需使用AddFlag
Message 的方法:
ImapX.FolderCollection folders = imapclient.Folders;
ImapX.MessageCollection messages = imapclient.Folders["INBOX"].Search("UNSEEN", true);
foreach (var mess in messages)
{
mess.AddFlag(ImapFlags.SEEN);
}