Rozmowy na Microsoft Exchange Server są określane jako grupa wiadomości e-mail w wątku. Mówiąc prościej, wiadomo, że wiadomość e-mail i wszystkie jej odpowiedzi są rozmową. W tym artykule pokażemy, jak programowo pracować z konwersacjami w MS Exchange Server. W szczególności dowiesz się, jak wyszukiwać, kopiować, przenosić i usuwać konwersacje na MS Exchange Server w języku C# .NET.
- C# .NET API do pracy z konwersacjami na MS Exchange Server
- Znajdź konwersacje na MS Exchange Server w C#
- Skopiuj konwersację na MS Exchange Server w C#
- Przenieś rozmowę na MS Exchange Server w C#
- Usuń konwersację na MS Exchange Server w C#
C# .NET API do pracy z konwersacjami na MS Exchange Server
Do zarządzania konwersacjami na Microsoft Exchange Server użyjemy Aspose.Email for .NET. Jest to potężny interfejs API, który zapewnia szereg funkcji do implementacji aplikacji klienckich poczty e-mail. Umożliwia także bezproblemowy dostęp do różnych usług MS Exchange Server. Możesz pobrać bibliotekę DLL interfejsu API lub zainstalować ją z NuGet za pomocą następującego polecenia.
PM> Install-Package Aspose.Email
Znajdź konwersacje na MS Exchange Server w C#
Poniżej przedstawiono kroki, aby znaleźć konwersacje z folderu w MS Exchange Server w języku C#.
- Najpierw utwórz i zainicjuj obiekt NetworkCredential z nazwą użytkownika, hasłem i domeną.
- Następnie zainicjuj IEWSClient za pomocą identyfikatora URI skrzynki pocztowej i obiektu NetworkCredential.
- Wywołaj metodę IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) i uzyskaj rozmowy w tablicy ExchangeConversation.
- Na koniec przejrzyj każdy obiekt ExchangeConversation w tablicy i pobierz jego szczegóły.
Poniższy przykładowy kod pokazuje, jak znaleźć konwersacje z folderu w programie MS Exchange Server w języku C#.
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
// Połącz się z serwerem MS Exchange
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Pobieraj rozmowy ze skrzynki odbiorczej
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
// Pokaż wszystkie rozmowy
foreach (ExchangeConversation conversation in conversations)
{
// Wyświetl właściwości rozmowy, takie jak identyfikator i temat
Console.WriteLine("Topic: " + conversation.ConversationTopic);
Console.WriteLine("Flag Status: " + conversation.FlagStatus.ToString());
Console.WriteLine();
}
Skopiuj konwersację na MS Exchange Server w C#
Możesz także kopiować rozmowy z jednego folderu do drugiego bez pisania skomplikowanego kodu. Aby zademonstrować, przyjrzyjmy się, jak skopiować konwersacje ze skrzynki odbiorczej do folderu elementów usuniętych serwera Exchange w języku C# .NET.
- Najpierw utwórz i zainicjuj obiekt NetworkCredential z nazwą użytkownika, hasłem i domeną.
- Następnie zainicjuj IEWSClient za pomocą identyfikatora URI skrzynki pocztowej i obiektu NetworkCredential.
- Wywołaj metodę IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) i uzyskaj rozmowy w tablicy ExchangeConversation.
- Przejrzyj każdą ExchangeConversation w tablicy i przefiltruj wymagane.
- Na koniec skopiuj konwersację przy użyciu metody IEWSClient.CopyConversationItems(ExchangeConversation.ConversationId, client.MailboxInfo.DeletedItemsUri).
Poniższy przykładowy kod pokazuje, jak skopiować konwersację w programie MS Exchange Server przy użyciu języka C# .NET.
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
// Połącz się z serwerem MS Exchange
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Uzyskaj konwersacje
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Skopiuj element rozmowy na podstawie pewnego warunku
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.CopyConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Copied the conversation item to another folder");
}
}
Przenieś rozmowę na MS Exchange Server w C#
W poprzedniej sekcji właśnie skopiowaliśmy rozmowy z jednego folderu do drugiego. Jednak w niektórych przypadkach może być konieczne przeniesienie konwersacji do określonego folderu. Poniżej przedstawiono kroki przenoszenia konwersacji w MS Exchange Server w języku C# .NET.
- Najpierw utwórz i zainicjuj obiekt NetworkCredential z nazwą użytkownika, hasłem i domeną.
- Następnie zainicjuj IEWSClient za pomocą identyfikatora URI skrzynki pocztowej i obiektu NetworkCredential.
- Wywołaj metodę IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) i uzyskaj rozmowy w tablicy ExchangeConversation.
- Przejrzyj każdą ExchangeConversation w tablicy i przefiltruj wymagane.
- Na koniec przenieś konwersację za pomocą metody IEWSClient.MoveConversationItems(ExchangeConversation.ConversationId, client.MailboxInfo.DeletedItemsUri).
Poniższy przykładowy kod pokazuje, jak przenieść konwersację w MS Exchange Server przy użyciu C# .NET.
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
// Połącz się z serwerem MS Exchange
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Uzyskaj konwersacje
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Przenieś element konwersacji na podstawie pewnych warunków
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.MoveConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Moved the conversation item to another folder");
}
}
Usuń konwersację na MS Exchange Server w C#
Na koniec przyjrzyjmy się, jak usunąć konwersację z MS Exchange Server w języku C#.
- Najpierw utwórz i zainicjuj obiekt NetworkCredential z nazwą użytkownika, hasłem i domeną.
- Następnie zainicjuj IEWSClient za pomocą identyfikatora URI skrzynki pocztowej i obiektu NetworkCredential.
- Następnie wywołaj metodę IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) i uzyskaj rozmowy w tablicy ExchangeConversation.
- Przejrzyj każdą ExchangeConversation w tablicy i przefiltruj wymagane.
- Na koniec usuń konwersację przy użyciu metody IEWSClient.DeleteConversationItems(ExchangeConversation.ConversationId).
Poniższy przykładowy kod pokazuje, jak usunąć konwersację z programu MS Exchange Server w języku C# .NET.
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
// Połącz się z serwerem MS Exchange
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Uzyskaj rozmowy
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Usuń element konwersacji na podstawie pewnych warunków
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.DeleteConversationItems(conversation.ConversationId);
Console.WriteLine("Deleted the conversation item");
}
}
Uzyskaj bezpłatną licencję API
Możesz otrzymać darmową tymczasową licencję na korzystanie z Aspose.Email for .NET bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się, jak zarządzać konwersacjami w Microsoft Exchange Server przy użyciu języka C#. Widziałeś, jak znaleźć, skopiować, przenieść i usunąć konwersacje na MS Exchange Server programowo w C#. Ponadto możesz przejrzeć dokumentację, aby dowiedzieć się więcej o Aspose.Email for .NET. Możesz także zadawać pytania za pośrednictwem naszego forum.