การทำงานกับโฟลเดอร์บน Exchange Server

แสดงโฟลเดอร์ทั้งหมดจากเซิร์ฟเวอร์

Aspose.Email API ให้ความสามารถในการเชื่อมต่อกับ Exchange Server และแสดงรายการโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมด คุณสามารถดึงโฟลเดอร์ย่อยทั้งหมดจากแต่ละโฟลเดอร์โดยทำซ้ำได้ อีกทั้งยังให้ความสามารถในการเรียงลำดับโฟลเดอร์พร้อมการแบ่งหน้า จากไคลเอนต์ Exchange โดยใช้ Exchange Web Service (EWS) บทความนี้แสดงวิธีดึงโฟลเดอร์ย่อยทั้งหมดจากเซิร์ฟเวอร์ Exchange และดึงโฟลเดอร์พร้อมการแบ่งหน้า.

โค้ดสแนปต่อไปนี้แสดงวิธีแสดงรายการโฟลเดอร์จาก Exchange Server

รับข้อมูลประเภทโฟลเดอร์โดยใช้ EWS

นี้ ExchangeFolderType enumerator ที่จัดหาโดย ExchangeFolderInfo คลาสสามารถใช้เพื่อรับข้อมูลเกี่ยวกับประเภทของโฟลเดอร์ ตามที่แสดงในตัวอย่างโค้ดด้านล่าง.

การเรียงลำดับโฟลเดอร์พร้อมการแบ่งหน้าโดยใช้ EWS

โค้ดตัวอย่างต่อไปนี้แสดงวิธีใช้การสนับสนุนการแบ่งหน้า (paging) กับ EWS.

การเข้าถึงโฟลเดอร์หรือโฟลเดอร์ย่อยที่กำหนดเองของกล่องเมล

IEWSClient ทำให้ผู้พัฒนาสามารถเข้าถึงโฟลเดอร์หรือโฟลเดอร์ย่อยที่กำหนดเองใดๆ จากกล่องเมลได้.  FolderExists() เมธอดของ IEWSClient ส่งคืน URI ของโฟลเดอร์/โฟลเดอร์ย่อยที่กำหนดเอง ซึ่งสามารถใช้เพื่อเข้าถึงโฟลเดอร์เป้าหมายได้ ในตัวอย่างต่อไปนี้, โฟลเดอร์ที่กำหนดเองชื่อ "TestInbox" ซึ่งสร้างภายใต้ INBOX จะถูกเข้าถึงและแสดงข้อความทั้งหมดจากโฟลเดอร์นี้ เพื่อทำภารกิจนี้จะดำเนินการตามขั้นตอนต่อไปนี้:

  1. เริ่มต้น IEWSClient อ็อบเจ็กต์โดยให้ข้อมูลรับรองที่ถูกต้อง
  2. เข้าถึงกล่องเมลเริ่มต้น.
  3. เข้าถึงโฟลเดอร์พาเรนท์ ซึ่งในตัวอย่างนี้คือ INBOX โฟลเดอร์พาเรนท์นี้อาจเป็นโฟลเดอร์ที่กำหนดเองได้เช่นกัน.
  4. ใช้ FolderExists() เมธอดเพื่อค้นหาโฟลเดอร์ย่อยที่กำหนดเอง, ตัวอย่างเช่น "TestInbox". จะคืนค่า URI ของ "TestInbox".
  5. ใช้ URI นี้เพื่อเข้าถึงข้อความทั้งหมดในโฟลเดอร์ที่กำหนดเองนั้น.

โค้ดตัวอย่างต่อไปนี้แสดงวิธีการเข้าถึงโฟลเดอร์หรือโฟลเดอร์ย่อยที่กำหนดเองของกล่องเมลด้วย EWS.

รายการโฟลเดอร์สาธารณะ

Microsoft Exchange Server อนุญาตให้ผู้ใช้สร้างโฟลเดอร์สาธารณะและโพสต์ข้อความในนั้น เพื่อทำเช่นนี้ผ่านแอปพลิเคชันของคุณ, ใช้ EWSClient คลาสสำหรับเชื่อมต่อไปยัง Exchange Server และอ่านและดาวน์โหลดข้อความและโพสต์จากโฟลเดอร์สาธารณะ โค้ดตัวอย่างต่อไปนี้แสดงวิธีการอ่านโฟลเดอร์สาธารณะและโฟลเดอร์ย่อยทั้งหมด, และรายการและดาวน์โหลดข้อความใด ๆ ที่พบในโฟลเดอร์เหล่านี้ ตัวอย่างนี้ทำงานเฉพาะกับ Microsoft Exchange Server 2007 หรือใหม่กว่า เนื่องจากมีเพียงรุ่นเหล่านั้นที่สนับสนุน EWS.

