Керування елементами розмов на Exchange Server
Aspose.Email for .NET можна використовувати для керування елементами розмов на Exchange Server за допомогою EWSClient клас. Цей клас використовує Exchange Web Services, які доступні лише в Exchange Server 2007 і пізніших випусків. У цій статті показано, як знайти, скопіювати, перемістити і видалити елементи розмов на Exchange Server 2010. Потрібен Microsoft Exchange Server 2010 Service Pack 1 для всіх функцій, включених у цей розділ.
Знайти розмови
Щоб отримати інформацію про розмову з конкретної папки на Exchange Server:
- Підключення до Exchange Server за допомогою IEWSClient інтерфейсу.
- Викличте IEWSClient.FindConversations() метод для пошуку всіх елементів розмов у папці.
- Відобразіть властивості елементу розмови, такі як ID, тема розмови та статус прапора.
Наступний фрагмент коду показує, як знайти розмови.
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange 2010");
// Find Conversation Items in the Inbox folder
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
// Show all conversations
foreach (ExchangeConversation conversation in conversations)
{
// Display conversation properties like Id and Topic
Console.WriteLine("Topic: " + conversation.ConversationTopic);
Console.WriteLine("Flag Status: " + conversation.FlagStatus.ToString());
Console.WriteLine();
}
Копіювати розмови
Щоб скопіювати розмови з однієї папки в іншу:
- Підключення до Exchange Server за допомогою IEWSClient інтерфейсу.
- Викличте IEWSClient.CopyConversationItems() метод для копіювання елементу розмови з папки-джерела до папки-призначення.
Наступний фрагмент коду показує, як копіювати розмови.
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange 2010");
// Find those Conversation Items in the Inbox folder which we want to copy
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Copy the conversation item based on some condition
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.CopyConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Copied the conversation item to another folder");
}
}
Перемістити розмови
Щоб перемістити розмови з однієї папки в іншу:
- Підключення до Exchange Server за допомогою IEWSClient інтерфейсу.
- Викличте IEWSC… (placeholder unchanged) метод для переміщення розмови з папки-джерела до папки-призначення.
Наступний фрагмент коду показує, як переміщати розмови.
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange 2010");
// Find those Conversation Items in the Inbox folder which we want to move
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Move the conversation item based on some condition
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.MoveConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Moved the conversation item to another folder");
}
}
Видалити розмови
Щоб видалити розмови з папки:
- Підключення до Exchange Server за допомогою IEWSClient інтерфейсу.
- Викличте IEWSClient.DeleteConversationItems() метод для видалення елементу розмови з папки-джерела.
Наступний фрагмент коду показує, як видалити розмови.
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange 2010");
// Find those Conversation Items in the Inbox folder which we want to delete
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Delete the conversation item based on some condition
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.DeleteConversationItems(conversation.ConversationId);
Console.WriteLine("Deleted the conversation item");
}
}