Suppression de messages du serveur

Suppression de messages

Le ImapClient la classe peut supprimer des messages d’un serveur IMAP. Le ImapClient classe deleteMessage() la fonction est utilisée pour supprimer des messages. Elle prend le numéro de séquence du message ou l’ID unique en paramètre. Le ImapClient fournit deleteMessage et deleteMessages méthodes pour supprimer les messages un par un ou en lot. Le fragment de code suivant montre comment supprimer un e‑mail avec l’ID de message 1 depuis un serveur 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();
}

Suppression de plusieurs messages

Plusieurs e‑mails peuvent être supprimés de la boîte aux lettres à l’aide de ImapClient de l’API Aspose.Email. Le deleteMessages la méthode offre plusieurs options pour supprimer plusieurs messages du serveur en utilisant des identifiants uniques, des numéros de séquence ou ImapMessageInfoCollection éléments. Le fragment de code suivant montre comment supprimer plusieurs messages.

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