Gestione degli elementi di conversazione

Aspose.Email per Java può essere usato per gestire gli elementi di conversazione su Exchange Server con il EWSClient classe. Questa classe utilizza Exchange Web Services, disponibili solo su Exchange Server 2007 e versioni successive. Questo articolo mostra come trova, copia, sposta e elimina elementi di conversazione su Exchange Server 2010. Microsoft Exchange Server 2010 Service Pack 1 è necessario per tutte le funzionalità incluse in questa sezione.

Ricerca delle conversazioni

Per ottenere le informazioni della conversazione da una cartella specifica su Exchange Server:

  1. Connettiti a Exchange Server usando la classe IEWSClient.
  2. Chiama il metodo IEWSClient.findConversations() per trovare tutti gli elementi di conversazione da una cartella.
  3. Visualizza le proprietà dell’elemento di conversazione come ID, argomento della conversazione e stato del flag.

Il seguente frammento di codice mostra come trovare le conversazioni.

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

Copia delle conversazioni

Per copiare le conversazioni da una cartella a un’altra:

  1. Connettiti a Exchange Server usando la classe IEWSClient.
  2. Chiama il metodo IEWSClient.copyConversationItems() per copiare l’elemento di conversazione dalla cartella di origine a quella di destinazione.

Il seguente frammento di codice mostra come copiare le conversazioni.

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

Spostamento delle conversazioni

Per spostare le conversazioni da una cartella a un’altra:

  1. Connettiti a Exchange Server usando la classe IEWSClient.
  2. Chiama il metodo IEWSClient.moveConversationItems() per spostare una conversazione dalla cartella di origine a quella di destinazione.

Il seguente frammento di codice mostra come spostare le conversazioni.

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

Eliminazione delle conversazioni

Per eliminare le conversazioni da una cartella:

  1. Connettiti a Exchange Server usando la classe IEWSClient.
  2. Chiama il metodo IEWSClient.deleteConversationItems() per eliminare l’elemento di conversazione dalla cartella di origine.

Il seguente frammento di codice mostra come eliminare le conversazioni.

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