Gestion des indicateurs de messages sur le serveur

Modification des indicateurs de message

Vous pouvez modifier les indicateurs de message en utilisant le changeMessageFlags() méthode. Cette méthode prend deux paramètres.

  1. Le numéro de séquence du message ou son ID unique.
  2. MessageFlag.

Les indicateurs suivants peuvent être définis :

Définition d’indicateurs de messages

Le fragment de code suivant montre comment modifier les indicateurs de messages sur un serveur IMAP avec Aspose.Email.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Mark the message as read
client.changeMessageFlags(1, ImapMessageFlags.isRead());

Suppression d’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.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Remove the message flag
client.removeMessageFlags(1, ImapMessageFlags.isRead());

Définition d’indicateurs personnalisés

Vous pouvez également définir des indicateurs personnalisés sur un message en utilisant le ImapClient de l’API. Le ImapClient AddMessageFlags offre la possibilité de définir des indicateurs personnalisés sur les messages.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// 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.IN_BOX, message);

// Add custom flags to the added messge
client.addMessageFlags(uid, com.aspose.email.ImapMessageFlags.op_BitwiseOr(ImapMessageFlags.keyword("custom1"), ImapMessageFlags.keyword("custom1_0")));

// Retreive the messages for checking the presence of custom flag
client.selectFolder(ImapFolderInfo.IN_BOX);

ImapMessageInfoCollection messageInfos = client.listMessages();
for (ImapMessageInfo inf : messageInfos) {
    ImapMessageFlags[] flags = inf.getFlags().split();

    if (inf.containsKeyword("custom1"))
        System.out.println("Keyword found");
}