Filtrovat zprávy z Exchange schránky pomocí WebDav
Filtrování zpráv pomocí WebDav
The ExchangeClient třída poskytuje ListMessages() metoda, která získá všechny zprávy ze schránky. Pro získání pouze zpráv, které splňují určitou podmínku, použijte přetíženou ListMessages() metoda, která přijímá MailQuery třída jako argument. MailQuery třída poskytuje různé vlastnosti pro specifikaci podmínek, například datum, předmět, odesílatele a příjemce. Navíc API umožňuje aplikovat filtry citlivé na velikost písmen při načítání e‑mailů ze schránky.
Filtrování zpráv
Pro získání filtrovaných zpráv ze schránky:
- Připojte se k serveru Exchange.
- Vytvořte instanci MailQuery a nastavit požadované vlastnosti.
- Zavolejte ExchangeClient.ListMessages() metoda a předat MailQuery v parametrech pro získání pouze filtrovaných zpráv.
Následující úryvek kódu vám ukazuje, jak se připojit k IMAP schránce a získat zprávy, které mají v předmětu řetězec "Newsletter" a byly odeslány dnes.
Filtrovat zprávy podle kritérií
Ukázky kódu výše filtrují zprávy podle předmětu e‑mailu a data. Můžeme filtrovat i podle dalších vlastností. Níže jsou některé příklady nastavení podmínek pomocí MailQuery.
Kritérium filtru dnešní datum
Následující úryvek kódu vám ukazuje, jak filtrovat všechny e-maily na základě dnešního data.
Filtrační kritéria: časové rozmezí
Níže uvedený úryvek kódu ukazuje, jak filtrovat všechny e‑maily podle časového rozmezí.
Filtrační kritéria: konkrétní odesílatel
Níže uvedený úryvek kódu ukazuje, jak filtrovat všechny e‑maily podle konkrétního odesílatele.
Filtrační kritéria: konkrétní doména
Níže uvedený úryvek kódu ukazuje, jak filtrovat všechny e‑maily podle konkrétní domény.
Filtrační kritéria: konkrétní příjemce
Níže uvedený úryvek kódu ukazuje, jak filtrovat všechny e‑maily podle konkrétního příjemce.
Filtrační kritéria: podle MessageID
Níže uvedený úryvek kódu ukazuje, jak filtrovat všechny e‑maily podle MessageID.
Filtrační kritéria: Všechna oznámení o doručení pošty
Níže uvedený úryvek kódu ukazuje, jak filtrovat všechny e‑maily na základě všech oznámení o doručení pošty.
Vytváření složitých dotazů
Pokud různé ExchangeQueryBuilder vlastnosti jsou nastaveny v samostatném příkazu, všechny podmínky jsou splněny. Například pro získání zprávy v určitém časovém rozmezí a od konkrétního hostitele napište tři příkazy:
Kombinování dotazů pomocí AND
Následující úryvek kódu ukazuje, jak kombinovat dotazy pomocí AND.
Kombinování dotazů pomocí OR
ExchangeQueryBuilder poskytuje Or() metoda, která přijímá dva MailQueryinstance jako parametry. Získá zprávy, které odpovídají kterékoliv z dvou zadaných podmínek. Níže uvedený příklad filtruje zprávy, které mají buď ve předmětu slovo „test“, nebo jako odesílatele „noreply@host.com“. Následující úryvek kódu ukazuje, jak kombinovat dotazy pomocí OR.
Filtrování e‑mailů s rozlišením velikosti písmen
E‑mail lze filtrovat s rozlišením velkých a malých písmen zadáním příznaku IgnoreCase ve filtračních kritériích, jak je ukázáno v následujícím úryvku kódu.