กรองข้อความจากกล่องจดหมาย Exchange ด้วย WebDav

การกรองข้อความโดยใช้ WebDav

นี้ ExchangeClient class ให้ ListMessages() เมธอดที่ดึงข้อความทั้งหมดจากกล่องเมล. เพื่อดึงเฉพาะข้อความที่ตรงกับเงื่อนไขบางอย่าง, ใช้เมธอดที่มีการโอเวอร์โหลด ListMessages() เมธอดที่รับค่า MailQuery คลาสเป็นอาร์กิวเมนต์ เมธอด MailQuery คลาสนี้ให้คุณสมบัติต่าง ๆ สำหรับกำหนดเงื่อนไข เช่น วันที่ หัวข้อ ผู้ส่ง และผู้รับ นอกจากนี้ API ยังอนุญาตให้ใช้ฟิลเตอร์ความไวต่อขนาดตัวอักษรสำหรับการดึงอีเมลจากกล่องจดหมาย

การกรองข้อความ

เพื่อดึงข้อความที่กรองจากกล่องจดหมาย:

  1. เชื่อมต่อกับเซิร์ฟเวอร์ Exchange.
  2. สร้างอินสแตนซ์ของ MailQuery และตั้งค่าคุณสมบัติตามต้องการ
  3. เรียกใช้ ExchangeClient.ListMessages() เมธอดและส่งค่า MailQuery ในพารามิเตอร์เพื่อรับข้อความที่กรองเท่านั้น.

โค้ดตัวอย่างต่อไปนี้แสดงวิธีเชื่อมต่อกับกล่องเมล IMAP และรับข้อความที่มีสตริง "Newsletter" ในหัวเรื่องและส่งในวันนี้.

กรองข้อความตามเกณฑ์

ตัวอย่างโค้ดข้างต้นกรองข้อความตามหัวเรื่องและวันที่ของอีเมล เราสามารถกรองตามคุณสมบัติอื่น ๆ ได้ด้วย ตัวอย่างต่อไปนี้แสดงการตั้งเงื่อนไขโดยใช้ MailQuery.

เกณฑ์การกรอง วันที่วันนี้

โค้ดตัวอย่างต่อไปนี้แสดงวิธีกรองอีเมลทั้งหมดโดยอิงจากวันที่ของวันนี้.

เงื่อนไขการกรองช่วงวันที่

โค้ดสแนปพัดด้านล่างแสดงวิธีกรองอีเมลทั้งหมดตามช่วงวันที่.

เงื่อนไขการกรองผู้ส่งเฉพาะ

โค้ดสแนปพัดด้านล่างแสดงวิธีกรองอีเมลทั้งหมดตามผู้ส่งเฉพาะ.

เงื่อนไขการกรองโดเมนเฉพาะ

โค้ดสแนปพัดด้านล่างแสดงวิธีกรองอีเมลทั้งหมดตามโดเมนเฉพาะ.

เงื่อนไขการกรองผู้รับเฉพาะ

โค้ดสแนปพัดด้านล่างแสดงวิธีกรองอีเมลทั้งหมดตามผู้รับเฉพาะ.

เงื่อนไขการกรองตาม MessageID

โค้ดสแนปพัดด้านล่างแสดงวิธีกรองอีเมลทั้งหมดตาม MessageID.

เงื่อนไขการกรองทั้งหมดของการแจ้งเตือนการจัดส่งเมล

โค้ดสแนปพัดด้านล่างแสดงวิธีกรองอีเมลทั้งหมดตามการแจ้งเตือนการจัดส่งเมลทั้งหมด.

การสร้างคิวรีซับซ้อน

หากแตกต่าง ExchangeQueryBuilder คุณสมบัติตั้งค่าในคำสั่งแยกต่างหาก, ทุกเงื่อนไขจะตรงกัน. ตัวอย่างเช่น เพื่อรับข้อความในช่วงวันที่ระบุและจากโฮสต์เฉพาะ, เขียนสามคำสั่ง:

การรวมคิวรีด้วย AND

ส่วนของโค้ดต่อไปนี้แสดงวิธีรวมคิวรีด้วย AND.

การรวมคิวรีด้วย OR

ExchangeQueryBuilder ให้ Or() เมธอดที่รับสอง MailQueryอินสแตนซ์เป็นพารามิเตอร์ มันดึงข้อความที่ตรงกับเงื่อนไขใดเงื่อนไขหนึ่งของสองเงื่อนไขที่ระบุ ตัวอย่างด้านล่างกรองข้อความที่หัวข้อมีคำว่า “test” หรือผู้ส่งเป็น “noreply@host.com” ตัวอย่างโค้ดต่อไปนี้จะแสดงวิธีรวมคิวรีด้วย OR.

การกรองอีเมลแบบแยกแยะตัวพิมพ์ใหญ่-เล็ก

อีเมลสามารถกรองโดยพิจารณาความแตกต่างของตัวพิมพ์โดยระบุแฟล็ก IgnoreCase ในเกณฑ์การกรองตามที่แสดงในส่วนของโค้ดต่อไปนี้.