Listando Mensagens do Exchange Server usando WebDav

Uma lista das mensagens de e-mail em uma caixa de correio do Exchange pode ser obtida chamando o método ExchangeClient.listMessages(). Obtenha as informações básicas sobre as mensagens, como assunto, de, para e ID da mensagem, usando o listMessages() método.

Este artigo mostra como se conectar a um Exchange Server e listar os e-mails em uma caixa de correio diretamente ou usando WebDav. Ele também mostra como listar mensagens de diferentes pastas e como listar mensagens por ID.

Listar Mensagens do Exchange Server

Para listar as mensagens em uma caixa de correio do Exchange:

  1. Crie uma instância da classe ExchangeClient.
  2. Chame o método listMessages e crie uma coleção de mensagens.
  3. Percorra a coleção e exiba as informações das mensagens.

O trecho de código abaixo se conecta à caixa de correio do Exchange e obtém a lista de mensagens da pasta Caixa de Entrada.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create instance of ExchangeClient class by giving credentials
ExchangeClient client = new ExchangeClient("http://MachineName/exchange/Username", "username", "password", "domain");
// Call ListMessages method to list messages info from Inbox
ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri());
// Loop through the collection to display the basic information
for (ExchangeMessageInfo msgInfo : msgCollection) {
System.out.println("Subject: " + msgInfo.getSubject());
System.out.println("From: " + msgInfo.getFrom());
System.out.println("To: " + msgInfo.getTo());
System.out.println("Sent Date: " + msgInfo.getDate());
System.out.println("Read?: " + msgInfo.isRead());
System.out.println("Message ID: " + msgInfo.getMessageId());
System.out.println("Unique URI: " + msgInfo.getUniqueUri());
System.out.println("==================================");
}

Listando Mensagens de Diferentes Pastas

Os códigos acima listam todas as mensagens na pasta Caixa de Entrada. Também é possível obter a lista de mensagens de outras pastas. O método ExchangeClient.listMessages() aceita um URI de pasta como parâmetro. Desde que o URI da pasta seja válido, você pode obter a lista de mensagens daquela pasta.

Use a propriedade ExchangeClient.getMailboxInfo().xxxFolderUri para obter o URI de diferentes pastas. O restante do código é o mesmo para obter uma lista de mensagens.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Create instance of ExchangeClient class by giving credentials
ExchangeClient client = new ExchangeClient("http://MachineName/exchange/Username","username", "password", "domain");
// Get folder URI
String strFolderURI = "";
strFolderURI = client.getMailboxInfo().getInboxUri();
strFolderURI = client.getMailboxInfo().getDeletedItemsUri();
strFolderURI = client.getMailboxInfo().getDraftsUri();
strFolderURI = client.getMailboxInfo().getSentItemsUri();
// Get list of messages from the specified folder
ExchangeMessageInfoCollection msgCollection = client.listMessages(strFolderURI);