JavaMail - Rechercher des messages électroniques

L’API JavaMail permet aux développeurs d’écrire du code pour rechercher des messages électroniques dans la boîte de réception de l’utilisateur.

Cela peut être accompli en appelant la fonction search() fournie par la classe Folder:

 

Message[] recherche(terme SearchTerm)


Cette méthode retourne un tableau d’objets Message qui correspondent à un critère de recherche spécifié par une sous-classe de la classe SearchTerm. Nous devons créer une classe qui s’étend à partir de la classe SearchTerm et remplace sa méthode match(). Par exemple:

1
2
3
4
5
6
7
8
9
10
11
12

SearchTerm term = new SearchTerm() {
    public boolean match(Message message) {
        try {
            if (message.getSubject().contains("Java")) {
                return true;
            }
        catch (MessagingException ex) {
            ex.printStackTrace();
        }
        return false;
    }
};

Comme nous pouvons le voir, la méthode match() ci-dessus retourne true si un message avec objet contenant le mot « Java ». 

En d’autres termes, le terme de recherche ci-dessus correspondra à tous les messages ayant le mot « Java » dans son champ Objet. 

Et passez ce nouvel objet SearchTerm à la méthode de recherche comme suit :

1

Message[] foundMessages = folder.search(term);


















0 Commentaires