Mover mensajes de una carpeta a otra usando WebDav

Puede mover mensajes de correo electrónico de una carpeta a otra con la ayuda del método ExchangeClient.moveMessage(). Toma los parámetros:

  • El URI único del mensaje que se va a mover.
  • El URI único de la carpeta de destino.

Mover mensajes entre carpetas

El código de ejemplo a continuación mueve un mensaje en un buzón de la carpeta de Entrada a una carpeta llamada Procesados. En este ejemplo, la aplicación:

  1. Lee los mensajes de la carpeta de Entrada.
  2. Procesa algunos de los mensajes en base a ciertos criterios (en este ejemplo, encontramos una palabra clave en el asunto del mensaje).
  3. Mueve los mensajes que cumplen con la condición dada a la carpeta Procesados.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
String mailboxURI = "http://ex2003/exchange/administrator"; // WebDAV
ExchangeClient client = new ExchangeClient(mailboxURI, "username", "password", "domain");
ExchangeMailboxInfo mailboxInfo = client.getMailboxInfo();
// List all messages from Inbox folder
System.out.println("Listing all messages from Inbox....");
ExchangeMessageInfoCollection msgInfoColl = client.listMessages(mailboxInfo.getInboxUri());
for (ExchangeMessageInfo msgInfo : msgInfoColl) {
// Move message to "Processed" folder, after processing certain messages based on some criteria
if (msgInfo.getSubject() != null && msgInfo.getSubject().contains("process this message") == true) {
// Move it
client.moveMessage(msgInfo, client.getMailboxInfo().getRootUri() + "/Processed/" + msgInfo.getSubject());
System.out.println("Message moved...." + msgInfo.getSubject());
} else {
// Do something else
}
}