Exchange Posta Kutusundan Mesajları Filtrele
Aspose.Email for C++, geliştiricilerin bir Exchange posta kutusundaki mesajları kullanarak filtrelemesine izin verir. IEWSClient, MailQuery, ve ExchangeQueryBuilder. Mesajları tarih, gönderici, alan, MessageID, teslim bildirimleri ve birçok başka kritere göre filtreleyebilirsiniz.
Bir klasörden mesajları daha fazla işleme almak için, IEWSClient. şu yöntemlere sahiptir:
- ListMessages() - Bir posta kutusundaki tüm mesajları alır.
- ListMessages() aşırı yükleme - Yalnızca belirli koşullara uyan mesajları döndürür. Bir … kabul eder MailQuery konu anahtar kelimeleri, tarih aralıkları ve adres bazlı filtreleme gibi filtreleme kurallarını tanımlar.
IEWSClient ile Mesajları Filtrele
Aşağıdaki kod örneği, Aspose.Email for C++ ile Exchange Web Services (EWS) kullanarak bir Exchange Server’dan belirli e-postaları sorgulama ve alma işlemini gösterir. Bu örnek, bir Exchange sunucusuna (bu durumda Office 365) bağlanma, konu başlığında "Newsletter" geçen ve bugün gelen mesajları bulmak için arama sorgusu oluşturma, gelen kutusunda sorguyu çalıştırma, eşleşen mesajları alma ve bağlantı yaşam döngüsünü hata yönetimi ile düzgün bir şekilde ele almayı kapsamaktadır.
- Exchange sunucusuna bağlanmak için IEWSClient.
- Bir oluştur MailQuery veya ExchangeQueryBuilder ve filtreleme koşullarını tanımlayın.
- Çağırın ListMessages(folderUri, query) filtrelenmiş sonuçları almak için.
Kriterlere Göre Mesajları Filtrele
Yukarıdaki kod örneği, e-posta konusuna ve tarihe göre mesajları filtreler. Diğer özelliklerde de filtreleme yapabilirsiniz. Aşağıda, koşulları kullanarak ayarlamaya yönelik bazı örnekler yer almaktadır. MailQuery.
Bugünkü Tarihe Göre Filtrele
Aşağıdaki kod örneği, bugün gelen e-postaları bulmak için bir sorgu oluşturmanın nasıl yapıldığını gösterir.
Tarih Aralığına Göre Filtrele
Aşağıdaki kod örneği, son 7 gün içinde gelen e-postaları bulmak için bir sorgu oluşturmanın nasıl yapıldığını gösterir.
Belirli Gönderene Göre Filtrele
Aşağıdaki kod örneği, belirli bir gönderenin e-postalarını bulmak için bir sorgu oluşturmanın nasıl yapıldığını gösterir.
Alan Adına Göre Filtrele
Aşağıdaki kod örneği, belirli bir alan adından gelen e-postaları bulmak için bir sorgu oluşturmanın nasıl yapıldığını gösterir.
Alıcıya Göre Filtrele
Aşağıdaki kod örneği, belirli bir alıcıya gönderilen e-postaları bulmak için bir sorgu oluşturmanın nasıl yapıldığını gösterir.
MessageID’ye Göre Filtrele
Aşağıdaki kod örneği, MessageId’siyle belirli bir e-postayı bulmak için bir sorgu oluşturmanın nasıl yapıldığını gösterir.
Mail Delivery Notifications’ı Filtrele
Aşağıdaki kod örneği, Mail Delivery Notifications (MDN’ler) bulmak için bir sorgu oluşturmanın nasıl yapıldığını gösterir.
Mesaj Boyutuna Göre Filtrele
Aşağıdaki kod örneği, belirli bir boyuttan büyük e-postaları bulmak için bir sorgu oluşturmanın nasıl yapıldığını gösterir.
Karmaşık Sorgular Oluştur
Kullanırken MailQueryBuilder veya ExchangeQueryBuilder, ayarladığınız her özellik bir filtreleme koşulu oluşturur. Bu koşullar ayrı ifadelerde tanımlanırsa, mantıksal AND (VE) kullanılarak birleştirilir, yani bir mesajın döndürülmesi için tüm koşulların eşleşmesi gerekir.
Bu, geliştiricilerin şu gibi kesin filtreler oluşturmasını sağlar:
- Tarih aralığı içindeki e-postalar
- Belirli bir alan adından gelen e-postalar
- Aynı anda birden fazla kriteri karşılayan e-postalar
Sorguları AND ile Birleştir
Ardışık olarak birden fazla yapılandırıcı özelliği kullanmak, otomatik olarak bir AND (VE) işlemi oluşturur.
Aşağıdaki örnek, şu mesajları alır:
- Belirli bir alan adından gelen
- Bugünden önce gelen
- Son yedi gün içinde gelen
Sorguları OR ile Birleştir
İki koşuldan birini sağlayan mesajları eşleştirmek için Or() metodunu kullanın.
Aşağıdaki örnek şu mesajları alır:
- Konu satırında “test” içerir, veya
- “noreply@host.com” tarafından gönderildi
Büyük/Küçük Harf Duyarlı E-posta Filtreleme
Exchange posta kutusundaki mesajları sorgularken büyük/küçük harf duyarlı veya duyarsız filtreleme uygulayabilirsiniz. Bu davranışı kontrol etmek için filtreleme yöntemlerinde bulunan IgnoreCase bayrağını kullanın. true değerini geçirmek, büyük/küçük harf duyarsız eşleştirmeyi etkinleştirir.
Aşağıdaki örnek şu mesajları filtreler:
- Konu satırında "Newsletter" kelimesini içerir (büyük/küçük harf duyarsız)
- Bugün gelen
Mesaj Filtrelemede Sayfalama
Büyük Exchange posta kutularıyla çalışırken, sayfalama mesajları daha küçük, yönetilebilir partiler halinde almanızı sağlar. ListMessagesByPage metodu IEWSClient Belirtilen sayfa boyutu ve sorgu kriterlerine göre sonuçları sayfa sayfa döndürür.
Aşağıdaki örnek şunu gösterir:
- Kullanarak bir filtre oluşturun MailQueryBuilder.
- Sonuçları sayfalar halinde alın.
- Son sayfaya kadar tüm sayfalarda döngü yapın.
- Eşleşen mesajların toplam sayısını sayın.