Робота з прапорцями повідомлень на сервері

Зміна прапорців повідомлення

Ви можете змінити прапори повідомлення, використовуючи 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. 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");
}