Керування елементами розмови

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