กรองอีเมลจากเมลเซิร์ฟเวอร์
กรองข้อความตามผู้ส่ง ผู้รับ หรือวันที่
นี้ Pop3Client คลาส, อธิบายใน Connect to POP3 Server, ให้ ListMessages() เมธอดที่ดึงข้อความทั้งหมดจากกล่องจดหมาย เพื่อดึงเฉพาะข้อความที่ตรงกับเงื่อนไขบางอย่าง ให้ใช้เมธอดโอเวอร์โหลด ListMessages() เมธอดที่รับ MailQuery เป็นอาร์กิวเมนต์. MailQuery คลาสให้คุณสมบัติต่าง ๆ สำหรับระบุตำแหน่งเงื่อนไขการค้นหา เช่น วันที่, หัวเรื่อง, ผู้ส่ง, ผู้รับ เป็นต้น MailQueryBuilder คลาสใช้สร้างนิพจน์การค้นหา ก่อนอื่นตั้งค่าเงื่อนไขและข้อจำกัดทั้งหมดแล้วจากนั้น MailQuery ถูกเติมด้วยคิวรีที่พัฒนาโดย MailQueryBuilder. ส่วน MailQuery อ็อบเจกต์คลาสใช้โดย Pop3Client เพื่อดึงข้อมูลที่กรองจากเซิร์ฟเวอร์ บทความนี้แสดงวิธีกรองข้อความอีเมลจากกล่องจดหมาย ตัวอย่างแรกอธิบายการกรองข้อความตามวันที่และหัวเรื่อง เราแสดงวิธีกรองตามเงื่อนไขอื่น ๆ และวิธีสร้างคิวรีที่ซับซ้อนยิ่งขึ้น นอกจากนี้ยังแสดงการใช้ตัวกรองวันที่และเวลาเพื่อดึงอีเมลที่ต้องการจากกล่องจดหมาย และยังแสดงวิธีใช้การกรองที่คำนึงถึงตัวพิมพ์ใหญ่‑เล็ก
กรองข้อความจากกล่องจดหมาย
เพื่อกรองข้อความจากกล่องจดหมาย:
- เชื่อมต่อกับเซิร์ฟเวอร์ POP3.
- สร้างอินสแตนซ์ของ MailQuery และตั้งค่าคุณสมบัติตามต้องการ
- เรียกใช้ Pop3Client.ListMessages(MailQuery query) เมธอดและส่งค่า MailQuery ในพารามิเตอร์เพื่อดึงเฉพาะข้อความที่กรองได้
โค้ดสแนปต่อไปนี้แสดงวิธีเชื่อมต่อกับกล่องจดหมาย POP3 และดึงข้อความที่มาถึงวันนี้และมีคำว่า "newsletter" ในหัวเรื่อง
ดึงข้อความตามเงื่อนไขเฉพาะ
ตัวอย่างโค้ดด้านบน แสดงวิธีที่คุณสามารถกรองข้อความตามหัวเรื่องอีเมลและวันที่ เราสามารถใช้คุณสมบัติอื่นเพื่อกำหนดเงื่อนไขที่สนับสนุนอื่น ๆ ได้เช่นกัน ตัวอย่างต่อไปนี้เป็นการตั้งค่าเงื่อนไขโดยใช้ MailQuery.
โค้ดสแนปต่อไปนี้แสดงวิธีกรองอีเมลตามเกณฑ์อื่น:
- ค้นหาอีเมลที่ส่งวันนี้
- ค้นหาอีเมลที่ได้รับภายในช่วง
- ค้นหาอีเมลจากผู้ส่งเฉพาะ
- ค้นหาอีเมลที่ส่งมาจากโดเมนเฉพาะ
- ค้นหาอีเมลที่ส่งถึงผู้รับเฉพาะ
วันที่วันนี้
โค้ดสแนปต่อไปนี้แสดงวิธีค้นหาอีเมลที่ส่งวันนี้
ช่วงวันที่
โค้ดสแนปต่อไปนี้แสดงวิธีค้นหาอีเมลที่ได้รับภายในช่วงหนึ่ง
ผู้ส่งเฉพาะ
โค้ดสแนปต่อไปนี้แสดงวิธีค้นหาอีเมลจากผู้ส่งเฉพาะ
โดเมนเฉพาะ
โค้ดสแนปต่อไปนี้แสดงวิธีค้นหาอีเมลที่ส่งมาจากโดเมนเฉพาะ
ผู้รับเฉพาะ
โค้ดสแนปต่อไปนี้แสดงวิธีค้นหาอีเมลที่ส่งถึงผู้รับเฉพาะ
สร้างคิวรีที่ซับซ้อน
หากแตกต่าง MailQueryBuilder คุณสมบัติตั้งค่าในคำสั่งแยกกัน จากนั้นเงื่อนไขทั้งหมดจะตรงกัน ตัวอย่างเช่น หากเราต้องการดึงข้อความระหว่างช่วงวันที่และจากโฮสต์เฉพาะ เราต้องเขียนสามคำสั่ง
รวมคิวรีด้วย AND
โค้ดสแนปต่อไปนี้แสดงวิธีรวมคิวรีด้วย AND
รวมคิวรีด้วย OR
MailQueryBuilder ให้ Or() เมธอดที่รับสอง MailQuery อินสแตนซ์เป็นพารามิเตอร์ มันจะดึงข้อความที่ตรงกับเงื่อนไขใดเงื่อนไขหนึ่งจากสองเงื่อนไขที่ระบุ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีกรองข้อความที่มีคำว่า “test” ในหัวเรื่อง หรือผู้ส่งเป็น "noreply@host.com" ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรวมคิวรีด้วย OR
ตัวกรองที่คำนึงถึงตัวพิมพ์ใหญ่‑เล็ก
API ยังให้ความสามารถในการกรองอีเมลจากกล่องจดหมายตามเงื่อนไขที่คำนึงถึงตัวพิมพ์ใหญ่-เล็ก วิธีต่อไปนี้ให้ความสามารถในการค้นหาอีเมลโดยระบุแฟล็กคำนึงถึงตัวพิมพ์ใหญ่-เล็ก
- Method Aspose.Email.StringComparisonField.Contains(string value, bool ignoreCase)
- Method Aspose.Email.StringComparisonField.Equals(string value, bool ignoreCase)
- Method Aspose.Email.StringComparisonField.NotContains(string value, bool ignoreCase)
- Method Aspose.Email.StringComparisonField.NotEquals(string value, bool ignoreCase)