การสนทนาบน Microsoft Exchange Server จะเรียกว่ากลุ่มข้อความอีเมลในเธรด พูดง่ายๆ ก็คือ อีเมลและการตอบกลับทั้งหมดถือเป็นการสนทนา ในบทความนี้ เราจะแสดงวิธีการทำงานกับการสนทนาใน MS Exchange Server โดยทางโปรแกรม โดยเฉพาะอย่างยิ่ง คุณจะได้เรียนรู้วิธีการค้นหา คัดลอก ย้าย และลบการสนทนาบน MS Exchange Server ใน C# .NET
- C# .NET API เพื่อทำงานกับการสนทนาบน MS Exchange Server
- ค้นหาการสนทนาบน MS Exchange Server ใน C#
- คัดลอกการสนทนาบน MS Exchange Server ใน C#
- ย้ายการสนทนาบน MS Exchange Server ใน C#
- ลบการสนทนาบน MS Exchange Server ใน C#
C# .NET API เพื่อทำงานกับการสนทนาบน MS Exchange Server
ในการจัดการการสนทนาบน Microsoft Exchange Server เราจะใช้ Aspose.Email for .NET เป็น API ที่มีประสิทธิภาพซึ่งมีคุณสมบัติมากมายเพื่อใช้แอปพลิเคชันอีเมลไคลเอ็นต์ อีกทั้งยังช่วยให้คุณเข้าถึงบริการต่างๆ ของ MS Exchange Server ได้อย่างไม่มีสะดุด คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งจาก NuGet โดยใช้คำสั่งต่อไปนี้
PM> Install-Package Aspose.Email
ค้นหาการสนทนาบน MS Exchange Server ใน C#
ต่อไปนี้เป็นขั้นตอนในการค้นหาการสนทนาจากโฟลเดอร์ใน MS Exchange Server ใน C#
- ขั้นแรก สร้างและเริ่มต้นวัตถุ NetworkCredential ด้วยชื่อผู้ใช้ รหัสผ่าน และโดเมน
- จากนั้น เริ่มต้น IEWSClient ด้วยกล่องจดหมาย URI และวัตถุ NetworkCredential
- เรียกใช้เมธอด IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) และรับการสนทนาในอาร์เรย์ ExchangeConversation
- สุดท้าย วนซ้ำแต่ละออบเจกต์ ExchangeConversation ในอาร์เรย์และรับรายละเอียด
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการค้นหาการสนทนาจากโฟลเดอร์ใน MS Exchange Server ใน 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);
// เชื่อมต่อกับ MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// รับการสนทนาจากกล่องจดหมาย
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
// แสดงการสนทนาทั้งหมด
foreach (ExchangeConversation conversation in conversations)
{
// แสดงคุณสมบัติการสนทนา เช่น รหัสและหัวข้อ
Console.WriteLine("Topic: " + conversation.ConversationTopic);
Console.WriteLine("Flag Status: " + conversation.FlagStatus.ToString());
Console.WriteLine();
}
คัดลอกการสนทนาบน MS Exchange Server ใน C#
คุณยังสามารถคัดลอกการสนทนาจากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่งโดยไม่ต้องเขียนโค้ดที่ซับซ้อน สำหรับการสาธิต มาดูวิธีการคัดลอกการสนทนาจากกล่องขาเข้าไปยังโฟลเดอร์รายการที่ถูกลบของ Exchange Server ใน C# .NET
- ขั้นแรก สร้างและเริ่มต้นวัตถุ NetworkCredential ด้วยชื่อผู้ใช้ รหัสผ่าน และโดเมน
- จากนั้น เริ่มต้น IEWSClient ด้วยกล่องจดหมาย URI และวัตถุ NetworkCredential
- เรียกใช้เมธอด IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) และรับการสนทนาในอาร์เรย์ ExchangeConversation
- วนซ้ำแต่ละ ExchangeConversation ในอาร์เรย์และกรองรายการที่ต้องการ
- สุดท้าย คัดลอกการสนทนาโดยใช้เมธอด IEWSClient.CopyConversationItems(ExchangeConversation.ConversationId, client.MailboxInfo.DeletedItemsUri)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการคัดลอกการสนทนาใน MS Exchange Server โดยใช้ 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);
// เชื่อมต่อกับ MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// รับการสนทนา
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// คัดลอกรายการสนทนาตามเงื่อนไขบางประการ
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.CopyConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Copied the conversation item to another folder");
}
}
ย้ายการสนทนาบน MS Exchange Server ใน C#
ในส่วนก่อนหน้านี้ เราเพิ่งคัดลอกการสนทนาจากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์หนึ่ง อย่างไรก็ตาม ในบางกรณี คุณอาจต้องย้ายการสนทนาไปยังโฟลเดอร์ใดโฟลเดอร์หนึ่ง ต่อไปนี้เป็นขั้นตอนในการย้ายการสนทนาใน MS Exchange Server ใน C# .NET
- ขั้นแรก สร้างและเริ่มต้นวัตถุ NetworkCredential ด้วยชื่อผู้ใช้ รหัสผ่าน และโดเมน
- จากนั้น เริ่มต้น IEWSClient ด้วยกล่องจดหมาย URI และวัตถุ NetworkCredential
- เรียกเมธอด IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) และรับการสนทนาในอาร์เรย์ ExchangeConversation
- วนซ้ำแต่ละ ExchangeConversation ในอาร์เรย์และกรองรายการที่ต้องการ
- สุดท้าย ย้ายการสนทนาโดยใช้เมธอด IEWSClient.MoveConversationItems(ExchangeConversation.ConversationId, client.MailboxInfo.DeletedItemsUri)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการย้ายการสนทนาใน MS Exchange Server โดยใช้ 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);
// เชื่อมต่อกับ MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// รับการสนทนา
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// ย้ายรายการสนทนาตามเงื่อนไขบางประการ
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.MoveConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Moved the conversation item to another folder");
}
}
ลบการสนทนาบน MS Exchange Server ใน C#
สุดท้าย แต่ไม่ท้ายสุด มาดูวิธีการลบการสนทนาจาก MS Exchange Server ใน C#
- ขั้นแรก สร้างและเริ่มต้นวัตถุ NetworkCredential ด้วยชื่อผู้ใช้ รหัสผ่าน และโดเมน
- จากนั้น เริ่มต้น IEWSClient ด้วยกล่องจดหมาย URI และวัตถุ NetworkCredential
- หลังจากนั้น ให้เรียกเมธอด IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) และรับการสนทนาในอาร์เรย์ ExchangeConversation
- วนซ้ำแต่ละ ExchangeConversation ในอาร์เรย์และกรองรายการที่ต้องการ
- สุดท้าย ลบการสนทนาโดยใช้เมธอด IEWSClient.DeleteConversationItems(ExchangeConversation.ConversationId)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลบการสนทนาจาก MS Exchange Server ใน 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);
// เชื่อมต่อกับ MS Exchange Server
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// รับการสนทนา
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// ลบรายการสนทนาตามเงื่อนไขบางประการ
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.DeleteConversationItems(conversation.ConversationId);
Console.WriteLine("Deleted the conversation item");
}
}
รับใบอนุญาต API ฟรี
คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อใช้ Aspose.Email for .NET โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีจัดการการสนทนาใน Microsoft Exchange Server โดยใช้ C# คุณได้เห็นวิธีการค้นหา คัดลอก ย้าย และลบการสนทนาบน MS Exchange Server โดยทางโปรแกรมใน C# นอกจากนี้ คุณสามารถสำรวจ เอกสารประกอบ เพื่ออ่านเพิ่มเติมเกี่ยวกับ Aspose.Email for .NET นอกจากนี้ คุณสามารถถามคำถามผ่าน ฟอรัม ของเรา