Filtrování zpráv z poštovní schránky Exchange

Aspose.Email pro C++ umožňuje vývojářům filtrovat zprávy v poštovní schránce Exchange pomocí IEWSClient, MailQuery, a ExchangeQueryBuilder. Můžete filtrovat zprávy podle data, odesílatele, domény, MessageID, oznámení o doručení a mnoha dalších kritérií.

Pro získání zpráv ze složky pro další zpracování, IEWSClient. má následující metody:

  • ListMessages() - Získá všechny zprávy z poštovní schránky.
  • ListMessages() přetížení - Vrací pouze zprávy, které splňují konkrétní podmínky. Přijímá MailQuery který definuje pravidla filtrování, jako jsou klíčová slova předmětu, časová rozmezí a filtrování podle adresy.

Filtrovat zprávy pomocí IEWSClient

Následující ukázka kódu demonstruje, jak dotazovat a získat konkrétní e‑maily ze serveru Exchange pomocí Exchange Web Services (EWS) s Aspose.Email pro C++. Ukazuje kompletní proces připojení k serveru Exchange (v tomto případě Office 365), vytvoření vyhledávacího dotazu pro nalezení zpráv s „Newsletter“ v předmětu, které přišly dnes, provedení dotazu proti doručené poště, získání odpovídajících zpráv a řádné zvládnutí životního cyklu připojení s ošetřením chyb.

  1. Připojte se k serveru Exchange pomocí IEWSClient.
  2. Vytvořte MailQuery nebo ExchangeQueryBuilder a definujte podmínky filtrování.
  3. Zavolejte ListMessages(folderUri, query) pro získání filtrovaných výsledků.

Filtrovat zprávy podle kritérií

Výše uvedený ukázkový kód filtruje zprávy na základě předmětu e‑mailu a data. Můžete filtrování provádět i na dalších vlastnostech. Níže jsou některé příklady nastavení podmínek pomocí MailQuery.

Filtrovat podle dnešního data

Následující ukázkový kód demonstruje, jak vytvořit dotaz pro nalezení e‑mailů, které dorazily dnes.

Filtrovat podle časového rozsahu

Následující ukázkový kód demonstruje, jak vytvořit dotaz pro nalezení e‑mailů, které dorazily během posledních 7 dní.

Filtrovat podle konkrétního odesílatele

Následující ukázkový kód demonstruje, jak vytvořit dotaz pro nalezení e‑mailů od konkrétního odesílatele.

Filtrovat podle domény

Následující ukázkový kód demonstruje, jak vytvořit dotaz pro nalezení e‑mailů z konkrétní domény.

Filtrovat podle příjemce

Následující ukázkový kód demonstruje, jak vytvořit dotaz pro nalezení e‑mailů odeslaných konkrétnímu příjemci.

Filtrovat podle MessageID

Následující ukázkový kód demonstruje, jak vytvořit dotaz pro nalezení konkrétního e‑mailu podle jeho MessageId.

Filtrovat oznámení o doručení pošty

Následující ukázkový kód demonstruje, jak vytvořit dotaz pro nalezení oznámení o doručení pošty (MDN).

Filtrovat podle velikosti zprávy

Následující ukázkový kód demonstruje, jak vytvořit dotaz pro nalezení e‑mailů větších než konkrétní velikost.

Sestavení složitých dotazů

Při použití MailQueryBuilder nebo ExchangeQueryBuilder, každá nastavená vlastnost vytvoří podmínku filtrování. Pokud jsou tyto podmínky definovány v samostatných příkazech, jsou sloučeny pomocí logického AND, což znamená, že všechny podmínky musí odpovídat, aby byla zpráva vrácena.

To umožňuje vývojářům vytvořit přesná filtrace jako například:

  • E‑maily v rámci časového rozpětí
  • E‑maily z konkrétní domény
  • E‑maily odpovídající více kritériím najednou

Kombinovat dotazy pomocí AND

Použití více vlastností builderu v posloupnosti automaticky vytváří operaci AND.

Následující příklad načítá zprávy, které:

  • Pochází z konkrétní domény
  • Dorazilo před dneškem
  • Dorazilo během posledních sedmi dní

Kombinovat dotazy pomocí OR

Pro získání zpráv, které splňují některou ze dvou podmínek, použijte metodu Or().

Následující příklad získává zprávy, které:

  • Obsahují „test“ v předmětu, nebo
  • Byly odeslány z „noreply@host.com“

Filtrování e‑mailů s rozlišením velikosti písmen

Můžete použít citlivé nebo necitlivé filtrování při dotazování zpráv z poštovní schránky Exchange. Chcete-li tuto funkci ovládat, použijte příznak IgnoreCase dostupný ve filtrech. Nastavením na true povolíte necitlivé porovnání.

Níže uvedený příklad filtruje zprávy, které:

  • Obsahuje slovo "Newsletter" v předmětu (nerozlišuje velká/malá písmena)
  • Dorazilo dnes

Stránkování ve filtraci zpráv

Při práci s velkými poštovními schránkami Exchange umožňuje stránkování načítat zprávy v menších, snadno spravovatelných dávkách. ListMessagesByPage metoda IEWSClient vrací výsledky po stránkách na základě zadané velikosti stránky a kritérií dotazu.

Níže uvedený příklad ukazuje, jak:

  1. Vytvořte filtr pomocí MailQueryBuilder.
  2. Načtěte výsledky po stránkách.
  3. Procházejte všechny stránky až po poslední.
  4. Spočítejte celkový počet odpovídajících zpráv.