Задаване, промяна и премахване на флагове на съобщения в IMAP сървър

Задаване/Промяна на флагове на съобщения

Можете да промените флаговете на съобщение, като зададете нови с ChangeMessageFlags() метод. Този метод приема два параметъра.

  1. Последователният номер на съобщение или неговото уникално ID.
  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");
}