Nachrichten vom Server löschen

Nachrichten löschen

Die ImapClient Klasse kann Nachrichten von einem IMAP‑Server löschen. Die ImapClient Klasse deleteMessage() Funktion wird verwendet, um Nachrichten zu löschen. Sie nimmt die Nachrichten‑Sequenznummer oder eindeutige ID als Parameter. Die ImapClient stellt bereit deleteMessage und deleteMessages Methoden zum Löschen von Nachrichten einzeln oder mehrfach. Das folgende Codebeispiel zeigt, wie Sie eine E‑Mail‑Nachricht mit der Nachrichten‑ID 1 von einem IMAP‑Server löschen.

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();
}

Mehrere Nachrichten löschen

Mehrere E‑Mails können aus dem Postfach gelöscht werden mit dem ImapClient der Aspose.Email-API. Die deleteMessages Methode bietet eine Reihe von Optionen, um mehrere Nachrichten vom Server mithilfe eindeutiger IDs, Sequenznummern oder ImapMessageInfoCollection Elemente. Das folgende Codebeispiel zeigt, wie Sie mehrere Nachrichten löschen.

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();
}