Filter dan Urutkan Pesan di Kotak Surat Server Exchange Menggunakan EWS
Filter dan Urutkan Pesan menggunakan EWS
The IEWSClient antarmuka menyediakan ListMessages() metode yang mengambil semua pesan dari kotak surat. Untuk mendapatkan hanya pesan yang memenuhi kondisi tertentu, gunakan versi overload ListMessages() metode yang mengambil MailQuery kelas sebagai argumen. The MailQuery kelas menyediakan berbagai properti untuk menentukan kondisi, misalnya tanggal, subjek, pengirim, dan penerima. Selain itu, API juga memungkinkan penerapan filter case-sensitive untuk mengambil email dari kotak surat.
Filter Pesan berdasarkan Kriteria
Untuk mendapatkan pesan yang difilter dari sebuah kotak surat:
- Hubungkan ke server Exchange.
- Buat sebuah instance dari MailQuery dan mengatur properti yang diinginkan.
- Panggil IEWSClient.ListMessages() metode dan melewatkan MailQuery dalam parameter untuk hanya mendapatkan pesan yang difilter.
Potongan kode berikut menunjukkan cara menghubungkan ke kotak surat IMAP dan mendapatkan pesan yang memiliki string "Newsletter" di subjek dan dikirim hari ini.
Menurut Tanggal Hari Ini
Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan tanggal hari ini.
Menurut Rentang Tanggal
Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan rentang tanggal.
Menurut Pengirim
Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan pengirim tertentu.
Menurut Domain
Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan domain tertentu.
Menurut Penerima
Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan penerima tertentu.
Menurut MessageID
Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan MessageID.
Menurut Notifikasi Pengiriman Surat
Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan semua notifikasi pengiriman surat.
Menurut Ukuran Pesan
Membangun Kuiri Kompleks
Jika berbeda MailQueryBuilder properti diatur dalam pernyataan terpisah, semua kondisi cocok. Misalnya, untuk mendapatkan pesan dalam rentang tanggal tertentu dan dari host spesifik, tulis tiga pernyataan:
Menggabungkan Kuiri dengan AND
Potongan kode berikut menunjukkan cara Menggabungkan Kueri dengan AND.
Menggabungkan Kuiri dengan OR
MailQueryBuilder menyediakan Or() metode yang mengambil dua MailQuery instance sebagai parameter. Ia mengambil pesan yang cocok dengan salah satu dari dua kondisi yang ditentukan. Contoh di bawah memfilter pesan yang memiliki kata “test” di subjek atau “noreply@host.com” sebagai pengirim. Potongan kode berikut memperlihatkan cara menggabungkan kueri dengan OR.
Filter Email Sensitif Huruf
Email dapat difilter berdasarkan case-sensitivity dengan menentukan flag IgnoreCase dalam kriteria filter seperti yang ditunjukkan dalam potongan kode berikut.
Filter Pesan dengan Dukungan Paging
Urutkan Pesan yang Difilter dalam Urutan Naik/Turun
Penyaringan email dapat didukung dengan penyortiran pesan dalam urutan naik/turun. Dalam kasus ini, OrderBy metode digunakan untuk menentukan urutan di mana hasil pencarian email disortir menggunakan kelas MailQueryBuilder. Metode ini memungkinkan Anda menentukan kriteria penyortiran untuk kueri pencarian, menentukan apakah hasil harus disortir naik atau turun berdasarkan properti tertentu.
Metode ini menerima parameter ascending, yang menentukan urutan penyortiran untuk properti yang ditentukan. Jika parameter ascending bernilai true, itu berarti hasil pencarian harus diurutkan secara naik. Sebaliknya, jika parameter ascending bernilai false, itu berarti hasil pencarian harus diurutkan secara turun.
MailQueryBuilder builder = new MailQueryBuilder();
builder.Subject.Contains("Report");
builder.InternalDate.Since(new DateTime(2020, 1, 1));
builder.Subject.OrderBy(true); // sort the subject ascending
builder.InternalDate.OrderBy(false); // sort the date descending
MailQuery query = builder.GetQuery();
// Get list of messages
ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false);
Dalam cuplikan kode di atas, metode OrderBy diterapkan dua kali, sekali untuk subjek dan sekali untuk tanggal email. Hasil dari mengeksekusi metode ListMessages dengan permintaan yang diberikan, kita akan mendapatkan daftar pesan dengan subjek yang mengandung kata "Report" yang diterima pada tanggal yang ditentukan atau setelahnya. Pada saat yang sama, hasil akan diurutkan berdasarkan subjek dalam urutan naik. Ini berarti pesan akan diurutkan secara alfabet dari A ke Z, tergantung pada subjek mereka. Juga, hasil akan diurutkan berdasarkan tanggal dalam urutan menurun. Ini berarti posting akan diurutkan dari yang terbaru ke yang terlama.
Filter Pesan Menggunakan AQS
Dengan Aspose.Email untuk .NET, pengguna dapat memanfaatkan kemampuan kuat Advanced Query Syntax (AQS) untuk memfilter pesan secara langsung dari kotak surat Exchange. AQS menyediakan cara yang kuat dan intuitif untuk membuat kueri yang dapat menargetkan email secara tepat berdasarkan kriteria tertentu seperti tanggal, pengirim, dan subjek. Untuk wawasan lebih detail tentang integrasinya ke proses penyaringan email Anda dan contoh kode komprehensif tentang mengimplementasikan penyaringan pesan menggunakan AQS dengan Aspose.Email untuk .NET, silakan merujuk ke Filter Pesan dengan AQS dari Kotak Surat Exchange artikel.