Работа с флагами сообщений на сервере
Изменение флагов сообщений
Вы можете изменить флаги сообщений, используя метод changeMessageFlags(). Этот метод принимает два параметра.
- Номер последовательности сообщения или уникальный идентификатор.
- MessageFlag.
Следующие флаги могут быть установлены:
Установка флагов сообщений
Следующий фрагмент кода показывает, как изменить флаги сообщений на IMAP-сервере с помощью Aspose.Email.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Пометить сообщение как прочитанное
client.changeMessageFlags(1, ImapMessageFlags.isRead());
Удаление флагов сообщений
Флаги сообщений также можно удалить с помощью метода removeMessageFlags(). Использование аналогично методу changeMessageFlags(). Он принимает номер последовательности или уникальный идентификатор сообщения и MessageFlag. Следующий фрагмент кода показывает, как удалить флаги сообщений.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Удалить флаг сообщения
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
// Создать сообщение
MailMessage message = new MailMessage("user@domain1.com", "user@domain2.com", "subject", "message");
// Добавить сообщение в почтовый ящик
String uid = client.appendMessage(ImapFolderInfo.IN_BOX, message);
// Добавить пользовательские флаги к добавленному сообщению
client.addMessageFlags(uid, com.aspose.email.ImapMessageFlags.op_BitwiseOr(ImapMessageFlags.keyword("custom1"), ImapMessageFlags.keyword("custom1_0")));
// Извлечь сообщения для проверки наличия пользовательского флага
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("Ключевое слово найдено");
}