Eliminar mensajes del servidor

Eliminar mensajes

The ImapClient la clase puede eliminar mensajes de un servidor IMAP. El ImapClient class deleteMessage() la función se usa para borrar mensajes. Toma el número de secuencia del mensaje o el identificador único como parámetro. El ImapClient provides deleteMessage and deleteMessages métodos para eliminar mensajes uno por uno o varios. El siguiente fragmento de código muestra cómo eliminar un mensaje de correo electrónico con el identificador de mensaje 1 de un servidor 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();
}

Eliminar varios mensajes

Se pueden eliminar varios correos electrónicos del buzón de correo mediante el ImapClient de la API Aspose.Email. El deleteMessages el método proporciona una serie de opciones para eliminar varios mensajes del servidor mediante identificadores únicos, números de secuencia o ImapMessageInfoCollection elementos. El siguiente fragmento de código muestra cómo eliminar varios mensajes.

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