Удаление сообщений с сервера
Удаление сообщений
Класс ImapClient может удалять сообщения с IMAP-сервера. Функция deleteMessage() класса ImapClient используется для удаления сообщений. Она принимает номер последовательности сообщения или уникальный идентификатор в качестве параметра. ImapClient предоставляет методы deleteMessage и deleteMessages для удаления сообщений по одному или несколько сразу. Следующий фрагмент кода показывает, как удалить электронное сообщение с идентификатором сообщения 1 с IMAP-сервера.
try (ImapClient client = new ImapClient("host", "username", "password")) {
client.setSecurityOptions(SecurityOptions.SSLImplicit);
// Добавить тестовое сообщение
client.selectFolder(ImapFolderInfo.IN_BOX);
MailMessage eml = new MailMessage("from@from.com", "to@to.com");
eml.setSubject("Сообщение для удаления");
eml.setBody("Привет! Это сообщение будет удалено!");
String emlId = client.appendMessage(eml);
// Удалить добавленное сообщение
client.deleteMessage(emlId);
client.commitDeletes();
}
Удаление нескольких сообщений
Несколько электронных писем можно удалить из почтового ящика, используя ImapClient API Aspose.Email. Метод deleteMessages предоставляет ряд опций для удаления нескольких сообщений с сервера, используя уникальные идентификаторы, номера последовательности или элементы ImapMessageInfoCollection. Следующий фрагмент кода показывает, как удалить несколько сообщений.
try (ImapClient client = new ImapClient("host", "username", "password")) {
client.selectFolder(ImapFolderInfo.IN_BOX);
// Добавить тестовые сообщения
List<MailMessage> emlList = new ArrayList<>();
for (int i = 0; i < 3; i++) {
MailMessage eml = new MailMessage("from@from.com", "to@to.com");
eml.setSubject("Сообщение для удаления " + i);
eml.setBody("Привет! Это сообщение будет удалено!");
emlList.add(eml);
}
AppendMessagesResult appendMessagesResult = client.appendMessages(emlList);
List<String> uidList = new ArrayList<>();
for (String uid : appendMessagesResult.getSucceeded().getValues()) {
uidList.add(uid);
}
// Массовое удаление добавленных сообщений
client.deleteMessagesByUids(uidList, true);
client.commitDeletes();
}