Bonjour,
Connaissez vous la procedure pour recuperer des pieces jointes avec le package Javamail ???
Bonjour,
Connaissez vous la procedure pour recuperer des pieces jointes avec le package Javamail ???
Voici un lien présentant un code Java permettant de récupérer des e-mails avec pièce(s) jointe(s) via le protocole POP3 grâce à JavaMail :Envoyé par mrfirefunk
http://www.jscape.com/articles/retri...sing_java.html.
Le probleme c'est que pour utiliser ce code et en exploiter pleinement les fonctionnalités il faut acheter leur package.
Ya pas un moyen gratuits de faire cela ??
Désolé, j'avais pas vu que c'était payant.Envoyé par mrfirefunk
Sinon, j'ai aussi trouvé ça : http://forum.java.sun.com/thread.jsp...318242&start=0.
Merci beaucoup pour ce coup de pouce.
J'ai encore un petit souci.
Ce morceau de code fait appel a une classe Base64 qui fait partit du package payant jscape. Cependant j'ai reussi a trouver une version gratuite de la classe Base64.
Mon probleme est lorsque j'utilise cette classe lors de l'execution j'ai l'erreur suivante :Voici mon code source :Bad Base64 input character at 6: 44(decimal)
Je met en piece jointe le package Base64.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 // Permet de recuperer les pieces jointes public void getObjectToMessage(int indice, String dossier) { try { // on recupere les messages dans un tableau Message message[] = myFolder.getMessages(); ArrayList al = new ArrayList(); Multipart mp = null; File tempFile = null; FileOutputStream fos = null; String fileName = null; byte[] decrypt = null; if (!new File (dossier).exists()) { System.out.println("Directory Does Not Exist: "+ dossier); } else System.out.println("Directory Does Exist: "+ dossier); mp = (MimeMultipart) message[indice].getContent(); for (int j = 0, m = mp.getCount(); j < m; j++) { System.out.println("on est rentré dans la boucle des pieces jointes"); Part part = mp.getBodyPart(j); fileName = part.getFileName(); if (fileName == null) { fileName = ""; fileName = "temp" + j; } tempFile = new File(dossier + fileName); fos = new FileOutputStream(tempFile); part.removeHeader("Content-Type"); part.removeHeader("Content-Transfer-Encoding"); part.removeHeader("Content-Disposition"); decrypt = Base64.decode(((String)part.getContent())); fos.write(decrypt); fos.close(); al.add(dossier + fileName); } } catch(java.lang.Throwable msg) {} }
Milles mercis![]()
Je me demande si le problème ne vient pas de l'instruction ci-dessous :
Celle-ci te retourne-t'elle bien le contenu de la pièce jointe encodé en base 64 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part part.getContent()
Partager