Hantera konversationsobjekt

Aspose.Email för Java kan användas för att hantera konversationsobjekt på Exchange Server med EWSClient klass. Denna klass använder Exchange Web Services, som endast finns i Exchange Server 2007 och senare. Den här artikeln visar hur man hitta, kopiera, flytta och radera konversationsobjekt på Exchange Server 2010. Microsoft Exchange Server 2010 Service Pack 1 krävs för alla funktioner som ingår i detta avsnitt.

Hitta konversationer

För att hämta konversationsinformation från en specifik mapp på Exchange Server:

  1. Anslut till Exchange Server med hjälp av IEWSClient‑klassen.
  2. Anropa IEWSClient.findConversations()-metoden för att hitta alla konversationsobjekt i en mapp.
  3. Visa konversationsobjektets egenskaper som ID, samtalsämne och flaggstatus.

Följande kodsnutt visar hur du hittar konversationer.

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

Kopiera konversationer

För att kopiera konversationer från en mapp till en annan:

  1. Anslut till Exchange Server med hjälp av IEWSClient‑klassen.
  2. Anropa IEWSClient.copyConversationItems()-metoden för att kopiera konversationsobjektet från källmappen till destinationsmappen.

Följande kodsnutt visar hur du kopierar konversationer.

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

Flytta konversationer

För att flytta konversationer från en mapp till en annan:

  1. Anslut till Exchange Server med hjälp av IEWSClient‑klassen.
  2. Anropa IEWSClient.moveConversationItems()-metoden för att flytta en konversation från källmappen till destinationsmappen.

Följande kodsnutt visar hur du flyttar konversationer.

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

Radera konversationer

För att radera konversationer från en mapp:

  1. Anslut till Exchange Server med hjälp av IEWSClient‑klassen.
  2. Anropa IEWSClient.deleteConversationItems()-metoden för att radera konversationsobjektet från källmappen.

Följande kodsnutt visar hur du raderar konversationer.

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