Filtrer les e‑mails du serveur de messagerie

Filtrer les messages par expéditeur, destinataire ou date

Le Pop3Client classe, décrite dans Se connecter au serveur POP3, fournit le ListMessages() méthode qui récupère tous les messages d’une boîte aux lettres. Pour obtenir uniquement les messages correspondant à une condition, utilisez le surchargé ListMessages() méthode qui prend MailQuery comme argument. Le MailQuery la classe fournit diverses propriétés pour spécifier les conditions de la requête, par exemple, date, objet, expéditeur, destinataire, etc. Le MailQueryBuilder la classe est utilisée pour construire l’expression de recherche. D’abord, toutes les conditions et contraintes sont définies puis MailQuery est rempli avec la requête développée par MailQueryBuilder. Le MailQuery objet de classe est utilisé par Pop3Client pour extraire les informations filtrées du serveur. Cet article montre comment filtrer les e‑mails d’une boîte aux lettres. Le premier exemple illustre le filtrage des messages selon la date et le sujet. Nous montrons également comment filtrer selon d’autres critères et comment construire des requêtes plus complexes. Il montre aussi l’application d’un filtre Date et Heure pour récupérer les e‑mails spécifiques de la boîte. De plus, il explique comment appliquer un filtrage sensible à la casse.

Filtrer les messages de la boîte aux lettres

Pour filtrer les messages d’une boîte aux lettres :

  1. Se connecter au serveur POP3.
  2. Créez une instance de MailQuery et définir les propriétés souhaitées.
  3. Appelez le Pop3Client.ListMessages(MailQuery query) méthode et passer le MailQuery dans les paramètres pour obtenir uniquement les messages filtrés.

Le snippet de code suivant montre comment se connecter à une boîte aux lettres POP3 et récupérer les messages arrivés aujourd’hui et contenant le mot "newsletter" dans l’objet.

Récupérer les messages selon des critères spécifiques

Les exemples de code ci‑dessus montre comment vous pouvez filtrer les messages selon le sujet et la date du courriel. Nous pouvons utiliser d’autres propriétés pour définir d’autres conditions prises en charge également. Voici quelques exemples de définition des conditions en utilisant MailQuery.

Les snippets de code qui suivent montrent comment filtrer les e‑mails selon d’autres critères :

  • Trouver les e‑mails livrés aujourd’hui.
  • Trouver les e‑mails reçus dans une plage.
  • Trouver les e‑mails d’un expéditeur spécifique.
  • Trouver les e‑mails envoyés depuis un domaine spécifique.
  • Trouver les e‑mails envoyés à un destinataire spécifique.

Date d’aujourd’hui

Le snippet de code suivant montre comment trouver les e‑mails livrés aujourd’hui.

Plage de dates

Le snippet de code suivant montre comment trouver les e‑mails reçus dans une plage.

Expéditeur spécifique

Le snippet de code suivant montre comment trouver les e‑mails d’un expéditeur spécifique.

Domaine spécifique

Le snippet de code suivant montre comment trouver les e‑mails envoyés depuis un domaine spécifique.

Destinataire spécifique

Le snippet de code suivant montre comment trouver les e‑mails envoyés à un destinataire spécifique.

Construire des requêtes complexes

Si différent MailQueryBuilder les propriétés sont définies dans des instructions séparées, puis toutes les conditions seraient satisfaites. Par exemple, si nous voulons obtenir les messages entre une plage de dates et d’un hôte spécifique, nous devons écrire trois instructions.

Combiner les requêtes avec AND

Le snippet de code suivant montre comment combiner des requêtes avec AND.

Combiner les requêtes avec OR

MailQueryBuilder fournit le Or() méthode qui prend deux MailQuery instances en tant que paramètres. Elle récupère les messages qui correspondent à l’une des deux conditions spécifiées. L’extrait de code suivant montre comment filtrer les messages qui ont soit “test” dans le sujet, soit "noreply@host.com" comme expéditeur. L’extrait suivant montre comment combiner des requêtes avec OR.

Filtres sensibles à la casse

L’API offre également la capacité de filtrer les e‑mails de la boîte aux lettres en fonction d’un critère sensible à la casse. Les méthodes suivantes permettent de rechercher des e‑mails en spécifiant le drapeau sensible à la casse.

  • 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)