Gerenciando Itens de Conversa

Aspose.Email para .NET pode ser usado para gerenciar os itens de conversa no Exchange Server com a classe EWSClient. Esta classe utiliza os Serviços Web do Exchange, que estão disponíveis apenas no Exchange Server 2007 e em versões posteriores. Este artigo mostra como encontrar, copiar, mover e excluir itens de conversa no Exchange Server 2010. O Microsoft Exchange Server 2010 Service Pack 1 é necessário para todos os recursos incluídos nesta seção.

Encontrando Conversas

Para obter as informações da conversa de uma pasta específica no Exchange Server:

  1. Conecte-se ao Exchange Server usando a interface IEWSClient.
  2. Chame o método IEWSClient.FindConversations() para encontrar todos os itens de conversa de uma pasta.
  3. Exiba as propriedades do item de conversa, como ID, tópico da conversa e status da bandeira.

O seguinte trecho de código mostra como encontrar conversas.

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

Copiando Conversas

Para copiar conversas de uma pasta para outra:

  1. Conecte-se ao Exchange Server usando a interface IEWSClient.
  2. Chame o método IEWSClient.CopyConversationItems() para copiar o item de conversa da pasta de origem para a pasta de destino.

O seguinte trecho de código mostra como copiar conversas.

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

Movendo Conversas

Para mover conversas de uma pasta para outra:

  1. Conecte-se ao Exchange Server usando a interface IEWSClient.
  2. Chame o método IEWSClient.MoveConversationItems() para mover uma conversa da pasta de origem para a pasta de destino.

O seguinte trecho de código mostra como mover conversas.

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

Excluindo Conversas

Para excluir conversas de uma pasta:

  1. Conecte-se ao Exchange Server usando a interface IEWSClient.
  2. Chame o método IEWSClient.DeleteConversationItems() para excluir o item de conversa da pasta de origem.

O seguinte trecho de código mostra como excluir conversas.

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