Filtrování e‑mailů ze serveru pošty

Filtrování zpráv podle odesílatele, příjemce nebo data

The Pop3Client třída, popsaná v Připojit se k POP3 serveru, poskytuje ListMessages() metoda, která získá všechny zprávy z poštovní schránky. Pro získání jen zpráv, které splňují určitou podmínku, použijte přetíženou ListMessages() metoda, která přijímá MailQuery jako argument. MailQuery třída poskytuje různé vlastnosti pro specifikaci podmínek dotazu, například datum, předmět, odesílatel, příjemce a tak dále.  MailQueryBuilder třída se používá k vytvoření vyhledávacího výrazu. Nejprve jsou nastaveny všechny podmínky a omezení a poté MailQuery je vyplněn dotazem vytvořeným MailQueryBuilder. Třída MailQuery objekt třídy je používán Pop3Client k vytažení filtrovaných informací ze serveru. Tento článek ukazuje, jak filtrovat e‑mailové zprávy z poštovní schránky. První příklad demonstruje filtrování zpráv podle data a předmětu. Dále ukazujeme, jak filtrovat podle dalších kritérií a jak vytvářet složitější dotazy. Také ukazuje použití filtru data a času k získání konkrétních e‑mailů ze schránky. Navíc ukazuje, jak aplikovat filtry citlivé na velikost písmen.

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

Pro filtrování zpráv ze schránky:

  1. Připojení k POP3 serveru.
  2. Vytvořte instanci MailQuery a nastavit požadované vlastnosti.
  3. Zavolejte Pop3Client.ListMessages(MailQuery query) metoda a předat MailQuery v parametrech pro získání pouze filtrovaných zpráv.

Následující úryvek kódu ukazuje, jak se připojit k POP3 poštovní schránce a získat zprávy, které dorazily dnes a mají ve předmětu slovo "newsletter".

Načtení zpráv podle specifických kritérií

Výše uvedené ukázky kódu ukazuje, jak můžete filtrovat zprávy podle předmětu e‑mailu a data. Můžeme použít i jiné vlastnosti k nastavení dalších podporovaných podmínek. Níže jsou některé příklady nastavení podmínek pomocí MailQuery.

Následující úryvky kódu ukazují, jak filtrovat e‑maily podle dalších kritérií:

  • Najděte e‑maily doručené dnes.
  • Najděte e‑maily přijaté v rozmezí.
  • Najděte e‑maily od konkrétního odesílatele.
  • Najděte e‑maily odeslané z konkrétní domény.
  • Najděte e‑maily odeslané konkrétnímu příjemci.

Dnešní datum

Následující úryvek kódu ukazuje, jak najít e‑maily doručené dnes.

Rozmezí dat

Následující úryvek kódu ukazuje, jak najít e‑maily přijaté v určitém rozmezí.

Konkrétní odesílatel

Následující úryvek kódu ukazuje, jak najít e‑maily od konkrétního odesílatele.

Konkrétní doména

Následující úryvek kódu ukazuje, jak najít e‑maily odeslané z konkrétní domény.

Konkrétní příjemce

Následující úryvek kódu ukazuje, jak najít e‑maily odeslané konkrétnímu příjemci.

Sestavení složitých dotazů

Pokud různé MailQueryBuilder vlastnosti jsou nastaveny v samostatných příkazech, pak budou splněny všechny podmínky. Například pokud chceme získat zprávy v rozmezí dat a od konkrétního hostitele, musíme napsat tři příkazy.

Kombinovat dotazy pomocí AND

Následující úryvek kódu ukazuje, jak kombinovat dotazy pomocí AND.

Kombinovat dotazy pomocí OR

MailQueryBuilder poskytuje Or() metoda, která přijímá dva MailQuery instance jako parametry. Získá zprávy, které splňují alespoň jednu ze dvou zadaných podmínek. Níže uvedený úryvek kódu ukazuje, jak filtrovat zprávy, které mají v předmětu „test“ nebo jako odesílatele "noreply@host.com". Další úryvek kódu ukazuje, jak kombinovat dotazy operátorem OR.

Filtry citlivé na velikost písmen

API také poskytuje možnost filtrovat e‑maily ze schránky na základě kritéria rozlišujícího velikost písmen. Následující metody umožňují vyhledávat e‑maily s uvedením příznaku rozlišení velikosti písmen.

  • Method Aspose.Email.StringComparisonField.Contains(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.Equals(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.NotContains(string value, bool ignoreCase)
  • Method Aspose.Email.StringComparisonField.NotEquals(string value, bool ignoreCase)