Posta Sunucusundan E-postaları Filtrele

Gönderen, Alıcı veya Tarihe Göre Mesajları Filtrele

Bu Pop3Client sınıf, açıklanmıştır POP3 Sunucusuna Bağlan, sağlar ListMessages() metod, bir posta kutusundaki tüm mesajları alır. Sadece belirli bir koşula uyan mesajları almak için aşırı yüklenmiş olanı kullanın ListMessages() metod, alır MailQuery argüman olarak. MailQuery sınıf, tarih, konu, gönderici, alıcı vb. gibi sorgu koşullarını belirtmek için çeşitli özellikler sağlar.  MailQueryBuilder sınıf, arama ifadesi oluşturmak için kullanılır. Önce tüm koşul ve kısıtlamalar ayarlanır, ardından MailQuery tarafından geliştirilen sorgu ile doldurulur MailQueryBuilder. The MailQuery sınıf nesnesi tarafından kullanılır Pop3Client sunucudan filtrelenmiş bilgiyi çıkarmak için. Bu makale, bir posta kutusundan e-posta mesajlarını nasıl filtreleyeceğinizi gösterir. İlk örnek, tarih ve konuya göre mesajların nasıl filtrelendiğini açıklar. Diğer kriterlere göre filtreleme ve daha karmaşık sorgular oluşturma yollarını da gösteriyoruz. Tarih ve Saat filtresinin posta kutusundan belirli e-postaları getirmek için uygulanmasını da gösterir. Ayrıca, büyük/küçük harfe duyarlı filtrelemenin nasıl uygulanacağını da gösterir.

Posta Kutusundan Mesajları Filtrele

Bir posta kutusundan mesajları filtrelemek için:

  1. POP3 sunucusuna bağlan.
  2. Bir örnek oluştur MailQuery ve istenen özellikleri ayarlayın.
  3. Şuğu çağırın Pop3Client.ListMessages(MailQuery query) method ve geçirin MailQuery parametrelerde sadece filtrelenmiş mesajları almak için.

Aşağıdaki kod snippet’i, POP3 posta kutusuna bağlanıp, bugün gelen ve konu kısmında "newsletter" kelimesi bulunan mesajları almayı gösterir.

Belirli Kriterlere Göre Mesajları Getir

Yukarıdaki kod örnekleri e-posta konusuna ve tarihe göre mesajları nasıl filtreleyebileceğinizi gösterir. Diğer desteklenen koşulları ayarlamak için başka özellikler de kullanılabilir. Aşağıda koşulları ayarlamanın bazı örnekleri verilmiştir MailQuery.

Aşağıdaki kod snippet’leri, diğer kriterlere göre e-postaları nasıl filtreleyeceğinizi gösterir:

  • Bugün teslim edilen e-postaları bulun.
  • Bir aralıkta alınan e-postaları bulun.
  • Belirli bir göndericiden gelen e-postaları bulun.
  • Belirli bir alandan gönderilen e-postaları bulun.
  • Belirli bir alıcıya gönderilen e-postaları bulun.

Bugünün Tarihi

Aşağıdaki kod snippet’i, bugün teslim edilen e-postaları bulmayı gösterir.

Tarih Aralığı

Aşağıdaki kod snippet’i, bir tarih aralığında alınan e-postaları bulmayı gösterir.

Belirli Gönderici

Aşağıdaki kod snippet’i, belirli bir göndericiden gelen e-postaları bulmayı gösterir.

Belirli Alan

Aşağıdaki kod snippet’i, belirli bir alandan gönderilen e-postaları bulmayı gösterir.

Belirli Alıcı

Aşağıdaki kod snippet’i, belirli bir alıcıya gönderilen e-postaları bulmayı gösterir.

Karmaşık Sorgular Oluştur

Farklı ise MailQueryBuilder özellikler ayrı ifadelerde ayarlandığında, tüm koşullar eşleşir. Örneğin, bir tarih aralığı ve belirli bir sunucudan gelen mesajları almak istiyorsak üç ifade yazmamız gerekir.

Sorguları AND ile Birleştir

Aşağıdaki kod snippet’i, sorguları AND ile nasıl birleştireceğinizi gösterir.

Sorguları OR ile Birleştir

MailQueryBuilder sağlar Or() iki … alan yöntemi MailQuery örnekleri parametre olarak alır. Belirtilen iki koşuldan herhangi birine uyan mesajları alır. Aşağıdaki kod parçacığı, konuda “test” geçen veya gönderen olarak "noreply@host.com" olan mesajları nasıl filtreleyeceğinizi gösterir. Aşağıdaki kod parçacığı, sorguları OR ile nasıl birleştireceğinizi gösterir.

Büyük/Küçük Harfe Duyarlı Filtreler

API, harf duyarlı kritere göre posta kutusundaki e-postaları filtreleme yeteneği de sunar. Aşağıdaki metodlar, harf duyarlı bayrağı belirterek e-posta arama imkanı verir.

  • Metod Aspose.Email.StringComparisonField.Contains(string value, bool ignoreCase)
  • Metod Aspose.Email.StringComparisonField.Equals(string value, bool ignoreCase)
  • Metod Aspose.Email.StringComparisonField.NotContains(string value, bool ignoreCase)
  • Metod Aspose.Email.StringComparisonField.NotEquals(string value, bool ignoreCase)