Видалення повідомлень з сервера

Видалення повідомлень

The ImapClient клас може видаляти повідомлення з IMAP сервера. Це ImapClient клас deleteMessage() функція використовується для видалення повідомлень. Вона приймає номер послідовності повідомлення або унікальний ID як параметр. Це ImapClient надає deleteMessage і deleteMessages методи для видалення повідомлень по одному або кількох. Наведений фрагмент коду показує, як видалити електронний лист з ідентифікатором повідомлення 1 з IMAP сервера.

try (ImapClient client = new ImapClient("host", "username", "password")) {
    client.setSecurityOptions(SecurityOptions.SSLImplicit);

    // Append test message
    client.selectFolder(ImapFolderInfo.IN_BOX);

    MailMessage eml = new MailMessage("from@from.com", "to@to.com");
    eml.setSubject("Message to delete");
    eml.setBody("Hey! This Message will be deleted!");
    String emlId = client.appendMessage(eml);

    // Delete appended message
    client.deleteMessage(emlId);
    client.commitDeletes();
}

Видалення кількох повідомлень

Кілька листів можна видалити з поштової скриньки, використовуючи ImapClient з API Aspose.Email. Це deleteMessages метод надає кілька варіантів для видалення декількох повідомлень з сервера, використовуючи унікальні ідентифікатори, номери послідовностей або ImapMessageInfoCollection елементи. Наведений фрагмент коду показує, як видалити кілька повідомлень.

try (ImapClient client = new ImapClient("host", "username", "password")) {
    client.selectFolder(ImapFolderInfo.IN_BOX);

    // Append test messages
    List<MailMessage> emlList = new ArrayList<>();
    for (int i = 0; i < 3; i++) {
        MailMessage eml = new MailMessage("from@from.com", "to@to.com");
        eml.setSubject("Message to delete " + i);
        eml.setBody("Hey! This Message will be deleted!");

        emlList.add(eml);
    }

    AppendMessagesResult appendMessagesResult = client.appendMessages(emlList);
    List<String> uidList = new ArrayList<>();
    for (String uid : appendMessagesResult.getSucceeded().getValues()) {
        uidList.add(uid);
    }

    // Bulk Delete appended Messages
    client.deleteMessagesByUids(uidList, true);
    client.commitDeletes();
}