Filter Pesan dari Kotak Surat Exchange
Aspose.Email for C++ memungkinkan pengembang untuk memfilter pesan di kotak surat Exchange menggunakan IEWSClient, MailQuery, dan ExchangeQueryBuilder. Anda dapat memfilter pesan berdasarkan tanggal, pengirim, domain, MessageID, notifikasi pengiriman, dan banyak kriteria lainnya.
Untuk mengambil pesan dari sebuah folder untuk pemrosesan lebih lanjut, IEWSClient. memiliki metode berikut:
- ListMessages() - Mengambil semua pesan dari sebuah kotak surat.
- ListMessages() overload - Mengembalikan hanya pesan yang cocok dengan kondisi tertentu. Ia menerima sebuah MailQuery yang mendefinisikan aturan penyaringan seperti kata kunci subjek, rentang tanggal, dan penyaringan berbasis alamat.
Filter Pesan dengan IEWSClient
Contoh kode berikut menunjukkan cara melakukan kueri dan mengambil email tertentu dari Exchange Server menggunakan Exchange Web Services (EWS) dengan Aspose.Email untuk C++. Ini menunjukkan proses lengkap menghubungkan ke server Exchange (Office 365 dalam kasus ini), membangun kueri pencarian untuk menemukan pesan dengan "Newsletter" di subjek yang tiba hari ini, mengeksekusi kueri terhadap kotak masuk, mengambil pesan yang cocok, dan menangani siklus hidup koneksi dengan penanganan kesalahan.
- Hubungkan ke server Exchange menggunakan IEWSClient.
- Buat sebuah MailQuery atau ExchangeQueryBuilder dan mendefinisikan kondisi penyaringan.
- Panggil ListMessages(folderUri, query) untuk mendapatkan hasil yang difilter.
Filter Pesan berdasarkan Kriteria
Contoh kode di atas memfilter pesan berdasarkan subjek email dan tanggal. Anda juga dapat memfilter pada properti lainnya. Berikut beberapa contoh pengaturan kondisi menggunakan MailQuery.
Filter berdasarkan Tanggal Hari Ini
Contoh kode berikut menunjukkan cara membangun kueri untuk menemukan email yang tiba hari ini.
Filter berdasarkan Rentang Tanggal
Contoh kode berikut menunjukkan cara membangun kueri untuk menemukan email yang tiba dalam 7 hari terakhir.
Filter berdasarkan Pengirim Khusus
Contoh kode berikut menunjukkan cara membangun kueri untuk menemukan email dari pengirim tertentu.
Filter berdasarkan Domain
Contoh kode berikut menunjukkan cara membangun kueri untuk menemukan email dari domain tertentu.
Filter berdasarkan Penerima
Contoh kode berikut menunjukkan cara membangun kueri untuk menemukan email yang dikirim ke penerima tertentu.
Filter berdasarkan MessageID
Contoh kode berikut menunjukkan cara membangun kueri untuk menemukan email tertentu berdasarkan MessageId-nya.
Filter Notifikasi Pengiriman Surat
Contoh kode berikut menunjukkan cara membangun kueri untuk menemukan Notifikasi Pengiriman Surat (MDN).
Filter berdasarkan Ukuran Pesan
Contoh kode berikut menunjukkan cara membangun kueri untuk menemukan email yang lebih besar dari ukuran tertentu.
Membangun Kueri Kompleks
Saat menggunakan MailQueryBuilder atau ExchangeQueryBuilder, setiap properti yang Anda setel membuat kondisi filter. Jika kondisi ini didefinisikan dalam pernyataan terpisah, mereka digabungkan menggunakan logika AND, yang berarti semua kondisi harus cocok agar pesan dikembalikan.
Ini memungkinkan pengembang membangun filter yang tepat seperti:
- Email dalam rentang tanggal
- Email dari domain tertentu
- Email yang cocok dengan beberapa kriteria secara bersamaan
Gabungkan Kueri dengan AND
Menggunakan beberapa properti builder secara berurutan secara otomatis membuat operasi AND.
Contoh berikut mengambil pesan yang:
- Berasal dari domain tertentu
- Tiba sebelum hari ini
- Tiba dalam tujuh hari terakhir
Gabungkan Kueri dengan OR
Untuk mencocokkan pesan yang memenuhi salah satu dari dua kondisi, gunakan metode Or().
Contoh berikut mengambil pesan yang:
- Berisi “test” di subjek, atau
- Dikirim oleh “noreply@host.com”
Filter Email Sensitif Huruf
Anda dapat menerapkan penyaringan sensitif atau tidak sensitif huruf ketika menanyakan pesan dari kotak surat Exchange. Untuk mengontrol perilaku ini, gunakan flag IgnoreCase yang tersedia dalam metode penyaringan. Mengatur true mengaktifkan pencocokan tidak sensitif huruf.
Contoh di bawah memfilter pesan yang:
- Berisi kata "Newsletter" di subjek (tidak sensitif huruf besar/kecil)
- Tiba hari ini
Paginasi dalam Penyaringan Pesan
Saat bekerja dengan kotak surat Exchange yang besar, paging memungkinkan Anda mengambil pesan dalam batch yang lebih kecil dan dapat dikelola. ListMessagesByPage metode dari IEWSClient mengembalikan hasil per halaman berdasarkan ukuran halaman yang ditentukan dan kriteria kueri.
Contoh di bawah menunjukkan cara:
- Bangun filter menggunakan MailQueryBuilder.
- Ambil hasil dalam halaman.
- Loop melalui semua halaman hingga halaman terakhir.
- Hitung total jumlah pesan yang cocok.