Lọc email từ máy chủ thư

Lọc tin nhắn theo Người gửi, Người nhận hoặc Ngày

Cái Pop3Client lớp, được mô tả trong Kết nối tới Máy chủ POP3, cung cấp ListMessages() phương thức lấy tất cả các tin nhắn từ một hộp thư. Để chỉ lấy các tin nhắn phù hợp với một số điều kiện, sử dụng phiên bản quá tải của ListMessages() phương thức nhận MailQuery được truyền làm đối số. Các MailQuery lớp cung cấp nhiều thuộc tính để chỉ định các điều kiện truy vấn, ví dụ: ngày, tiêu đề, người gửi, người nhận, v.v. Các MailQueryBuilder lớp được sử dụng để xây dựng biểu thức tìm kiếm. Đầu tiên, tất cả các điều kiện và ràng buộc được đặt và sau đó MailQuery được điền bằng truy vấn được phát triển bởi MailQueryBuilder. Thuộc tính MailQuery đối tượng lớp được sử dụng bởi Pop3Client để trích xuất thông tin đã lọc từ máy chủ. Bài viết này cho thấy cách lọc tin nhắn email từ hộp thư. Ví dụ đầu tiên minh họa cách lọc tin nhắn dựa trên ngày và tiêu đề. Chúng tôi cũng trình bày cách lọc theo tiêu chí khác và cách xây dựng các truy vấn phức tạp hơn. Nó cũng cho thấy việc áp dụng bộ lọc Ngày và Giờ để truy xuất các email cụ thể từ hộp thư. Ngoài ra, còn chỉ ra cách áp dụng lọc phân biệt chữ hoa chữ thường.

Lọc tin nhắn từ hộp thư

Để lọc tin nhắn từ hộp thư:

  1. Kết nối đến máy chủ POP3.
  2. Tạo một thể hiện của MailQuery và đặt các thuộc tính mong muốn.
  3. Gọi Pop3Client.ListMessages(MailQuery query) phương thức và truyền vào MailQuery trong các tham số để chỉ lấy các tin nhắn đã lọc.

Đoạn mã sau cho bạn thấy cách kết nối tới hộp thư POP3 và lấy các tin nhắn đã đến hôm nay và có từ "newsletter" trong tiêu đề.

Truy xuất tin nhắn theo tiêu chí cụ thể

Các mẫu mã ở trên hiển thị cách bạn có thể lọc tin nhắn dựa trên tiêu đề email và ngày. Chúng ta có thể sử dụng các thuộc tính khác để đặt các điều kiện hỗ trợ khác nữa. Dưới đây là một số ví dụ về việc thiết lập các điều kiện bằng cách sử dụng MailQuery.

Các đoạn mã sau cho thấy cách lọc email theo các tiêu chí khác:

  • Tìm email được gửi hôm nay.
  • Tìm email nhận được trong một khoảng thời gian.
  • Tìm email từ người gửi cụ thể.
  • Tìm email được gửi từ miền cụ thể.
  • Tìm email được gửi tới người nhận cụ thể.

Ngày hôm nay

Đoạn mã sau cho bạn thấy cách tìm email được gửi hôm nay.

Khoảng ngày

Đoạn mã sau cho bạn thấy cách tìm email nhận được trong một khoảng thời gian.

Người gửi cụ thể

Đoạn mã sau cho bạn thấy cách tìm email từ người gửi cụ thể.

Miền cụ thể

Đoạn mã sau cho bạn thấy cách tìm email được gửi từ một miền cụ thể.

Người nhận cụ thể

Đoạn mã sau cho bạn thấy cách tìm email được gửi đến người nhận cụ thể.

Xây dựng truy vấn phức tạp

Nếu khác MailQueryBuilder các thuộc tính được đặt trong các câu lệnh riêng biệt, sau đó mọi điều kiện sẽ được khớp. Ví dụ, nếu chúng ta muốn lấy tin nhắn trong một khoảng thời gian và từ một máy chủ cụ thể, chúng ta cần viết ba câu lệnh.

Kết hợp Truy vấn với AND

Đoạn mã sau cho bạn thấy cách kết hợp các truy vấn bằng AND.

Kết hợp Truy vấn với OR

MailQueryBuilder cung cấp Or() phương thức nhận hai MailQuery các thể hiện làm tham số. Nó nhận các tin nhắn khớp với bất kỳ một trong hai điều kiện đã chỉ định. Đoạn mã dưới đây cho thấy cách lọc tin nhắn có “test” trong tiêu đề hoặc "noreply@host.com" là người gửi. Đoạn mã dưới đây cho bạn cách kết hợp các truy vấn bằng OR.

Bộ lọc phân biệt chữ hoa chữ thường

API cũng cung cấp khả năng lọc email từ hộp thư dựa trên tiêu chí phân biệt chữ hoa chữ thường. Các phương thức sau cung cấp khả năng tìm kiếm email bằng cách chỉ định cờ phân biệt chữ hoa chữ thường.

  • 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)