Arbeta med meddelandeflaggor på servern

Ändra meddelandeflaggor

Du kan ändra meddelandeflaggor genom att använda changeMessageFlags() metod. Denna metod tar två parametrar.

  1. Meddelandets sekvensnummer eller unika ID.
  2. MessageFlag.

Följande flaggor kan sättas:

Sätta meddelandeflaggor

Följande kodexempel visar hur du ändrar meddelandeflaggor på en IMAP-server med 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());

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.

// 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());

Sätta anpassade flaggor

Du kan också sätta anpassade flaggor på ett meddelande med hjälp av ImapClient av API:et. ImapClient AddMessageFlags ger möjlighet att sätta anpassade flaggor på meddelanden.

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