Gerenciando Itens de Conversa no Exchange Server
Aspose.Email for .NET pode ser usado para gerenciar os itens de conversa no Exchange Server com o EWSClient classe. Esta classe usa Exchange Web Services, que estão disponíveis apenas no Exchange Server 2007 e versões posteriores. Este artigo mostra como find, copy, move e delete 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.
Encontrar Conversas
Para obter as informações da conversa de uma pasta específica no Exchange Server:
- Conectar ao Exchange Server usando o IEWSClient interface.
- Chame o IEWSClient.FindConversations() método 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 trecho de código a seguir mostra como encontrar conversas.
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();
}
Copiar Conversas
Para copiar conversas de uma pasta para outra:
- Conectar ao Exchange Server usando o IEWSClient interface.
- Chame o IEWSClient.CopyConversationItems() método para copiar o item de conversa da pasta de origem para a pasta de destino.
O trecho de código a seguir mostra como copiar conversas.
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");
}
}
Mover Conversas
Para mover conversas de uma pasta para outra:
- Conectar ao Exchange Server usando o IEWSClient interface.
- Chame o IEWSClient.MoveConversationItems() método para mover uma conversa da pasta de origem para a pasta de destino.
O trecho de código a seguir mostra como mover conversas.
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");
}
}
Excluir Conversas
Para excluir conversas de uma pasta:
- Conectar ao Exchange Server usando o IEWSClient interface.
- Chame o IEWSClient.DeleteConversationItems() método para excluir o item de conversa da pasta de origem.
O trecho de código a seguir mostra como excluir conversas.
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");
}
}