Définir, modifier et supprimer les indicateurs de messages sur le serveur IMAP
Définir/Modifier les indicateurs de messages
Vous pouvez changer les indicateurs de message en définissant de nouveaux indicateurs avec le ChangeMessageFlags() méthode. Cette méthode prend deux paramètres.
- Le numéro de séquence d’un message ou son ID unique.
- MessageFlag.
Les indicateurs suivants peuvent être définis :
Le fragment de code suivant montre comment modifier les indicateurs de messages sur un serveur IMAP avec Aspose.Email.
// Mark the message as read
client.ChangeMessageFlags(1, ImapMessageFlags.IsRead);
Supprimer les indicateurs de messages
Les indicateurs de messages peuvent également être supprimés avec le RemoveMessageFlags() méthode. Son utilisation est similaire à celle de la ChangeMessageFlags() méthode. Elle prend un numéro de séquence ou un ID de message unique et MessageFlag. Le fragment de code suivant montre comment supprimer les indicateurs de messages.
// Remove the message flag
client.RemoveMessageFlags(1, ImapMessageFlags.IsRead);
Définir des indicateurs personnalisés
Vous pouvez également définir des indicateurs personnalisés sur un message en utilisant le ImapClient de l’API. ImapClient AddMessageFlags offre la possibilité de définir des indicateurs personnalisés sur les messages.
// 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");
}