На стороне Imap клиентов нет такой опции как уведомлять о прочтение смс, изменение статуса сообщений. Но есть папки прочитано\не прочитано. Как вариант если только вам проверять папку прочитанные и обрабатывать их
//1. Создать объект ImapClient и подключиться к серверу:
using (var client = new ImapClient())
{
client.Connect("imap.example.com", 993, true);
// Аутентификация на сервере
client.Authenticate("username", "password");
// Код для проверки папки "Прочитанные"
// Отключение от сервера
client.Disconnect(true);
}
//2. Получить объект IMailFolder для папки "Прочитанные":
var folder = client.GetFolder("Прочитанные");
//3. Получить количество сообщений в папке:
var count = folder.Count;
//4. Получить список UID всех сообщений в папке:
var uids = folder.Search(SearchQuery.All).ToList();
//5. Получить список UID всех прочитанных сообщений в папке:
var uids = folder.Search(SearchQuery.Seen).ToList();
//6. Получить список объектов MimeMessage для всех сообщений в папке:
var messages = new List<MimeMessage>();
foreach (var uid in uids)
{
var message = folder.GetMessage(uid);
messages.Add(message);
}
//7. Получить список объектов MimeMessage для всех прочитанных сообщений в папке:
var messages = new List<MimeMessage>();
foreach (var uid in uids)
{
var message = folder.GetMessage(uid);
if (message.Flags.HasFlag(MessageFlags.Seen))
{
messages.Add(message);
}
}