Управление элементами разговора
Aspose.Email для Java может использоваться для управления элементами разговоров на Exchange Server с помощью EWSClient класс. Этот класс использует Exchange Web Services, которые доступны только в Exchange Server 2007 и более поздних версиях. Эта статья показывает, как find, copy, move и delete элементы разговоров на Exchange Server 2010. Для всех функций, включённых в этот раздел, требуется Microsoft Exchange Server 2010 Service Pack 1.
Поиск разговоров
Чтобы получить информацию о разговоре из конкретной папки на Exchange Server:
- Подключитесь к Exchange Server, используя класс IEWSClient.
- Вызовите метод IEWSClient.findConversations() для поиска всех элементов разговоров в папке.
- Отобразите свойства элемента разговора, такие как 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();
}
Копирование разговоров
Для копирования разговоров из одной папки в другую:
- Подключитесь к Exchange Server, используя класс IEWSClient.
- Вызовите метод 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");
}
}
Перемещение разговоров
Для перемещения разговоров из одной папки в другую:
- Подключитесь к Exchange Server, используя класс IEWSClient.
- Вызовите метод 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");
}
}
Удаление разговоров
Для удаления разговоров из папки:
- Подключитесь к Exchange Server, используя класс IEWSClient.
- Вызовите метод 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");
}
}