JavaMail, adjuntando ficheros

jesusmgmarin
03 de Abril del 2006
Buenas, tengo un problema al adjuntar un fichero a un e-mail.
Los datos para crear el correo, los paso desde un servlet a una clase java donde compongo el mensaje, quedando del tipo:

try{
MimeMessage msg = new MimeMessage(session);
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
msg.setSubject(subject);
msg.setFrom(new InternetAddress(from,"Remitente del mensaje"));

if ("".equals(fileAttach))//NO HAY ADJUNTO, SOLOTEXTO
msg.setText(text);
}else{//SI HAY ADJUNTO(FICHERO+ TEXTO DEL MENSAJE
// CREAMOS LAS PARTES DEL MENSAJE
BodyPart messageBodyPart = new MimeBodyPart();
FileDataSource fs = null;
MimeMultipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);

// SEGUNDA PARTE. (FICHERO ADJUNTO)
fs = new FileDataSource(fileAttach);
messageBodyPart.setDataHandler(new DataHandler(fs));
messageBodyPart.setFileName(fs.getName());

// RELLENAMOS EL MENSAJE (TEXTO DEL MESAJE)
messageBodyPart.setText(text);
multipart.addBodyPart(messageBodyPart);

// PONEMOS LAS PARTES EN EL MENSAJE
msg.setContent(multipart);
}
return msg;
}

Este es el metodo que crea el mensaje y lo devuelve a un metodo principal que lo envia.

El problema es que me lo envia (el correo) y el fichero adjunto lo manda dos veces, pero con el contenido de "text" que es el texto del correo que mando.
A ver si alguien puede ayudarme gracias.