Berichtvlaggen instellen, wijzigen en verwijderen op IMAP-server

Berichtvlaggen instellen/wijzigen

Je kunt berichtvlaggen wijzigen door nieuwe in te stellen met de ChangeMessageFlags() methode. Deze methode neemt twee parameters.

  1. Het volgnummer van een bericht of de unieke ID.
  2. MessageFlag.

De volgende vlaggen kunnen worden ingesteld:

Het volgende codefragment toont hoe u berichtvlaggen kunt wijzigen op een IMAP-server met Aspose.Email.

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

Berichtvlaggen verwijderen

Berichtvlaggen kunnen ook worden verwijderd met de RemoveMessageFlags() methode. Gebruik is vergelijkbaar met die van de ChangeMessageFlags() methode. Het neemt een volgnummer of unieke bericht-ID en MessageFlag. Het volgende codefragment toont hoe u berichtvlaggen kunt verwijderen.

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

Aangepaste vlaggen instellen

U kunt ook aangepaste vlaggen instellen op een bericht met behulp van de ImapClient van de API. De ImapClient AddMessageFlags biedt de mogelijkheid om aangepaste vlaggen op berichten in te stellen.

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