Nachrichten mit AQS aus dem Exchange‑Postfach filtern
Erweiterte Abfragesyntax (AQS) ist die von Exchange verwendete Abfragesyntax, die als Alternative zu Suchfiltern zur Ausdruck von Suchkriterien dient. AQS ist eine flexiblere Methode, um Suchen durchzuführen und Suchergebnisse für alle häufig genutzten Felder der Elemente zu liefern. AQS ist zudem benutzerfreundlich, leicht zu verstehen und schnell zu beherrschen. Die Verwendung von AQS eignet sich zum Auffinden von Nachrichten anhand von Anhängen und Empfängern.
Erstellen von AQS-Suchabfragen
Sie können eine Suchabfrage mit AQS erstellen, indem Sie:
- ExchangeAdvancedSyntaxQueryBuilder, der den Builder von Suchausdrücken basierend auf der Advanced Query Syntax (AQS) darstellt. oder
- ExchangeAdvancedSyntaxMailQuery, die eine AQS‑Zeichenfolge direkt basierend auf den unterstützten Schlüsselwörtern erzeugt.
Verwendung des Abfrage‑Builders
Um eine Suchabfrage zu erstellen mit ExchangeAdvancedSyntaxQueryBuilder Sie müssen:
-
eine Instanz von erstellen IEWSClient unter Verwendung von GetEWSClient Methode
-
eine Instanz von erstellen ExchangeAdvancedSyntaxQueryBuilder und setzen Sie die notwendigen Eigenschaften, um eine Abfrage zu erstellen.
-
Aufruf ListMessages oder ListItems Methode und übergeben MailQuery Instanz, zurückgegeben von GetQuery Methode, als einer seiner Parameter.
Das nachstehende Code‑Beispiel zeigt, wie die oben genannten Schritte umgesetzt werden können:
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());
}
Direkte AQS‑Abfragen
Um eine Suchabfrage zu erstellen mit ExchangeAdvancedSyntaxMailQuery Sie müssen:
-
eine Instanz von erstellen IEWSClient unter Verwendung von GetEWSClient Methode
-
eine Instanz von erstellen ExchangeAdvancedSyntaxMailQuery und übergeben Sie eine AQS‑Zeichenfolge. Siehe die Syntax‑Beschreibung.
-
Aufruf ListMessages oder ListItems Methode und übergeben ExchangeAdvancedSyntaxMailQuery Instanz als einer seiner Parameter.
Das nachstehende Code‑Beispiel zeigt, wie die oben genannten Schritte umgesetzt werden können:
using (var client = EWSClient.GetEWSClient(...))
{
ExchangeAdvancedSyntaxMailQuery query = new ExchangeAdvancedSyntaxMailQuery("subject:(product AND report)");
ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query);
}