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:

  1. Hubungkan ke server Exchange.
  2. Buat sebuah instance dari MailQuery dan mengatur properti yang diinginkan.
  3. 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.

Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan tanggal hari ini.

Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan rentang tanggal.

Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan pengirim tertentu.

Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan domain tertentu.

Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan penerima tertentu.

Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan MessageID.

Potongan kode berikut menunjukkan cara memfilter semua email berdasarkan semua notifikasi pengiriman surat.

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.