IMAP Sunucusunda Mesaj Bayraklarını Ayarla, Değiştir ve Kaldır

Mesaj Bayraklarını Ayarla/Değiştir

Yeni bayrakları ayarlayarak mesaj bayraklarını değiştirebilirsiniz ChangeMessageFlags() metod. Bu metod iki parametre alır.

  1. Bir mesajın sıra numarası veya benzersiz kimliği.
  2. MessageFlag.

Aşağıdaki işaretler ayarlanabilir:

Aşağıdaki kod parçacığı Aspose.Email ile bir IMAP sunucusunda mesaj işaretlerini nasıl değiştireceğinizi gösterir.

// Mark the message as read
client.ChangeMessageFlags(1, ImapMessageFlags.IsRead);

Mesaj Bayraklarını Kaldır

Mesaj işaretleri aynı zamanda şu yöntemle kaldırılabilir: RemoveMessageFlags() metod. Kullanımı şu metodunkine benzer: ChangeMessageFlags() metod. Bir sıra numarası veya benzersiz mesaj kimliği alır ve MessageFlag. Aşağıdaki kod parçacığı mesaj işaretlerini nasıl kaldıracağınızı gösterir.

// Remove the message flag
client.RemoveMessageFlags(1, ImapMessageFlags.IsRead);

Özel Bayrakları Ayarla

Ayrıca, bir mesaj üzerinde özel işaretler ayarlamak için şu yöntemi kullanabilirsiniz: ImapClient API’nin. ImapClient AddMessageFlags, mesajlara özel bayraklar ekleme yeteneği sağlar.

// 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");
}