PDA

Ver la Versión Completa : Enviar adjunto por mail


joel20
07-07-2006, 14:24:38
Hola buenas, utilizo java studio creator 2 update 1, y necesito enviar un mail con un archivo adjunto, enviar un mail con texto se hacerlo el problema es si puedo enviar algun archivo de texto por ejemplo.
Alquien me puede ayudar?
Gracias

dec
08-07-2006, 03:49:54
Hola,

Tras buscar un poco en Google (http://www.google.es/search?hl=es&q=send+email+attachment+with+java) he dado con esta página (http://www.jguru.com/faq/view.jsp?EID=30251) que no sé si te servirá (utiliza una determinada clase que no sé si usas tú) pero, parece justo lo que necesitas. ;)

joel20
10-07-2006, 11:19:38
Gracias dec, es mas o menos lo que buscaba pero no consigo hacerlo funcionar, tu lo has probado?

joel20
10-07-2006, 14:09:38
Ya esta ya funciona, por si alguien le interesa:


try
{

Properties props = new Properties();
props.put("mail.smtp.host",host);

Session s = Session.getInstance(props,null);

MimeMessage message = new MimeMessage(s);

InternetAddress fromIA = new InternetAddress(from);
message.setFrom(fromIA);

message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);

MimeMultipart mp = new MimeMultipart();
mp.setSubType("related");

//Dividim en dos el mail, mbp1 es el text i mbp2 es l'adjunt
MimeBodyPart mbp1= new MimeBodyPart();
mbp1.setText("Aqui possem el text");

MimeBodyPart mbp2 = new MimeBodyPart();
FileDataSource fds = new FileDataSource(archivo);

mbp2.setDataHandler(new DataHandler(fds));
mbp2.setFileName(fds.getName());
mp.addBodyPart(mbp1);
mp.addBodyPart(mbp2);

message.setContent(mp);
message.setSentDate(new java.util.Date());
Transport.send(message);

}catch (Exception e){
log("Application ERROR: problem sending an email: "+e.getMessage());
}