Maintenant que j'ai téléchargé tous les messages et les stocke dans
Message[] temp;
Comment puis-je obtenir la liste des pièces jointes pour chacun de ces messages à
List<File> attachments;
Remarque: pas de bibliothèques tierces, s'il vous plaît, juste JavaMail.
java
attachment
javamail
folone
la source
la source
La question est très ancienne, mais peut-être qu'elle aidera quelqu'un. Je voudrais développer la réponse de David Rabinowitz.
ne doit pas renvoyer toutes les pièces jointes comme prévu, car vous pouvez avoir du courrier là où la partie mixte est sans disposition définie.
donc dans ce cas, vous pouvez également vérifier le nom du fichier. Comme ça:
ÉDITER
il y a tout le code de travail utilisant la condition décrite ci-dessus. Étant donné que chaque pièce peut encapsuler une autre pièce et que l'attachement doit être imbriqué, la récursivité est utilisée pour parcourir toutes les pièces
la source
null
. Est-ce exact?Un gain de temps pour le code dans lequel vous enregistrez le fichier de pièce jointe:
avec javax mail version 1.4 et ultérieure , vous pouvez dire
au lieu de
la source
bodyPart
devrait d'abord être converti enMimeBodyPart
, comme:((MimeBodyPart) bodyPart).saveFile("/tmp/" + bodyPart.getFileName());
Vous pouvez simplement utiliser l'API Apache Commons Mail MimeMessageParser - getAttachmentList () avec Commons IO et Commons Lang.
la source