Filter Pesan dengan AQS dari Kotak Surat Exchange
Sintaks Kueri Lanjutan (AQS) adalah sintaks kueri yang digunakan oleh Exchange sebagai alternatif filter pencarian untuk mengekspresikan kriteria pencarian. AQS merupakan cara yang lebih fleksibel untuk melakukan pencarian dan memberikan hasil pencarian untuk semua bidang yang umum digunakan pada item. AQS juga ramah pengguna, mudah dipahami, dan cepat dikuasai. Menggunakan AQS cocok untuk menemukan pesan berdasarkan lampiran dan penerima.
Membuat Kueri Pencarian AQS
Anda dapat membuat kueri pencarian dengan AQS dengan:
- ExchangeAdvancedSyntaxQueryBuilder, yang mewakili pembangun ekspresi pencarian berdasarkan Advanced Query Syntax (AQS). atau
- ExchangeAdvancedSyntaxMailQuery, yang membuat string AQS secara langsung berdasarkan kata kunci yang didukung.
Menggunakan Query Builder
Untuk membuat kueri pencarian dengan ExchangeAdvancedSyntaxQueryBuilder Anda perlu:
-
buat sebuah instance dari IEWSClient dengan GetEWSClient metode
-
buat sebuah instance dari ExchangeAdvancedSyntaxQueryBuilder dan atur properti yang diperlukan untuk membangun kueri.
-
panggilan ListMessages atau ListItems metode dan melewatkan MailQuery instance, yang dikembalikan oleh GetQuery metode, sebagai salah satu parameternya.
Contoh kode di bawah ini menunjukkan cara langkah-langkah di atas dapat dilaksanakan:
using (var client = EWSClient.GetEWSClient(...))
{
var advancedBuilder = new ExchangeAdvancedSyntaxQueryBuilder();
advancedBuilder.From.Equals("Jim Martin");
advancedBuilder.Subject.Contains("report");
advancedBuilder.HasAttachment.Equals(true);
var messages = client.ListMessages(client.MailboxInfo.InboxUri, advancedBuilder.GetQuery());
}
Kueri AQS Langsung
Untuk membuat kueri pencarian dengan ExchangeAdvancedSyntaxMailQuery Anda perlu:
-
buat sebuah instance dari IEWSClient dengan GetEWSClient metode
-
buat sebuah instance dari ExchangeAdvancedSyntaxMailQuery dan melewatkan string AQS. Lihat deskripsi sintaks.
-
panggilan ListMessages atau ListItems metode dan melewatkan ExchangeAdvancedSyntaxMailQuery instance sebagai salah satu parameternya.
Contoh kode di bawah ini menunjukkan cara langkah-langkah di atas dapat dilaksanakan:
using (var client = EWSClient.GetEWSClient(...))
{
ExchangeAdvancedSyntaxMailQuery query = new ExchangeAdvancedSyntaxMailQuery("subject:(product AND report)");
ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query);
}