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:
- Conecte-se ao Exchange Server usando a interface IEWSClient.
- Chame o método IEWSClient.FindConversations() para encontrar todos os itens de conversa de uma pasta.
- 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:
- Conecte-se ao Exchange Server usando a interface IEWSClient.
- 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:
- Conecte-se ao Exchange Server usando a interface IEWSClient.
- 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:
- Conecte-se ao Exchange Server usando a interface IEWSClient.
- 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"); | |
} | |
} |