Ställ in, ändra och ta bort meddelandeflaggor på IMAP‑server
Ställ in/ändra meddelandeflaggor
Du kan ändra meddelandeflaggor genom att sätta nya med ChangeMessageFlags() metod. Denna metod tar två parametrar.
- Meddelandets sekvensnummer eller dess unika ID.
- MessageFlag.
Följande flaggor kan sättas:
Följande kodexempel visar hur du ändrar meddelandeflaggor på en IMAP-server med Aspose.Email.
// Mark the message as read
client.ChangeMessageFlags(1, ImapMessageFlags.IsRead);
Ta bort meddelandeflaggor
Meddelandeflaggor kan också tas bort med RemoveMessageFlags() metod. Användning är liknande den för ChangeMessageFlags() metod. Den tar ett sekvensnummer eller unikt meddelande-ID och MessageFlag. Följande kodexempel visar hur du tar bort meddelandeflaggor.
// Remove the message flag
client.RemoveMessageFlags(1, ImapMessageFlags.IsRead);
Sätt anpassade flaggor
Du kan också sätta anpassade flaggor på ett meddelande med hjälp av ImapClient av API:n. ImapClient AddMessageFlags ger möjlighet att sätta anpassade flaggor på meddelanden.
// 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");
}