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