Встановлення, зміна та видалення прапорців повідомлень на IMAP‑сервері

Встановити/змінити прапорці повідомлення

Ви можете змінити прапорці повідомлення, встановивши нові за допомогою ChangeMessageFlags() метод. Цей метод приймає два параметри.

  1. Номер послідовності повідомлення або його унікальний ідентифікатор.
  2. 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");
}