Управление элементами беседы
Aspose.Email для .NET может использоваться для управления элементами беседы на Exchange Server с помощью класса EWSClient. Этот класс использует веб-службы Exchange, которые доступны только в Exchange Server 2007 и более поздних версиях. Эта статья показывает, как найти, скопировать, переместить и удалить элементы беседы на Exchange Server 2010. Для всех функций, включенных в этот раздел, требуется Microsoft Exchange Server 2010 Service Pack 1.
Нахождение бесед
Чтобы получить информацию о беседе из конкретной папки на Exchange Server:
- Подключитесь к Exchange Server, используя интерфейс IEWSClient.
- Вызовите метод IEWSClient.FindConversations(), чтобы найти все элементы беседы из папки.
- Отобразите свойства элемента беседы, такие как ID, тема беседы и статус флага.
Следующий фрагмент кода показывает, как находить беседы.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
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(), чтобы скопировать элемент беседы из исходной папки в папку назначения.
Следующий фрагмент кода показывает, как копировать беседы.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
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.
- Вызовите метод IEWSClient.MoveConversationItems(), чтобы переместить беседу из исходной папки в папку назначения.
Следующий фрагмент кода показывает, как перемещать беседы.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
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(), чтобы удалить элемент беседы из исходной папки.
Следующий фрагмент кода показывает, как удалять беседы.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
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"); | |
} | |
} |