Správa položek konverzace na Exchange Serveru

Aspose.Email pro .NET může být použit k správě položek konverzace na Exchange Serveru pomocí EWSClient třída. Tato třída používá Exchange Web Services, které jsou k dispozici jen v Exchange Server 2007 a novějších verzích. Tento článek ukazuje, jak najít, kopírovat, přesunout a smazat položky konverzací na Exchange Serveru 2010. Pro všechny funkce v této sekci je vyžadován Microsoft Exchange Server 2010 Service Pack 1.

Najít konverzace

Pro získání informací o konverzaci z konkrétní složky na Exchange Serveru:

  1. Připojit se k Exchange Serveru pomocí IEWSClient rozhraní.
  2. Zavolejte IEWSClient.FindConversations() metoda pro nalezení všech položek konverzace ze složky.
  3. Zobrazte vlastnosti položky konverzace jako ID, téma konverzace a stav vlajky.

Níže uvedený úryvek kódu ukazuje, jak najít konverzace.

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

Kopírovat konverzace

Pro kopírování konverzací z jedné složky do druhé:

  1. Připojit se k Exchange Serveru pomocí IEWSClient rozhraní.
  2. Zavolejte IEWSClient.CopyConversationItems() metoda pro zkopírování položky konverzace ze zdrojové složky do cílové složky.

Níže uvedený úryvek kódu ukazuje, jak kopírovat konverzace.

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

Přesunout konverzace

Pro přesunutí konverzací z jedné složky do druhé:

  1. Připojit se k Exchange Serveru pomocí IEWSClient rozhraní.
  2. Zavolejte IEWSClient.MoveConversationItems() metoda pro přesunutí konverzace ze zdrojové složky do cílové složky.

Níže uvedený úryvek kódu ukazuje, jak přesunout konverzace.

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

Smazat konverzace

Pro smazání konverzací ze složky:

  1. Připojit se k Exchange Serveru pomocí IEWSClient rozhraní.
  2. Zavolejte IEWSClient.DeleteConversationItems() metoda pro smazání položky konverzace ze zdrojové složky.

Níže uvedený úryvek kódu ukazuje, jak smazat konverzace.

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