Conversatie‑items beheren op Exchange Server
Aspose.Email voor .NET kan worden gebruikt om conversatie‑items op Exchange Server te beheren met de EWSClient klasse. Deze klasse maakt gebruik van Exchange Web Services, die alleen beschikbaar zijn in Exchange Server 2007 en latere releases. Dit artikel laat zien hoe je vinden, kopiëren, verplaatsen en verwijderen gespreksitems op Exchange Server 2010. Microsoft Exchange Server 2010 Service Pack 1 is vereist voor alle functies die in dit gedeelte zijn opgenomen.
Conversaties Vinden
Om de gespreksinformatie van een specifieke map op de Exchange Server op te halen:
- Verbind met de Exchange Server met behulp van de IEWSClient interface.
- Roep de IEWSClient.FindConversations() methode om alle conversatie‑items uit een map te vinden.
- Toon de eigenschappen van het gespreksitem zoals ID, gespreks onderwerp en vlagstatus.
De volgende codefragment laat zien hoe je gesprekken vindt.
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();
}
Conversaties Kopiëren
Om gesprekken van de ene map naar de andere te kopiëren:
- Verbind met de Exchange Server met behulp van de IEWSClient interface.
- Roep de IEWSClient.CopyConversationItems() methode om het conversatie‑item van de bronmap naar de doelmap te kopiëren.
De volgende codefragment laat zien hoe je gesprekken kopieert.
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");
}
}
Conversaties Verplaatsen
Om gesprekken van de ene map naar de andere te verplaatsen:
- Verbind met de Exchange Server met behulp van de IEWSClient interface.
- Roep de IEWSClient.MoveConversationItems() methode om een conversatie van de bronmap naar de doelmap te verplaatsen.
De volgende codefragment laat zien hoe je gesprekken verplaatst.
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");
}
}
Conversaties Verwijderen
Om gesprekken uit een map te verwijderen:
- Verbind met de Exchange Server met behulp van de IEWSClient interface.
- Roep de IEWSClient.DeleteConversationItems() methode om het conversatie‑item uit de bronmap te verwijderen.
De volgende codefragment laat zien hoe je gesprekken verwijdert.
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");
}
}