Existe-t-il un moyen de rechercher tous les dossiers IMAP disponibles à l'aide de Javamail ?
Question
Je cherche un moyen de rechercher dans tous les dossiers (pour l'utilisateur donné).
Je suis conscient que le Commande RECHERCHE IMAP nécessite que vous sélectionniez d'abord une boîte aux lettres sur laquelle opérer - en étendant les résultats de la recherche à cette boîte aux lettres particulière.
L'implémentation Javamail IMAP implémente un search
fonction qui fonctionne sur un Folder
objet.Cela semblerait imiter la spécification, dans la mesure où il effectuera une recherche dans un dossier donné.
J'avais espéré pouvoir effectuer une recherche dans le dossier spécial « par défaut » (récupéré à l'aide du getDefaultFolder
méthode dans IMAPStore
), car cela renvoie le dossier racine qui contient tous les autres dossiers.Cependant, bien que le récupéré Folder
peut fournir une liste de tous les dossiers disponibles, son type n'est pas de type HOLDS_MESSAGES
, et il ne peut donc pas être utilisé pour accéder ou rechercher des messages.
Existe-t-il un autre moyen de rechercher des messages dans tous les dossiers, ou dois-je rechercher chaque dossier individuellement ?
J'ai bien peur de ne pas pouvoir publier plus de deux hyperliens, mais voici l'accès au Documentation Javamail com.sun.mail.imap, à travers lequel vous pouvez voir des informations sur les méthodes que j'ai décrites.
La solution
Le protocole IMAP ne fournit pas cette fonctionnalité, donc JavaMail ne peut pas faire mieux que ce que vous pouvez faire vous-même en parcourant tous les dossiers et en recherchant dans chaque dossier.