Mover Mensagens de uma Pasta para Outra usando WebDav

Você pode mover mensagens de email de uma pasta para outra com a ajuda do método ExchangeClient.moveMessage(). Ele aceita os parâmetros:

  • O URI único da mensagem que deve ser movida.
  • O URI único da pasta de destino.

Mover Mensagens entre Pastas

O código de exemplo abaixo move uma mensagem em uma caixa de correio da pasta Caixa de Entrada para uma pasta chamada Processado. Neste exemplo, o aplicativo:

  1. Lê mensagens da pasta Caixa de Entrada.
  2. Processa algumas das mensagens com base em alguns critérios (neste exemplo, encontramos uma palavra-chave no assunto da mensagem).
  3. Move mensagens que atendem à condição dada para a pasta Processado.
// 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
}
}