Voilà je dispose de deux applications :
l'une qui génère un mail avec JavaMail comme suit :
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
 
MimeBodyPart    msg1 = new MimeBodyPart();
msg1.setText(xml);
 
MimeMultipart mp = new MimeMultipart();
mp.addBodyPart(msg1);
 
MimeMessage m = new MimeMessage(session);
 
m.setFrom(fromUser);
m.setRecipient(Message.RecipientType.TO, toUser);
m.setSubject(type+";"+new UUID());
m.setContent(mp);
m.saveChanges();
 
Transport.send( m );
et de l'autre côté une autre application pour la réception et l'extraction des mails :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 
Object content = msg.getContent();
       if(content instanceof Multipart) {
    	   // Faire les traitements nécessaires 
       }
       else
       {
    	  // Le type du contenu n'est pas multipart et donc erreur
       }
Lorsque je teste les deux applications sur un poste Linux tout marche correctement et le type du contenu est bien : javax.mail.internet.MimeMultipart


par contre lorsque je met ces deux applications sur un autre poste Solaris j'ai une erreur car le type de l'objet est : javax.mail.util.SharedByteArrayInputStream

Merci pour toute proposition de solution ....