Eliminando Mensajes del Servidor
Eliminando Mensajes
La clase ImapClient puede eliminar mensajes de un servidor IMAP. La función deleteMessage() de la clase ImapClient se utiliza para eliminar mensajes. Toma el número de secuencia del mensaje o el ID único como parámetro. La clase ImapClient proporciona los métodos deleteMessage y deleteMessages para eliminar mensajes uno por uno o de múltiples. El siguiente fragmento de código muestra cómo eliminar un mensaje de correo electrónico con el ID del mensaje 1 de un servidor IMAP.
try (ImapClient client = new ImapClient("host", "username", "password")) {
client.setSecurityOptions(SecurityOptions.SSLImplicit);
// Agregar mensaje de prueba
client.selectFolder(ImapFolderInfo.IN_BOX);
MailMessage eml = new MailMessage("from@from.com", "to@to.com");
eml.setSubject("Mensaje a eliminar");
eml.setBody("¡Hola! Este mensaje será eliminado!");
String emlId = client.appendMessage(eml);
// Eliminar el mensaje agregado
client.deleteMessage(emlId);
client.commitDeletes();
}
Eliminando Múltiples Mensajes
Se pueden eliminar múltiples correos electrónicos de la bandeja de entrada utilizando el ImapClient de la API Aspose.Email. El método deleteMessages proporciona varias opciones para eliminar múltiples mensajes del servidor utilizando IDs únicos, números de secuencia o elementos de ImapMessageInfoCollection. El siguiente fragmento de código muestra cómo eliminar múltiples mensajes.
try (ImapClient client = new ImapClient("host", "username", "password")) {
client.selectFolder(ImapFolderInfo.IN_BOX);
// Agregar mensajes de prueba
List<MailMessage> emlList = new ArrayList<>();
for (int i = 0; i < 3; i++) {
MailMessage eml = new MailMessage("from@from.com", "to@to.com");
eml.setSubject("Mensaje a eliminar " + i);
eml.setBody("¡Hola! Este mensaje será eliminado!");
emlList.add(eml);
}
AppendMessagesResult appendMessagesResult = client.appendMessages(emlList);
List<String> uidList = new ArrayList<>();
for (String uid : appendMessagesResult.getSucceeded().getValues()) {
uidList.add(uid);
}
// Eliminación masiva de mensajes agregados
client.deleteMessagesByUids(uidList, true);
client.commitDeletes();
}