Filtrowanie e‑maili z serwera pocztowego

Filtrowanie wiadomości według nadawcy, odbiorcy lub daty

Ten Pop3Client klasa, opisana w Połącz się z serwerem POP3, zapewnia ListMessages() metoda, która pobiera wszystkie wiadomości ze skrzynki. Aby otrzymać tylko wiadomości spełniające określony warunek, użyj przeciążonej ListMessages() metoda, która przyjmuje MailQuery jako argument. MailQuery klasa zapewnia różne właściwości do określania warunków zapytania, np. data, temat, nadawca, odbiorca itp.  MailQueryBuilder klasa jest używana do budowania wyrażenia wyszukiwania. Najpierw ustawia się wszystkie warunki i ograniczenia, a następnie MailQuery jest wypełniony zapytaniem opracowanym przez MailQueryBuilder. The MailQuery obiekt klasy jest używany przez Pop3Client aby wyodrębnić przefiltrowane informacje z serwera. Ten artykuł pokazuje, jak filtrować wiadomości e‑mail z skrzynki pocztowej. Pierwszy przykład ilustruje filtrowanie wiadomości według daty i tematu. Pokazujemy również, jak filtrować według innych kryteriów oraz jak budować bardziej złożone zapytania. Prezentujemy zastosowanie filtru daty i godziny w celu pobrania konkretnych e‑maili ze skrzynki. Dodatkowo pokazujemy, jak zastosować filtrowanie rozróżniające wielkość liter.

Filtrowanie wiadomości z skrzynki pocztowej

Aby filtrować wiadomości ze skrzynki:

  1. Połącz z serwerem POP3.
  2. Utwórz instancję MailQuery i ustawić żądane właściwości.
  3. Wywołaj Pop3Client.ListMessages(MailQuery query) metodę i przekazać MailQuery w parametrach, aby otrzymać tylko przefiltrowane wiadomości.

Poniższy fragment kodu pokazuje, jak połączyć się z skrzynką POP3 i pobrać wiadomości, które przybyły dzisiaj oraz mają w temacie słowo "newsletter".

Pobieranie wiadomości według konkretnych kryteriów

Powyższe przykłady kodu pokazuje, jak można filtrować wiadomości na podstawie tematu e‑maila i daty. Możemy również używać innych właściwości do ustawiania innych obsługiwanych warunków. Poniżej znajdują się niektóre przykłady ustawiania warunków przy użyciu MailQuery.

Poniższe fragmenty kodu pokazują, jak filtrować e‑maile według innych kryteriów:

  • Znajdź e‑maile dostarczone dzisiaj.
  • Znajdź e‑maile odebrane w określonym przedziale.
  • Znajdź e‑maile od określonego nadawcy.
  • Znajdź e‑maile wysłane z określonej domeny.
  • Znajdź e‑maile wysłane do określonego odbiorcy.

Dzisiejsza data

Poniższy fragment kodu pokazuje, jak znaleźć e‑maile dostarczone dzisiaj.

Zakres dat

Poniższy fragment kodu pokazuje, jak znaleźć e‑maile odebrane w określonym przedziale.

Określony nadawca

Poniższy fragment kodu pokazuje, jak znaleźć e‑maile od określonego nadawcy.

Określona domena

Poniższy fragment kodu pokazuje, jak znaleźć e‑maile wysłane z określonej domeny.

Określony odbiorca

Poniższy fragment kodu pokazuje, jak znaleźć e‑maile wysłane do określonego odbiorcy.

Budowanie złożonych zapytań

Jeśli różne MailQueryBuilder właściwości są ustawiane w oddzielnych instrukcjach, wtedy wszystkie warunki będą spełnione. Na przykład, jeśli chcemy pobrać wiadomości z określonego zakresu dat i od konkretnego hosta, musimy napisać trzy instrukcje.

Łącz zapytania przy użyciu AND

Poniższy fragment kodu pokazuje, jak łączyć zapytania przy użyciu AND.

Łącz zapytania przy użyciu OR

MailQueryBuilder udostępnia Or() metoda przyjmująca dwa MailQuery instancje jako parametry. Pobiera wiadomości, które spełniają dowolny z dwóch określonych warunków. Poniższy fragment kodu pokazuje, jak filtrować wiadomości, które mają w temacie „test” lub jako nadawcę "noreply@host.com". Przykład pokazuje, jak łączyć zapytania operatorem OR.

Filtry rozróżniające wielkość liter

API zapewnia również możliwość filtrowania e‑mail z skrzynki na podstawie kryteriów wrażliwych na wielkość liter. Następujące metody umożliwiają wyszukiwanie e‑mail z określeniem flagi wrażliwości na wielkość liter.

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