Gerenciando Itens de Conversa

Aspose.Email para Java pode ser usado para gerenciar os itens de conversa no Exchange Server com o EWSClient classe. Esta classe usa Exchange Web Services, que estão disponíveis apenas no Exchange Server 2007 e versões posteriores. Este artigo mostra como find, copy, move e delete itens de conversa no Exchange Server 2010. O Microsoft Exchange Server 2010 Service Pack 1 é necessário para todos os recursos incluídos nesta seção.

Encontrando Conversas

Para obter as informações da conversa de uma pasta específica no Exchange Server:

  1. Conecte ao Exchange Server usando a classe IEWSClient.
  2. Chame o método IEWSClient.findConversations() para encontrar todos os itens de conversa de uma pasta.
  3. Exiba as propriedades do item de conversa, como ID, tópico da conversa e status da bandeira.

O trecho de código a seguir mostra como encontrar conversas.

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 Conversas

Para copiar conversas de uma pasta para outra:

  1. Conecte ao Exchange Server usando a classe IEWSClient.
  2. Chame o método IEWSClient.copyConversationItems() para copiar o item de conversa da pasta de origem para a pasta de destino.

O trecho de código a seguir mostra como copiar conversas.

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");
    }
}

Movendo Conversas

Para mover conversas de uma pasta para outra:

  1. Conecte ao Exchange Server usando a classe IEWSClient.
  2. Chame o método IEWSClient.moveConversationItems() para mover uma conversa da pasta de origem para a pasta de destino.

O trecho de código a seguir mostra como mover conversas.

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");
    }
}

Excluindo Conversas

Para excluir conversas de uma pasta:

  1. Conecte ao Exchange Server usando a classe IEWSClient.
  2. Chame o método IEWSClient.deleteConversationItems() para excluir o item de conversa da pasta de origem.

O trecho de código a seguir mostra como excluir conversas.

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");
    }
}