WebDav Kullanarak Exchange Posta Kutusundan Mesajları Filtrele

WebDav Kullanarak Mesajları Filtreleme

Bu ExchangeClient class, şunları sağlar ListMessages() bir posta kutusundaki tüm mesajları alan metod. Belirli bir koşulu karşılayan yalnızca mesajları almak için aşırı yüklenmiş olanı kullanın. ListMessages() alan metod MailQuery sınıfı bir argüman olarak.  MailQuery sınıf, tarih, konu, gönderen ve alıcı gibi koşulları belirlemek için çeşitli özellikler sunar. Ayrıca, API posta kutusundan e-postaları alırken büyük/küçük harf duyarlılığı filtreleri uygulamayı da sağlar.

Mesajları Filtreleme

Bir posta kutusundan filtrelenmiş mesajları almak için:

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

Aşağıdaki kod parçacığı, bir IMAP posta kutusuna nasıl bağlanılacağını ve konu satırında "Newsletter" dizesi bulunan ve bugün gönderilen mesajları nasıl alacağınızı gösterir.

Kriterlere Göre Mesajları Filtrele

Yukarıdaki kod örnekleri, e-posta konusuna ve tarihe göre mesajları filtreler. Diğer özelliklere göre de filtreleme yapabiliriz. Aşağıda, koşulları şu şekilde ayarlamaya dair bazı örnekler verilmiştir: MailQuery.

Filtre Kriteri Bugünün Tarihi

Aşağıdaki kod parçacığı, bugünün tarihine göre tüm e-postaları nasıl filtreleyeceğinizi gösterir.

Filtre Kriteri: Tarih Aralığı

Aşağıdaki kod snippet’i, tarih aralığına göre tüm e-postaları nasıl filtreleyeceğinizi gösterir.

Filtre Kriteri: Belirli Gönderici

Aşağıdaki kod snippet’i, belirli bir gönderene göre tüm e-postaları nasıl filtreleyeceğinizi gösterir.

Filtre Kriteri: Belirli Domain

Aşağıdaki kod snippet’i, belirli bir domaine göre tüm e-postaları nasıl filtreleyeceğinizi gösterir.

Filtre Kriteri: Belirli Alıcı

Aşağıdaki kod snippet’i, belirli bir alıcıya göre tüm e-postaları nasıl filtreleyeceğinizi gösterir.

Filtre Kriteri: MessageID’ye Göre

Aşağıdaki kod snippet’i, MessageID temelinde tüm e-postaları nasıl filtreleyeceğinizi gösterir.

Filtre Kriteri: Tüm Posta Teslim Bildirimleri

Aşağıdaki kod snippet’i, tüm posta teslim bildirimlerine göre tüm e-postaları nasıl filtreleyeceğinizi gösterir.

Karmaşık Sorgular Oluşturma

Farklı ise ExchangeQueryBuilder özellikler ayrı bir ifadede ayarlandığında, tüm koşullar eşleşir. Örneğin, belirli bir tarih aralığında ve belirli bir sunucudan mesaj almak için üç ifade yazın:

Sorguları AND ile Birleştirme

Aşağıdaki kod bölümü, Sorguları AND ile birleştirmenin nasıl yapılacağını gösterir.

Sorguları OR ile Birleştirme

ExchangeQueryBuilder sağlar Or() iki … alan yöntemi MailQueryörnek parametreler olarak. Belirtilen iki koşuldan birine uyan mesajları alır. Aşağıdaki örnek, konu içinde “test” kelimesi olan ya da gönderen olarak “noreply@host.com” bulunan mesajları filtreler. Aşağıdaki kod parçacığı, sorguları OR ile nasıl birleştireceğinizi gösterir.

Büyük/Küçük Harf Duyarlı E-posta Filtreleme

Aşağıdaki kod bölümünde gösterildiği gibi, filtre kriterinde IgnoreCase bayrağını belirterek e-postalar büyük/küçük harfe duyarlılık bazında filtrelenebilir.