Встановлення, зміна та видалення прапорців повідомлень на IMAP‑сервері
Встановити/змінити прапорці повідомлення
Ви можете змінити прапорці повідомлення, встановивши нові за допомогою ChangeMessageFlags() метод. Цей метод приймає два параметри.
- Номер послідовності повідомлення або його унікальний ідентифікатор.
- MessageFlag.
Наступні прапорці можна встановити:
Наведений фрагмент коду показує, як змінити прапорці повідомлень на IMAP сервері за допомогою Aspose.Email.
// Mark the message as read
client.ChangeMessageFlags(1, ImapMessageFlags.IsRead);
Видалити прапори повідомлення
Прапорці повідомлень також можна видалити за допомогою RemoveMessageFlags() метод. Використання схоже на те, що в ChangeMessageFlags() метод. Він приймає номер послідовності або унікальний ID повідомлення і MessageFlag. Наведений фрагмент коду показує, як видалити прапорці повідомлення.
// Remove the message flag
client.RemoveMessageFlags(1, ImapMessageFlags.IsRead);
Встановити власні прапорці
Ви також можете встановити користувацькі прапорці повідомленню, використовуючи ImapClient API. ImapClient AddMessageFlags надає можливість встановлювати користувацькі прапорці на повідомленнях.
// Create a message
MailMessage message = new MailMessage("user@domain1.com", "user@domain2.com", "subject", "message");
//Append the message to mailbox
string uid = client.AppendMessage(ImapFolderInfo.InBox, message);
//Add custom flags to the added messge
client.AddMessageFlags(uid, ImapMessageFlags.Keyword("custom1") | ImapMessageFlags.Keyword("custom1_0"));
//Retreive the messages for checking the presence of custom flag
client.SelectFolder(ImapFolderInfo.InBox);
ImapMessageInfoCollection messageInfos = client.ListMessages();
foreach (var inf in messageInfos)
{
ImapMessageFlags[] flags = inf.Flags.Split();
if (inf.ContainsKeyword("custom1"))
Console.WriteLine("Keyword found");
}