Работа с флагове на съобщенията на сървъра

Промяна на флаговете на съобщенията

Можете да променяте флаговете на съобщенията, като използвате changeMessageFlags() метод. Този метод приема два параметъра.

  1. Номерът на последователност на съобщението или уникалното ID.
  2. MessageFlag.

Следните флагове могат да бъдат зададени:

Задаване на флагове за съобщения

Следният кодов пример показва как да промените флаговете на съобщения в IMAP сървър с 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());

Премахване на флагове от съобщения

Флаговете на съобщенията могат също да се премахнат с removeMessageFlags() метод. Използването е подобно на това на changeMessageFlags() метод. Той приема номер на последователност или уникално ID на съобщение и MessageFlag. Следният кодов пример показва как да премахнете флаговете от съобщения.

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

Задаване на потребителски флагове

Можете също така да зададете потребителски флагове на съобщение, използвайки ImapClient на API. The ImapClient AddMessageFlags осигурява възможност за задаване на потребителски флагове върху съобщения.

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