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:
- Połącz z serwerem POP3.
- Utwórz instancję MailQuery i ustawić żądane właściwości.
- 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)