Bekerja dengan Percakapan di MS Exchange Server di C#

Percakapan di Microsoft Exchange Server disebut sebagai grup pesan email dalam sebuah utas. Dengan kata sederhana, email dan semua balasannya dikenal sebagai percakapan. Pada artikel ini, kami akan menunjukkan cara bekerja dengan percakapan di MS Exchange Server secara terprogram. Khususnya, Anda akan mempelajari cara menemukan, menyalin, memindahkan, dan menghapus percakapan di MS Exchange Server di C# .NET.

C# .NET API untuk Bekerja dengan Percakapan di MS Exchange Server

Untuk mengelola percakapan di Microsoft Exchange Server, kami akan menggunakan Aspose.Email for .NET. Ini adalah API yang kuat yang menyediakan berbagai fitur untuk mengimplementasikan aplikasi klien email. Juga, ini memungkinkan Anda untuk mengakses berbagai layanan MS Exchange Server dengan mulus. Anda dapat mengunduh DLL API atau menginstalnya dari NuGet menggunakan perintah berikut.

PM> Install-Package Aspose.Email

Temukan Percakapan di MS Exchange Server di C#

Berikut adalah langkah-langkah untuk menemukan percakapan dari folder di MS Exchange Server di C#.

Contoh kode berikut menunjukkan cara menemukan percakapan dari folder di MS Exchange Server di 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);

// Terhubung ke MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");

// Dapatkan percakapan dari kotak masuk
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);

// Tampilkan semua percakapan
foreach (ExchangeConversation conversation in conversations)
{
    // Menampilkan properti percakapan seperti Id dan Topik
    Console.WriteLine("Topic: " + conversation.ConversationTopic);
    Console.WriteLine("Flag Status: " + conversation.FlagStatus.ToString());
    Console.WriteLine();
}

Salin Percakapan di MS Exchange Server di C#

Anda juga dapat menyalin percakapan dari satu folder ke folder lain tanpa menulis kode yang rumit. Untuk demonstrasi, mari kita lihat cara menyalin percakapan dari kotak masuk ke folder item yang dihapus dari Exchange Server di C# .NET.

Contoh kode berikut menunjukkan cara menyalin percakapan di MS Exchange Server menggunakan 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);

// Terhubung ke MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");

// Dapatkan percakapan
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);

foreach (ExchangeConversation conversation in conversations)
{
    Console.WriteLine("Topic: " + conversation.ConversationTopic);

    // Salin item percakapan berdasarkan beberapa kondisi
    if (conversation.ConversationTopic.Contains("test email") == true)
    {
        client.CopyConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
        Console.WriteLine("Copied the conversation item to another folder");
    }
}

Pindahkan Percakapan di MS Exchange Server di C#

Di bagian sebelumnya, kita hanya menyalin percakapan dari satu folder ke folder lainnya. Namun, dalam kasus tertentu, Anda mungkin perlu memindahkan percakapan ke folder tertentu. Berikut adalah langkah-langkah untuk memindahkan percakapan di MS Exchange Server di C# .NET.

Contoh kode berikut menunjukkan cara memindahkan percakapan di MS Exchange Server menggunakan 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);

// Terhubung ke MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");

// Dapatkan percakapan
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);

foreach (ExchangeConversation conversation in conversations)
{
    Console.WriteLine("Topic: " + conversation.ConversationTopic);

    // Pindahkan item percakapan berdasarkan beberapa kondisi
    if (conversation.ConversationTopic.Contains("test email") == true)
    {
        client.MoveConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
        Console.WriteLine("Moved the conversation item to another folder");
    }
}

Hapus Percakapan di MS Exchange Server di C#

Last but not least, mari kita lihat cara menghapus percakapan dari MS Exchange Server di C#.

Contoh kode berikut menunjukkan cara menghapus percakapan dari MS Exchange Server di 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);

// Terhubung ke MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");

// Dapatkan percakapan
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);

foreach (ExchangeConversation conversation in conversations)
{
    Console.WriteLine("Topic: " + conversation.ConversationTopic);

    // Hapus item percakapan berdasarkan beberapa kondisi
    if (conversation.ConversationTopic.Contains("test email") == true)
    {
        client.DeleteConversationItems(conversation.ConversationId);
        Console.WriteLine("Deleted the conversation item");
    }
}

Dapatkan Lisensi API Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan Aspose.Email for .NET tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara mengelola percakapan di Microsoft Exchange Server menggunakan C#. Anda telah melihat cara menemukan, menyalin, memindahkan, dan menghapus percakapan di MS Exchange Server secara terprogram di C#. Selain itu, Anda dapat menjelajahi dokumentasi untuk membaca lebih lanjut tentang Aspose.Email for .NET. Selain itu, Anda dapat mengajukan pertanyaan melalui forum kami.

Lihat juga