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:
- Exchange sunucusuna bağlan.
- Bir örnek oluştur MailQuery ve istenen özellikleri ayarlayın.
- Ş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.