entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

-4votos

Archivos Adjuntos JavaMail

Que tal Compañeros alguien me ayude com mandar archivos adjuntos con javamail ?

1voto

carlossevi comentado

¡Claro que sí! Aquí tienes un enlace a la página de referencia de JavaMail API en su versión de código abierto.

En el apartado de ejemplo hay un paquete zip descagable con un montón de ficheros de ejemplo, entre ellos uno llamado sendfile.java que contiene un ejemplo de envío de email con archivo adjunto.

Si necesitas más ayuda, publica una duda o pregunta más concreta a ser posible poniendo la parte de código con la que tienes problemas.

0voto

bl4z3r comentado

@carlossevi respondiste con ironía pero te se entender.

0voto

vianey comentado

Muchimas gracias por el link algun ejemplo de mandar archivos adjuntos con javamail pero desde una aplicacion web jsp?

0voto

bl4z3r comentado

¿Has buscando en Google con anterioridad?

Yo encontré estos resultados sin mucha dificultad: Búsqueda de "javamail web jsp" en Google

0voto

vianey comentado

si claro hermano ya e estado buscando mucho hace dos dias y la verdad no encuentro bien lo q necesito por eso pregunto por aqui igual gracias por tu respuesta

-1voto

vianey comentado

De hecho ya envio correos normal pero los archivos adjuntos no los envia :( este es mi codigo :

- public boolean enviarEmail(String para, String asunto, String mensaje, String identificacion, String clave, String archivo ) throws Exception, IOException, ClassNotFoundException {
-         boolean enviado = false;
-         try {
-             String host = "smtp.gmail.com";
-             Properties prop = System.getProperties();
-             prop.put("mail.smtp.starttls.enable", "true");
-             prop.put("mail.smtp.host", host);
-             prop.put("mail.smtp.user", identificacion);
-             prop.put("mail.smtp.password", clave);
-             prop.put("mail.smtp.port", 587);
-             prop.put("mail.smtp.auth", "true");
-             Session sesion = Session.getDefaultInstance(prop, null);
-             MimeMessage message = new MimeMessage(sesion);
-             message.setFrom(new InternetAddress(identificacion));
-             
-             //clase para construir un mensaje con archivos adjuntos
-             BodyPart texto = new MimeBodyPart();
-             texto.setText(mensaje);
-             BodyPart adjunto = new MimeBodyPart();
-             adjunto.setDataHandler(new DataHandler(new FileDataSource(archivo)));
-             //Ahora juntamos ambas en una sola parte que luego debemos añadir al mensaje
-             MimeMultipart multiParte = new MimeMultipart();
-             multiParte.addBodyPart(texto);
-             multiParte.addBodyPart(adjunto);
- 
-   
-             message.setRecipient(Message.RecipientType.TO, new InternetAddress(para));
-             message.setSubject(asunto);
-             message.setContent(multiParte);
-             message.setText(mensaje);
-             Transport transport = sesion.getTransport("smtp");
-             transport.connect(host, identificacion, clave);
-             transport.sendMessage(message, message.getAllRecipients());
-             transport.close();
-             enviado = true;
-         } catch (Exception e) {
-             throw e;
-         }
-         return enviado;
-     }
- }

1voto

carlossevi comentado

Por favor, edita tu comentario y formatea correctamente el código (botones superiores de la caja de comentarios).

1 Respuesta

1voto

MitsuGami Puntos8010

Te dejo un ejemplo básico:

// Crea el BodyPart, es similar a los Part de una petición multipart/form-data
BodyPart messageBodyPart = new MimeBodyPart();
// Cuerpo del ensaje
messageBodyPart.setText("Cuerpo del mensaje...");
// Crea un objeto MultiPart que te permitirá añadir paquetes part
Multipart multipart = new MimeMultipart();

// Añade el cuerpo del mensaje al multipart
multipart.addBodyPart(messageBodyPart);

messageBodyPart = new MimeBodyPart();
String filename = "/ruta/al/archivo";
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);
// agregas el adjunto al mensaje
multipart.addBodyPart(messageBodyPart);

// Agregas al mensaje los multipart del adjunto
message.setContent(multipart);
// Y envías el mensaje por un Transport
Transport.send(message);

PD: Si no encuentras en español, busca en inglés.

-1voto

vianey comentado

Alguien que me diga que estoy haciendo mal para adjuntar un archivo.... porfavor... lso mensajes de correos si llegan.... pero no el archivo adjunto. pongo el codigo fuente :

-** 
- 1. 
- 1. - - 
- 1. - - public boolean enviarEmail(String de, String userName, String clave, String para, String asunto, String mensaje, String filename) throws Exception, IOException, ClassNotFoundException {
- 1. - -         boolean enviado = false;
- 1. - -         try {
- 1. - -             String host = "smtp.gmail.com";
- 1. - -             Properties prop = System.getProperties();
- 1. - -             prop.put("mail.smtp.starttls.enable", "true");
- 1. - -             prop.put("mail.smtp.host", host);
- 1. - -             prop.put("mail.smtp.auth", "true");
- 1. - -             prop.put("mail.smtp.port", "465");
- 1. - -             prop.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
- 1. - -             prop.put("mail.smtp.socketFactory.port", "465");
- 1. - -             prop.put("mail.smtp.socketFactory.fallback", "false");
- 1. - - 
- 1. - -             Session sesion = Session.getDefaultInstance(prop, null);
- 1. - -             sesion.setDebug(true);
- 1. - -             MimeMessage message = new MimeMessage(sesion);
- 1. - - 
- 1. - -             /*INICIO ARCHIVOS ADJUNTOS*/
- 1. - -             // Crea el BodyPart, es similar a los Part de una petición multipart/form-data
- 1. - -             BodyPart messageBodyPart = new MimeBodyPart();
- 1. - -             // Cuerpo del mensaje
- 1. - -             messageBodyPart.setText(mensaje);
- 1. - -             // Crea un objeto MultiPart que te permitirá añadir paquetes part
- 1. - -             Multipart multipart = new MimeMultipart();
- 1. - -             // Añade el cuerpo del mensaje al multipart
- 1. - -             multipart.addBodyPart(messageBodyPart);
- 1. - -             messageBodyPart = new MimeBodyPart();
- 1. - -             DataSource source = new FileDataSource(filename);
- 1. - -             messageBodyPart.setDataHandler(new DataHandler(source));
- 1. - -             messageBodyPart.setFileName(filename);
- 1. - -             // agregas el adjunto al mensaje
- 1. - -             multipart.addBodyPart(messageBodyPart);
- 1. - -             /*FIN ARCHIVO ADJUNTOS*/
- 1. - - 
- 1. - -             message.setFrom(new InternetAddress(de));
- 1. - -             message.setRecipient(Message.RecipientType.TO, new InternetAddress(para));
- 1. - -             message.setSubject(asunto);
- 1. - -             message.setContent(multipart);/*para archivos adjuntos*/
- 1. - -             message.setContent(mensaje, "text/html");
- 1. - - 
- 1. - -             Transport transport = sesion.getTransport("smtp");
- 1. - -             transport.connect(host, de, clave);
- 1. - -             transport.sendMessage(message, message.getAllRecipients());
- 1. - -             transport.close();
- 1. - -             enviado = true;
- 1. - -         } catch (Exception e) {
- 1. - -             throw e;
- 1. - -         }
- 1. - -         return enviado;
- 1. - -     }
- 1. - - }**

1voto

bl4z3r comentado

@vianey lee las normas del sitio y de como realizar y formatear la pregunta. Deberías haber editado tu pregunta original.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta