Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda enviar correo en java clase SimpleEmail de Apache

Estas en el tema de Ayuda enviar correo en java clase SimpleEmail de Apache en el foro de Java en Foros del Web. Buenas, estoy realizando un metodo el cual me envie un correo cuando se cumpla una condicion, el metodo es el siguiente: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Java: ...
  #1 (permalink)  
Antiguo 28/05/2010, 04:18
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años
Puntos: 4
Ayuda enviar correo en java clase SimpleEmail de Apache

Buenas, estoy realizando un metodo el cual me envie un correo cuando se cumpla una condicion, el metodo es el siguiente:

Código Java:
Ver original
  1. void sendmail(){
  2.         try{
  3.             SimpleEmail email = new SimpleEmail();
  4.             email.setHostName("smtp.gmail.com");
  5.             email.setSmtpPort(465);
  6.             email.setFrom("[email protected]");
  7.             email.setAuthentication("[email protected]", "contraseña");
  8.             email.addTo("[email protected]");
  9.             email.setSubject("Confirmación de realización de backups en red .");
  10.             email.setMsg("Las backups se han enviado correctamente al servidor FTP, que pase un buen dia.");
  11.            
  12.            
  13.             //email.setSmtpPort(587);
  14.             email.send();
  15.  
  16.  
  17.         }catch(Exception e){
  18.             System.out.println(e.getMessage());
  19.         } // FIN catch
  20.     } // FIN sendmail

Tengo importado el paquete mail de apache y el paquete mail de sun, el problema es que cuando llamo al metodo me dice que el servidor ha fallado y es que e mirado bien todo y el servidor smtp es el correcto, el puerto tambien es el correcto y nose que puede ser ya, estoy desesperado y lo tengo que entregar en breve, necesito vuestra ayuda.
Un saludo.
  #2 (permalink)  
Antiguo 28/05/2010, 09:54
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años
Puntos: 4
Respuesta: Ayuda enviar correo en java clase SimpleEmail de Apache

Ayudenme por favor lo necesito.
  #3 (permalink)  
Antiguo 28/05/2010, 10:20
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Ayuda enviar correo en java clase SimpleEmail de Apache

hola.

el puerto de envío es 587
Necesitas además decirle que use starttls

http://www.chuidiang.com/java/herram...o-javamail.php

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 28/05/2010, 17:59
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años
Puntos: 4
Respuesta: Ayuda enviar correo en java clase SimpleEmail de Apache

No soy capaz de hacerlo funcionar, me sigue dando el mismo error que digo, os dejo aqui puesto el error que me da.
Código Java error:
Ver original
  1. Exception in thread "main" org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.correo.yahoo.com:25
  2.     at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242)
  3.     at org.apache.commons.mail.Email.send(Email.java:1267)
  4.     at Prueba.sendEmail(Prueba.java:27)
  5.     at Prueba.main(Prueba.java:11)
  6. Caused by: javax.mail.NoSuchProviderException: smtp
  7.     at javax.mail.Session.getService(Session.java:780)
  8.     at javax.mail.Session.getTransport(Session.java:716)
  9.     at javax.mail.Session.getTransport(Session.java:656)
  10.     at javax.mail.Session.getTransport(Session.java:636)
  11.     at javax.mail.Session.getTransport(Session.java:693)
  12.     at javax.mail.Transport.send0(Transport.java:188)
  13.     at javax.mail.Transport.send(Transport.java:120)
  14.     at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232)
  15.     ... 3 more

Aqui os dejo el nuevo codigo que utilizo para el envio de correo:
Código Java:
Ver original
  1. void sendEmail()throws Exception{
  2.         SimpleEmail ma = new SimpleEmail();
  3.         ma.setHostName("smtp.correo.yahoo.com");
  4.         ma.setSSL(true);
  5.         ma.setSslSmtpPort("465");
  6.         //ma.setSmtpPort(587);
  7.         ma.setAuthentication("usuario", "contraseña");
  8.         ma.addTo("[email protected]");
  9.         ma.setFrom("[email protected]");
  10.         ma.setSubject("Aviso copia de seguridad");
  11.        
  12.         ma.setMsg("Las backups se han enviado correctamente al servidor FTP, que pase un buen dia.");
  13.         ma.send();
  14.  
  15.     } // FIN sendEmail

Necesito ayuda de verdad por favor.
Un saludo.
  #5 (permalink)  
Antiguo 28/05/2010, 22:52
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Ayuda enviar correo en java clase SimpleEmail de Apache

No creo que exista "smtp.correo.yahoo.com", con la palabra correo entre medias. Prueba con smtp.yahoo.com

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #6 (permalink)  
Antiguo 29/05/2010, 02:49
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años
Puntos: 4
Respuesta: Ayuda enviar correo en java clase SimpleEmail de Apache

Cita:
Iniciado por chuidiang Ver Mensaje
No creo que exista "smtp.correo.yahoo.com", con la palabra correo entre medias. Prueba con smtp.yahoo.com

Se bueno.
Con smtp.yahoo.com me dice lo mismo, e probado con yahoo.es y tambien me dice lo mismo nose qe acer ya, me toi volviendo loco.
  #7 (permalink)  
Antiguo 29/05/2010, 04:14
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Ayuda enviar correo en java clase SimpleEmail de Apache

con yahoo no lo sé, pero con gmail es necesario decirle a gmail (desde www.gmail.com) que habilite los clientes pop y smtp. ¿Lo has hecho?

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #8 (permalink)  
Antiguo 29/05/2010, 06:21
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años
Puntos: 4
Respuesta: Ayuda enviar correo en java clase SimpleEmail de Apache

Cita:
Iniciado por chuidiang Ver Mensaje
con yahoo no lo sé, pero con gmail es necesario decirle a gmail (desde [url]www.gmail.com[/url]) que habilite los clientes pop y smtp. ¿Lo has hecho?

Se bueno.
Me podrias decir como puedo habilitar lo qe me estas diciendo?xqe solo veo el habilitar el servidor POP y me sige diciendo lo mismo.
  #9 (permalink)  
Antiguo 29/05/2010, 20:52
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años
Puntos: 4
Respuesta: Ayuda enviar correo en java clase SimpleEmail de Apache

Ayudadme por favor.
  #10 (permalink)  
Antiguo 29/05/2010, 22:53
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Ayuda enviar correo en java clase SimpleEmail de Apache

Lo siento, no tengo cuenta de yahoo. De todas formas, revisa bien los parámetros que pones, puesto que con lo de gmail equivocaste el puerto y te faltaba el starttsl, luego pasaste a yahoo ¿qué pasó con gmail?

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #11 (permalink)  
Antiguo 30/05/2010, 05:20
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años
Puntos: 4
Respuesta: Ayuda enviar correo en java clase SimpleEmail de Apache

Tema solucionado, me faltaban unas librerias por importar.
Muxas gracias por la ayuda chuidiang, me sirvio de muxo.
Un saludo.

PD: pueden cerrar el tema ya que esta solucionado.

Etiquetas: apache, clase, correo, enviar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:18.