สร้างและลบโฟลเดอร์บน MS Exchange Server ใน C#

ใน Microsoft Exchange Server อีเมลจะถูกจัดระเบียบในโฟลเดอร์ต่างๆ เช่น กล่องขาเข้า กล่องขาออก ฯลฯ นอกจากนี้ คุณสามารถสร้างโฟลเดอร์หรือโฟลเดอร์ย่อยของคุณเองตามความต้องการของคุณ ในขณะที่ทำงานกับ MS Exchange Server คุณอาจต้องสร้างโฟลเดอร์แบบกำหนดเองโดยทางโปรแกรม ในบทความนี้ คุณจะได้เรียนรู้วิธีสร้างโฟลเดอร์หรือโฟลเดอร์ย่อยด้วย EWS บน MS Exchange Server ใน C# .NET นอกจากนี้ เราจะกล่าวถึงวิธีการลบโฟลเดอร์บน Exchange Server

C# .NET API เพื่อสร้างโฟลเดอร์บน MS Exchange Server

ในการจัดการโฟลเดอร์ด้วย EWS บน MS Exchange Server เราจะใช้ Aspose.Email for .NET API ช่วยให้ทำงานกับบริการของ Exchange Server จากภายในแอปพลิเคชัน .NET ได้ง่ายขึ้น คุณสามารถ ดาวน์โหลด DLL ของ API หรือติดตั้งจาก NuGet โดยใช้คำสั่งต่อไปนี้

PM> Install-Package Aspose.Email

สร้างโฟลเดอร์บน MS Exchange Server ใน C#

ต่อไปนี้เป็นขั้นตอนในการสร้างโฟลเดอร์บน MS Exchange Server ใน C#

  • เชื่อมต่อกับ MS Exchange Server และรับวัตถุไคลเอ็นต์ EWS ใน IEWSClient
  • ระบุชื่อโฟลเดอร์รูทและโฟลเดอร์ที่คุณต้องการสร้าง
  • สร้างโฟลเดอร์โดยใช้เมธอด IEWSClient.CreateFolder(string, string)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างโฟลเดอร์บน MS Exchange Server ด้วย EWS ใน C#

// สร้างอินสแตนซ์ของคลาส EWSClient โดยให้ข้อมูลประจำตัว
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// รับ URI กล่องจดหมาย (เพื่อสร้างโฟลเดอร์ในกล่องจดหมาย)
string inbox = client.MailboxInfo.InboxUri;

// ระบุชื่อโฟลเดอร์
string folderName1 = "EMAILNET-35054";

try
{
    // สร้างโฟลเดอร์
    client.UseSlashAsFolderSeparator = true;
    client.CreateFolder(client.MailboxInfo.InboxUri, folderName1);
}
catch
{
    // ทำอะไรสักอย่าง
}

สร้างโฟลเดอร์ย่อยบน MS Exchange Server ใน C#

หากต้องการสร้างโฟลเดอร์ย่อย ก่อนอื่นคุณต้องตรวจสอบว่ามีโฟลเดอร์หลักอยู่หรือไม่ ถ้าเป็นเช่นนั้น เพียงสร้างโฟลเดอร์ย่อย หรือสร้างโฟลเดอร์พาเรนต์ก่อน ขั้นตอนต่อไปนี้สาธิตวิธีการสร้างโฟลเดอร์ย่อยบน MS Exchange Server ใน C#

  • เชื่อมต่อกับ MS Exchange Server และรับวัตถุไคลเอนต์ EWS ใน IEWSClient
  • ระบุชื่อโฟลเดอร์รูทและโฟลเดอร์ย่อย
  • ตรวจสอบว่ามีโฟลเดอร์พาเรนต์อยู่หรือไม่โดยใช้เมธอด IEWSClient.FolderExists(string, string, ExchangeFolderInfo) ถ้าไม่สร้างหนึ่ง
  • สร้างโฟลเดอร์ย่อยโดยใช้เมธอด IEWSClient.CreateFolder(string, string)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการสร้างโฟลเดอร์ย่อยบน MS Exchange Server ใน C#

// สร้างอินสแตนซ์ของคลาส EWSClient โดยให้ข้อมูลประจำตัว
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// รับ URI กล่องจดหมาย
string inbox = client.MailboxInfo.InboxUri;

// ระบุชื่อโฟลเดอร์
string folderName1 = "EMAILNET-35054";

// ระบุชื่อโฟลเดอร์ย่อย
string subFolderName = "2015";
string folderName2 = folderName1 + "/" + subFolderName;

ExchangeFolderInfo rootFolderInfo = null; 

try
{
    client.UseSlashAsFolderSeparator = true;
    if (!client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // สร้างโฟลเดอร์
        rootFolderInfo = client.CreateFolder(inbox, folderName1);
    }

    // สร้างโฟลเดอร์ย่อย
    client.CreateFolder(inbox, folderName2);
}
catch
{
    // ทำอะไรสักอย่าง
}

ลบโฟลเดอร์บน MS Exchange Server ใน C#

ต่อไปนี้เป็นขั้นตอนในการลบโฟลเดอร์บน MS Exchange Server ใน C#

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลบโฟลเดอร์บน MS Exchange Server ใน C#

// สร้างอินสแตนซ์ของคลาส EWSClient โดยให้ข้อมูลประจำตัว
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// รับ URI กล่องจดหมาย
string inbox = client.MailboxInfo.InboxUri;

// ระบุชื่อโฟลเดอร์
string folderName1 = "EMAILNET-35054";

ExchangeFolderInfo rootFolderInfo = null;

try
{
    // ตรวจสอบว่ามีโฟลเดอร์อยู่หรือไม่
    if (client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // ลบโฟลเดอร์
        client.DeleteFolder(rootFolderInfo.Uri, true);
    }
}
catch
{
    // ทำอะไรสักอย่าง
}

รับใบอนุญาต API ฟรี

คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อใช้ Aspose.Email for .NET โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการทำงานกับโฟลเดอร์บน Microsoft Exchange Server ด้วย EWS ใน C# ด้วยความช่วยเหลือของตัวอย่างโค้ด คุณได้เห็นวิธีสร้างและลบโฟลเดอร์เฉพาะบน MS Exchange Server โดยทางโปรแกรมใน C# นอกจากนี้ คุณสามารถสำรวจ เอกสารประกอบ เพื่ออ่านเพิ่มเติมเกี่ยวกับ Aspose.Email for .NET นอกจากนี้ คุณสามารถถามคำถามผ่าน ฟอรัม ของเรา

ดูสิ่งนี้ด้วย