Gestión de Elementos de Conversación
Aspose.Email para .NET se puede utilizar para gestionar los elementos de conversación en Exchange Server con la clase EWSClient. Esta clase utiliza Exchange Web Services, que solo están disponibles en Exchange Server 2007 y versiones posteriores. Este artículo muestra cómo encontrar, copiar, mover y eliminar elementos de conversación en Exchange Server 2010. Se requiere Microsoft Exchange Server 2010 Service Pack 1 para todas las funcionalidades incluidas en esta sección.
Encontrar Conversaciones
Para obtener la información de la conversación de una carpeta específica en el Exchange Server:
- Conéctese al Exchange Server utilizando la interfaz IEWSClient.
- Llame al método IEWSClient.FindConversations() para encontrar todos los elementos de conversación de una carpeta.
- Muestre las propiedades del elemento de conversación como ID, tema de conversación y estado de la bandera.
El siguiente fragmento de código le muestra cómo encontrar conversaciones.
// 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(); | |
} |
Copiar Conversaciones
Para copiar conversaciones de una carpeta a otra:
- Conéctese al Exchange Server utilizando la interfaz IEWSClient.
- Llame al método IEWSClient.CopyConversationItems() para copiar el elemento de conversación de la carpeta de origen a la carpeta de destino.
El siguiente fragmento de código le muestra cómo copiar conversaciones.
// 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"); | |
} | |
} |
Mover Conversaciones
Para mover conversaciones de una carpeta a otra:
- Conéctese al Exchange Server utilizando la interfaz IEWSClient.
- Llame al método IEWSClient.MoveConversationItems() para mover una conversación de la carpeta de origen a la carpeta de destino.
El siguiente fragmento de código le muestra cómo mover conversaciones.
// 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"); | |
} | |
} |
Eliminar Conversaciones
Para eliminar conversaciones de una carpeta:
- Conéctese al Exchange Server utilizando la interfaz IEWSClient.
- Llame al método IEWSClient.DeleteConversationItems() para eliminar el elemento de conversación de la carpeta de origen.
El siguiente fragmento de código le muestra cómo eliminar conversaciones.
// 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"); | |
} | |
} |