Správa položek konverzací

Aspose.Email pro Java lze použít ke správě položek konverzací na Exchange Serveru pomocí EWSClient třída. Tato třída používá Exchange Web Services, které jsou k dispozici jen v Exchange Server 2007 a novějších verzích. Tento článek ukazuje, jak najít, kopírovat, přesunout a smazat položky konverzací na Exchange Serveru 2010. Pro všechny funkce v této sekci je vyžadován Microsoft Exchange Server 2010 Service Pack 1.

Vyhledávání konverzací

Pro získání informací o konverzaci z konkrétní složky na Exchange Serveru:

  1. Připojte se k Exchange Serveru pomocí třídy IEWSClient.
  2. Zavolejte metodu IEWSClient.findConversations() pro nalezení všech položek konverzací ze složky.
  3. Zobrazte vlastnosti položky konverzace jako ID, téma konverzace a stav vlajky.

Níže uvedený úryvek kódu ukazuje, jak najít konverzace.

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

Kopírování konverzací

Pro kopírování konverzací z jedné složky do druhé:

  1. Připojte se k Exchange Serveru pomocí třídy IEWSClient.
  2. Zavolejte metodu IEWSClient.copyConversationItems() pro kopírování položky konverzace ze zdrojové složky do cílové složky.

Níže uvedený úryvek kódu ukazuje, jak kopírovat konverzace.

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

Přesouvání konverzací

Pro přesunutí konverzací z jedné složky do druhé:

  1. Připojte se k Exchange Serveru pomocí třídy IEWSClient.
  2. Zavolejte metodu IEWSClient.moveConversationItems() pro přesunutí konverzace ze zdrojové složky do cílové složky.

Níže uvedený úryvek kódu ukazuje, jak přesunout konverzace.

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

Mazání konverzací

Pro smazání konverzací ze složky:

  1. Připojte se k Exchange Serveru pomocí třídy IEWSClient.
  2. Zavolejte metodu IEWSClient.deleteConversationItems() pro smazání položky konverzace ze zdrojové složky.

Níže uvedený úryvek kódu ukazuje, jak smazat konverzace.

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