
Konverzace na Microsoft Exchange Server jsou označovány jako skupina e-mailových zpráv ve vláknu. Jednoduše řečeno, e-mail a všechny jeho odpovědi jsou známé jako konverzace. V tomto článku si ukážeme, jak programově pracovat s konverzacemi na MS Exchange Server. Zejména se naučíte vyhledávat, kopírovat, přesouvat a mazat konverzace na MS Exchange Server v C# .NET.
- C# .NET API pro práci s konverzacemi na MS Exchange Server
- Najít konverzace na MS Exchange Server v C#
- Zkopírujte konverzaci na MS Exchange Server v C#
- Přesunutí konverzace na MS Exchange Server v C#
- Smazat konverzaci na MS Exchange Server v C#
C# .NET API pro práci s konverzacemi na MS Exchange Server
Ke správě konverzací na Microsoft Exchange Server použijeme Aspose.Email for .NET. Jedná se o výkonné API, které poskytuje řadu funkcí pro implementaci aplikací e-mailového klienta. Také vám umožňuje bezproblémový přístup k různým službám MS Exchange Server. Můžete si buď stáhnout DLL API, nebo ji nainstalovat z NuGet pomocí následujícího příkazu.
PM> Install-Package Aspose.Email
Najít konverzace na MS Exchange Server v C#
Následují kroky k vyhledání konverzací ze složky na MS Exchange Server v C#.
- Nejprve vytvořte a inicializujte objekt NetworkCredential s uživatelským jménem, heslem a doménou.
- Poté inicializujte IEWSClient s URI poštovní schránky a objektem NetworkCredential.
- Zavolejte metodu IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) a získejte konverzace v poli ExchangeConversation.
- Nakonec projděte každý objekt ExchangeConversation v poli a načtěte jeho podrobnosti.
Následující ukázka kódu ukazuje, jak najít konverzace ze složky na MS Exchange Server v 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);
// Připojte se k MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Získejte konverzace z doručené pošty
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
// Zobrazit všechny konverzace
foreach (ExchangeConversation conversation in conversations)
{
// Zobrazte vlastnosti konverzace, jako je ID a téma
Console.WriteLine("Topic: " + conversation.ConversationTopic);
Console.WriteLine("Flag Status: " + conversation.FlagStatus.ToString());
Console.WriteLine();
}
Zkopírujte konverzaci na MS Exchange Server v C#
Můžete také kopírovat konverzace z jedné složky do druhé, aniž byste museli psát složitý kód. Pro demonstraci se podívejme, jak zkopírovat konverzace z doručené pošty do složky smazaných položek na Exchange Serveru v C# .NET.
- Nejprve vytvořte a inicializujte objekt NetworkCredential s uživatelským jménem, heslem a doménou.
- Poté inicializujte IEWSClient s URI poštovní schránky a objektem NetworkCredential.
- Zavolejte metodu IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) a získejte konverzace v poli ExchangeConversation.
- Procházejte každou ExchangeConversation v poli a filtrujte požadované.
- Nakonec zkopírujte konverzaci pomocí metody IEWSClient.CopyConversationItems(ExchangeConversation.ConversationId, client.MailboxInfo.DeletedItemsUri).
Následující ukázka kódu ukazuje, jak zkopírovat konverzaci na MS Exchange Server pomocí 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);
// Připojte se k MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Získejte konverzace
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Zkopírujte položku konverzace na základě nějaké podmínky
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.CopyConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Copied the conversation item to another folder");
}
}
Přesunutí konverzace na MS Exchange Server v C#
V předchozí části jsme pouze zkopírovali konverzace z jedné složky do druhé. V určitých případech však může být nutné přesunout konverzaci do konkrétní složky. Následují kroky pro přesun konverzací na MS Exchange Server v C# .NET.
- Nejprve vytvořte a inicializujte objekt NetworkCredential s uživatelským jménem, heslem a doménou.
- Poté inicializujte IEWSClient s URI poštovní schránky a objektem NetworkCredential.
- Zavolejte metodu IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) a získejte konverzace v poli ExchangeConversation.
- Procházejte každou ExchangeConversation v poli a filtrujte požadované.
- Nakonec přesuňte konverzaci pomocí metody IEWSClient.MoveConversationItems(ExchangeConversation.ConversationId, client.MailboxInfo.DeletedItemsUri).
Následující ukázka kódu ukazuje, jak přesunout konverzaci na MS Exchange Server pomocí 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);
// Připojte se k MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Získejte konverzace
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Přesunout položku konverzace na základě nějaké podmínky
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.MoveConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Moved the conversation item to another folder");
}
}
Smazat konverzaci na MS Exchange Server v C#
V neposlední řadě se podívejme na to, jak odstranit konverzaci z MS Exchange Server v C#.
- Nejprve vytvořte a inicializujte objekt NetworkCredential s uživatelským jménem, heslem a doménou.
- Poté inicializujte IEWSClient s URI poštovní schránky a objektem NetworkCredential.
- Poté zavolejte metodu IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) a získejte konverzace v poli ExchangeConversation.
- Procházejte každou ExchangeConversation v poli a filtrujte požadované.
- Nakonec smažte konverzaci pomocí metody IEWSClient.DeleteConversationItems(ExchangeConversation.ConversationId).
Následující ukázka kódu ukazuje, jak odstranit konverzaci z MS Exchange Server v 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);
// Připojte se k MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Získejte konverzace
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Odstraňte položku konverzace na základě určité podmínky
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.DeleteConversationItems(conversation.ConversationId);
Console.WriteLine("Deleted the conversation item");
}
}
Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci k používání Aspose.Email pro .NET bez omezení hodnocení.
Závěr
V tomto článku jste se naučili, jak spravovat konverzace na Microsoft Exchange Server pomocí C#. Viděli jste, jak vyhledávat, kopírovat, přesouvat a mazat konverzace na MS Exchange Server programově v C#. Kromě toho můžete prozkoumat dokumentaci a přečíst si více o Aspose.Email pro .NET. Své dotazy můžete pokládat také prostřednictvím našeho fóra.