การซิงค์รายการในโฟลเดอร์

API ของ Aspose.Email IEWSClient ให้คุณสมบัติการซิงค์โฟลเดอร์ Exchange สำหรับเนื้อหาในนั้น. SyncFolder เมธอดที่เปิดเผยโดย IEWSClient คลาสสามารถใช้เพื่อซิงค์ข้อมูลโฟลเดอร์บนโฟลเดอร์ที่ระบุ โค้ดตัวอย่างต่อไปนี้แสดงวิธีซิงค์ข้อมูลโฟลเดอร์ Exchange.

ดึงสิทธิ์สำหรับโฟลเดอร์ Exchange

ผู้ใช้ได้รับการมอบสิทธิ์เข้าถึงโฟลเดอร์สาธารณะบน Exchange Server, ซึ่งจำกัด/กำหนดระดับการเข้าถึงของผู้ใช้ต่อโฟลเดอร์เหล่านั้น คลาส ExchangeFolderPermission ให้ชุดคุณสมบัติของสิทธิ์สำหรับโฟลเดอร์ Exchange เช่น ระดับสิทธิ์, ความสามารถในการสร้างรายการ, ลบรายการ, และทำงานอื่น ๆ ตามที่กำหนดโดยคุณสมบัติสิทธิ์ สามารถดึงสิทธิ์ได้โดยใช้ GetFolderPermissions() เมธอดของ IEWSClient. บทความนี้แสดงวิธีดึงสิทธิ์ที่กำหนดให้กับโฟลเดอร์สาธารณะสำหรับผู้ใช้ทั้งหมดที่มีการเข้าถึงโฟลเดอร์ที่แชร์.

เพื่อทำงานนี้:

  1. เริ่มต้น IEWSClient.
  2. ใช้ ListPublicFolders เพื่อรับรายการโฟลเดอร์สาธารณะทั้งหมด
  3. ดึงสิทธิ์ที่เชื่อมโยงกับโฟลเดอร์โดยใช้ GetFolderPermissions() เมธอด

โค้ดตัวอย่างต่อไปนี้แสดงวิธีการใช้ IEWSClient คลาสสำหรับดึงสิทธิ์ที่ใช้กับโฟลเดอร์.

สร้างโฟลเดอร์และโฟลเดอร์ย่อย

Aspose.Email API มีความสามารถในการสร้างโฟลเดอร์ในเมลบ็อกซ์ Exchange ส่วน CreateFolder เมธอดของ IEWSClient สามารถใช้เพื่อจุดประสงค์นี้ เพื่อสร้างโฟลเดอร์ในเมลบ็อกซ์ของ Exchange เซิร์ฟเวอร์ สามารถทำตามขั้นตอนต่อไปนี้

  1. สร้างอินสแตนซ์ของ IEWSClient.
  2. ตั้งค่า set_UseSlashAsFolderSeparator คุณสมบัติตามที่ต้องการ หากตั้งค่าเป็น true แอปพลิเคชันจะพิจารณา "Slash" เป็นตัวคั่นโฟลเดอร์และสร้างซับโฟลเดอร์หลังจากสแลช
  3. ใช้ CreateFolder เมธอดเพื่อสร้างโฟลเดอร์

โค้ดสแนปต่อไปนี้แสดงวิธีสร้างโฟลเดอร์และโฟลเดอร์ย่อย

สำรองโฟลเดอร์ Exchange ไปยัง PST

บ่อยครั้งที่ผู้ใช้ต้องการสำรองข้อมูลของโฟลเดอร์เมลบ็อกซ์ทั้งหมดหรือบางส่วน Aspose.Email ให้ความสามารถในการสำรองข้อมูลของโฟลเดอร์เมลบ็อกซ์ Exchange ทั้งหมดหรือที่ระบุเป็นไฟล์ PST เพื่อสำรองข้อมูลโฟลเดอร์เซิร์ฟเวอร์ Exchange สามารถทำตามขั้นตอนต่อไปนี้ได้

  1. สร้างอินสแตนซ์ของ IEWSClient.
  2. เพิ่มข้อมูลโฟลเดอร์ที่ต้องการลงใน ExchangeFolderInfoCollection
  3. ใช้ IEWSClient->Backup เมธอดเพื่อส่งออกเนื้อหาโฟลเดอร์เป็น PST

โค้ดสแนปต่อไปนี้แสดงวิธีสำรองโฟลเดอร์ Exchange ไปยัง PST