บันทึกข้อความจากกล่องจดหมาย Exchange Server โดยใช้ WebDav
บทความนี้แสดงวิธีดึงข้อความจากกล่องจดหมาย Exchange Server และบันทึกลงดิสก์ในรูปแบบ EML และ MSG.
บันทึกข้อความจากกล่องจดหมาย Exchange Server เป็น EML
เพื่อดึงข้อความและบันทึกในรูปแบบ EML:
- สร้างอินสแตนซ์ของ ExchangeClient คลาส.
- ระบุชื่อเซิร์ฟเวอร์, ชื่อผู้ใช้, รหัสผ่าน, และโดเมน.
- เรียกใช้ ExchangeClient.listMessages() เมธอดเพื่อรับอินสแตนซ์ของ ExchangeMessagesInfoCollection คอลเลกชัน.
- วนลูปผ่าน ExchangeMessagesInfoCollection คอลเลกชันเพื่อดึง URI ที่ไม่ซ้ำกันของแต่ละข้อความ.
- เรียกใช้ ExchangeClient.saveMessage() เมธอดและส่ง URI ที่ไม่ซ้ำกันเป็นพารามิเตอร์.
- ให้ saveMessage() เมธอดพร้อมพาธที่ต้องการบันทึกไฟล์.
บันทึกข้อความไปยัง OutputStream
แทนที่จะบันทึกไฟล์ EML ลงดิสก์ สามารถบันทึกลง OutputStream ได้ ซึ่งมีประโยชน์เมื่อคุณต้องการบันทึกสตรีมไปยังที่เก็บข้อมูลเช่นฐานข้อมูล หลังจากสตรีมถูกบันทึกลงฐานข้อมูลแล้ว คุณสามารถโหลดไฟล์ EML กลับเข้าสู่ MailMessage คลาส.
โค้ดสแนปพัดด้านล่างบันทึกข้อความจากกล่องจดหมาย Exchange Server ไปยังเมมโมรีสตรีม.
บันทึกข้อความในรูปแบบ MSG
นี้ ExchangeClient.saveMessage() เมธอดสามารถบันทึกข้อความโดยตรงเป็นรูปแบบ EML หากต้องการบันทึกข้อความเป็นรูปแบบ MSG ก่อนอื่นให้เรียก ExchangeClient.fetchMessage() เมธอดที่คืนอินสแตนซ์ของ MailMessage คลาส จากนั้นเรียก MailMessage.save() เมธอดเพื่อบันทึกข้อความเป็น MSG.
โค้ดสแนปพัดด้านล่างดึงข้อความจากกล่องจดหมาย Exchange Server และบันทึกเป็นรูปแบบ MSG.