Gestionando elementos de conversación

Aspose.Email para Java puede usarse para gestionar los elementos de conversación en Exchange Server con el EWSClient clase. Esta clase usa Exchange Web Services, que solo están disponibles en Exchange Server 2007 y versiones posteriores. Este artículo muestra cómo buscar, copiar, mover y eliminar elementos de conversación en Exchange Server 2010. Microsoft Exchange Server 2010 Service Pack 1 es necesario para todas las características incluidas en esta sección.

Encontrando conversaciones

Para obtener la información de conversación de una carpeta específica en el Exchange Server:

  1. Conéctese al Exchange Server usando la clase IEWSClient.
  2. Llame al método IEWSClient.findConversations() para encontrar todos los elementos de conversación de una carpeta.
  3. Muestre las propiedades del elemento de conversación como ID, tema de la conversación y estado de la bandera.

El siguiente fragmento de código muestra cómo encontrar conversaciones.

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange 2010");

// Find Conversation Items in the Inbox folder
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Show all conversations
for (ExchangeConversation conversation : conversations) {
    // Display conversation properties like Id and Topic
    System.out.println("Topic: " + conversation.getConversationTopic());
    System.out.println("Flag Status: " + conversation.getFlagStatus());
    System.out.println();
}

Copiando conversaciones

Para copiar conversaciones de una carpeta a otra:

  1. Conéctese al Exchange Server usando la clase IEWSClient.
  2. Llame al método IEWSClient.copyConversationItems() para copiar el elemento de conversación de la carpeta origen a la carpeta destino.

El siguiente fragmento de código muestra cómo copiar conversaciones.

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange 2010");

// Find those Conversation Items in the Inbox folder which we want to copy
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
for (ExchangeConversation conversation : conversations) {
    System.out.println("Topic: " + conversation.getConversationTopic());
    // Copy the conversation item based on some condition
    if (conversation.getConversationTopic().contains("test email")) {
        client.copyConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Copied the conversation item to another folder");
    }
}

Moviendo conversaciones

Para mover conversaciones de una carpeta a otra:

  1. Conéctese al Exchange Server usando la clase IEWSClient.
  2. Llame al método IEWSClient.moveConversationItems() para mover una conversación de la carpeta origen a la carpeta destino.

El siguiente fragmento de código muestra cómo mover conversaciones.

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange 2010");

// Find those Conversation Items in the Inbox folder which we want to move
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

for (ExchangeConversation conversation : conversations) {
    System.out.println("Topic: " + conversation.getConversationTopic());
    // Move the conversation item based on some condition
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.moveConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Moved the conversation item to another folder");
    }
}

Eliminando conversaciones

Para eliminar conversaciones de una carpeta:

  1. Conéctese al Exchange Server usando la clase IEWSClient.
  2. Llame al método IEWSClient.deleteConversationItems() para eliminar el elemento de conversación de la carpeta origen.

El siguiente fragmento de código muestra cómo eliminar conversaciones.

IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange 2010");

// Find those Conversation Items in the Inbox folder which we want to delete
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
for (ExchangeConversation conversation : conversations) {
    System.out.println("Topic: " + conversation.getConversationTopic());
    // Delete the conversation item based on some condition
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.deleteConversationItems(conversation.getConversationId());
        System.out.println("Deleted the conversation item");
    }
}