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:
- Crie uma instância da classe ExchangeClient.
- Chame o método listMessages e crie uma coleção de mensagens.
- 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); |