Как пометить почту как прочитанную с помощью 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);
}