Listado de mensajes del servidor Exchange usando WebDav

Una lista de los mensajes de correo electrónico en un buzón de Exchange se puede obtener llamando al método ExchangeClient.listMessages(). Obtenga la información básica sobre los mensajes, como el asunto, de, para y el ID del mensaje, utilizando el método listMessages().

Este artículo muestra cómo conectarse a un servidor Exchange y listar los correos electrónicos en un buzón directamente o usando WebDav. Además, muestra cómo listar mensajes de diferentes carpetas y cómo listar mensajes por ID.

Listar mensajes del servidor Exchange

Para listar los mensajes en un buzón de Exchange:

  1. Cree una instancia de la clase ExchangeClient.
  2. Llame al método listMessages y cree una colección de mensajes.
  3. Recorra la colección y muestre la información del mensaje.

El fragmento de código a continuación se conecta al buzón de Exchange y obtiene la lista de mensajes de la carpeta Bandeja 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("==================================");
}

Listado de mensajes de diferentes carpetas

Los fragmentos de código anteriores listan todos los mensajes en la carpeta Bandeja de entrada. También es posible obtener la lista de mensajes de otras carpetas. El método ExchangeClient.listMessages() acepta una URI de carpeta como parámetro. Siempre que la URI de la carpeta sea válida, puede obtener la lista de mensajes de esa carpeta.

Use la propiedad ExchangeClient.getMailboxInfo().xxxFolderUri para obtener la URI de diferentes carpetas. El resto del código es el mismo que para obtener una lista de mensajes.

// 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);