Управление на елементи от разговори

Aspose.Email за Java може да се използва за управление на елементите от разговори в Exchange Server с EWSClient клас. Този клас използва Exchange Web Services, достъпни само в Exchange Server 2007 и по-нови версии. Тази статия показва как да търсене, копиране, преместване и изтриване елементи от разговори в Exchange Server 2010. Microsoft Exchange Server 2010 Service Pack 1 е необходим за всички функции, включени в този раздел.

Търсене на разговори

За да получите информация за разговор от конкретна папка в Exchange Server:

  1. Свържете се с Exchange Server, използвайки класа IEWSClient.
  2. Извикайте метода IEWSClient.findConversations(), за да намерите всички елементи от разговор в папка.
  3. Показване на свойства на елемента от разговор като ID, тема на разговора и статус на флага.

Следният кодов откъс показва как да намерите разговори.

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

Копиране на разговори

За да копирате разговори от една папка в друга:

  1. Свържете се с Exchange Server, използвайки класа IEWSClient.
  2. Извикайте метода IEWSClient.copyConversationItems(), за да копирате елемент от разговор от изходната папка в целевата.

Следният кодов откъс показва как да копирате разговори.

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

Преместване на разговори

За да преместите разговори от една папка в друга:

  1. Свържете се с Exchange Server, използвайки класа IEWSClient.
  2. Извикайте метода IEWSClient.moveConversationItems(), за да преместите разговор от изходната папка към целевата.

Следният кодов откъс показва как да преместите разговори.

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

Изтриване на разговори

За да изтриете разговори от папка:

  1. Свържете се с Exchange Server, използвайки класа IEWSClient.
  2. Извикайте метода IEWSClient.deleteConversationItems(), за да изтриете елемента от разговор от изходната папка.

Следният кодов откъс показва как да изтриете разговори.

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