Робота з прапорцями повідомлень на сервері
Зміна прапорців повідомлення
Ви можете змінити прапори повідомлення, використовуючи changeMessageFlags() метод. Цей метод приймає два параметри.
- Номер послідовності повідомлення або унікальний ID.
- 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");
}