[Javax.mail][ClassCastException]Recuperer un mail HTML
Bonjour, j'ai lu pas mal de posts concernant ce sujet, mais j'avoue que je suis un peu dépité la..
j'essaye de récupérer des mails contenant du html ou des images, et donc je recois un Message dont je recupère le contenu, mon probleme c'est que je ne peux pas le mettre sous la forme d'un MultiPart..
tout d'abord voila la partie de code qui me pose probleme :
Code:
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
|
public MailMessage(final Message msg) {
Multipart messageMultipart;
try {
messageMultipart = (Multipart)msg.getContent();// c'est ici que j'ai l'erreur
int n = messageMultipart.getCount();
contenuTexte=new String[n];
for(int j=0;j<n;j++){
Part part = messageMultipart.getBodyPart(j);
String disposition = part.getDisposition();
if((disposition!=null)&&((disposition.equals(Part.ATTACHMENT)))){//si c'est un fichier joint
contenuTexte[n]=null;//on met null dans le texte
File save = new File("C:\\HD4\\"+part.getFileName());
FileWriter ecriture = new FileWriter(save);
InputStreamReader lecture = new InputStreamReader(part.getInputStream());
while(lecture.read()!=-1){ecriture.write(lecture.read());}
lecture.close();
ecriture.close();
}
if((disposition!=null)&&(disposition.equals(Part.INLINE))){//si c'est un texte
String _content=new String();
InputStreamReader lecture = new InputStreamReader(part.getInputStream());
while(lecture.read()!=-1){_content = _content.concat(String.valueOf(lecture.read()));}
contenuTexte[n]=_content;
lecture.close();
}
}catch (ClassCastException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} |
Voila l'erreur que je recois
Code:
1 2
| java.lang.ClassCastException: java.lang.String
at com.orange.sce.application.impl.MailMessage.<init>(MailMessage.java:90) |
Si quelqu'un a une idée..
Merci d'avance!!