Как пометить почту как прочитанную с помощью ImapX lib? C#

Я использую бесплатную библиотеку ImapX и создаю приложение, чтобы пометить все мои письма как полученные. Кто-нибудь может мне помочь?

РЕДАКТИРОВАТЬ: Неважно, выяснил это сам. Они помечаются как прочитанные, когда вы обрабатываете их.

2 ответа

Вам нужно добавить флаг, который поможет вам обновить статус, как видно.

  foreach (var mess in messages)
  {
   mess.SEEN = true; 
  }

Дайте мне знать, если вы не можете изменить статус.

Прежде всего, если вы используете старую библиотеку 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); 
}
Другие вопросы по тегам