如何使用ImapX lib将邮件标记为已读? C#

时间:2012-04-05 22:30:16

标签: c# messages imapx

我正在使用免费的lib ImapX,我正在制作一个应用程序来标记我收到的所有邮件。任何人都可以帮我一把吗?

编辑:没关系,自己发现了。在处理它们时,它们会被标记为已读。

2 个答案:

答案 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); 
}