กรองอีเมลจากเมลเซิร์ฟเวอร์

กรองข้อความตามผู้ส่ง ผู้รับ หรือวันที่

นี้ Pop3Client คลาส, อธิบายใน Connect to POP3 Server, ให้ ListMessages() เมธอดที่ดึงข้อความทั้งหมดจากกล่องจดหมาย เพื่อดึงเฉพาะข้อความที่ตรงกับเงื่อนไขบางอย่าง ให้ใช้เมธอดโอเวอร์โหลด ListMessages() เมธอดที่รับ MailQuery เป็นอาร์กิวเมนต์. MailQuery คลาสให้คุณสมบัติต่าง ๆ สำหรับระบุตำแหน่งเงื่อนไขการค้นหา เช่น วันที่, หัวเรื่อง, ผู้ส่ง, ผู้รับ เป็นต้น MailQueryBuilder คลาสใช้สร้างนิพจน์การค้นหา ก่อนอื่นตั้งค่าเงื่อนไขและข้อจำกัดทั้งหมดแล้วจากนั้น MailQuery ถูกเติมด้วยคิวรีที่พัฒนาโดย MailQueryBuilder. ส่วน MailQuery อ็อบเจกต์คลาสใช้โดย Pop3Client เพื่อดึงข้อมูลที่กรองจากเซิร์ฟเวอร์ บทความนี้แสดงวิธีกรองข้อความอีเมลจากกล่องจดหมาย ตัวอย่างแรกอธิบายการกรองข้อความตามวันที่และหัวเรื่อง เราแสดงวิธีกรองตามเงื่อนไขอื่น ๆ และวิธีสร้างคิวรีที่ซับซ้อนยิ่งขึ้น นอกจากนี้ยังแสดงการใช้ตัวกรองวันที่และเวลาเพื่อดึงอีเมลที่ต้องการจากกล่องจดหมาย และยังแสดงวิธีใช้การกรองที่คำนึงถึงตัวพิมพ์ใหญ่‑เล็ก

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

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

  1. เชื่อมต่อกับเซิร์ฟเวอร์ POP3.
  2. สร้างอินสแตนซ์ของ MailQuery และตั้งค่าคุณสมบัติตามต้องการ
  3. เรียกใช้ 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)