การทำงานกับโฟลเดอร์บน 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 จะถูกเข้าถึงและแสดงข้อความทั้งหมดจากโฟลเดอร์นี้ เพื่อทำภารกิจนี้จะดำเนินการตามขั้นตอนต่อไปนี้:
- เริ่มต้น IEWSClient อ็อบเจ็กต์โดยให้ข้อมูลรับรองที่ถูกต้อง
- เข้าถึงกล่องเมลเริ่มต้น.
- เข้าถึงโฟลเดอร์พาเรนท์ ซึ่งในตัวอย่างนี้คือ INBOX โฟลเดอร์พาเรนท์นี้อาจเป็นโฟลเดอร์ที่กำหนดเองได้เช่นกัน.
- ใช้ FolderExists() เมธอดเพื่อค้นหาโฟลเดอร์ย่อยที่กำหนดเอง, ตัวอย่างเช่น "TestInbox". จะคืนค่า URI ของ "TestInbox".
- ใช้ 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. บทความนี้แสดงวิธีดึงสิทธิ์ที่กำหนดให้กับโฟลเดอร์สาธารณะสำหรับผู้ใช้ทั้งหมดที่มีการเข้าถึงโฟลเดอร์ที่แชร์.
เพื่อทำงานนี้:
- เริ่มต้น IEWSClient.
- ใช้ ListPublicFolders เพื่อรับรายการโฟลเดอร์สาธารณะทั้งหมด
- ดึงสิทธิ์ที่เชื่อมโยงกับโฟลเดอร์โดยใช้ GetFolderPermissions() เมธอด
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการใช้ IEWSClient คลาสสำหรับดึงสิทธิ์ที่ใช้กับโฟลเดอร์.
สร้างโฟลเดอร์และโฟลเดอร์ย่อย
Aspose.Email API มีความสามารถในการสร้างโฟลเดอร์ในเมลบ็อกซ์ Exchange ส่วน CreateFolder เมธอดของ IEWSClient สามารถใช้เพื่อจุดประสงค์นี้ เพื่อสร้างโฟลเดอร์ในเมลบ็อกซ์ของ Exchange เซิร์ฟเวอร์ สามารถทำตามขั้นตอนต่อไปนี้
- สร้างอินสแตนซ์ของ IEWSClient.
- ตั้งค่า set_UseSlashAsFolderSeparator คุณสมบัติตามที่ต้องการ หากตั้งค่าเป็น true แอปพลิเคชันจะพิจารณา "Slash" เป็นตัวคั่นโฟลเดอร์และสร้างซับโฟลเดอร์หลังจากสแลช
- ใช้ CreateFolder เมธอดเพื่อสร้างโฟลเดอร์
โค้ดสแนปต่อไปนี้แสดงวิธีสร้างโฟลเดอร์และโฟลเดอร์ย่อย
สำรองโฟลเดอร์ Exchange ไปยัง PST
บ่อยครั้งที่ผู้ใช้ต้องการสำรองข้อมูลของโฟลเดอร์เมลบ็อกซ์ทั้งหมดหรือบางส่วน Aspose.Email ให้ความสามารถในการสำรองข้อมูลของโฟลเดอร์เมลบ็อกซ์ Exchange ทั้งหมดหรือที่ระบุเป็นไฟล์ PST เพื่อสำรองข้อมูลโฟลเดอร์เซิร์ฟเวอร์ Exchange สามารถทำตามขั้นตอนต่อไปนี้ได้
- สร้างอินสแตนซ์ของ IEWSClient.
- เพิ่มข้อมูลโฟลเดอร์ที่ต้องการลงใน ExchangeFolderInfoCollection
- ใช้ IEWSClient->Backup เมธอดเพื่อส่งออกเนื้อหาโฟลเดอร์เป็น PST
โค้ดสแนปต่อไปนี้แสดงวิธีสำรองโฟลเดอร์ Exchange ไปยัง PST