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

[SOLUCIONADO] No me conecta (mailJava)

Estas en el tema de No me conecta (mailJava) en el foro de Java en Foros del Web. ¿Alguien puede decirme que esta mal? Me salta a la catch en le momento de conectar a la cuenta de gmail. Previamente importe la libreria ...
  #1 (permalink)  
Antiguo 09/01/2016, 17:03
 
Fecha de Ingreso: abril-2015
Ubicación: Vía Láctea
Mensajes: 14
Antigüedad: 9 años, 8 meses
Puntos: 1
No me conecta (mailJava)

¿Alguien puede decirme que esta mal? Me salta a la catch en le momento de conectar a la cuenta de gmail.

Previamente importe la libreria 'mail.jar'.
También tengo la clase 'Correo.java' donde construyo el nuevo correo.


Código:
// USE ESTOS IMPORT
import javax.mail.Transport;
import java.util.Properties;
import javax.mail.Session;
import javax.mail.BodyPart;
import javax.mail.internet.MimeBodyPart;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.InternetAddress;
import javax.mail.Message;
import controlador.bean.Correo;





Correo c= new Correo();

    enviarCorreo();
 
    public boolean enviarCorreo() {
        c.setContrasenia("123412341234");
        c.setUsuarioCorreo("[email protected]");
        c.setAsunto("Tienes una nueva cita");
        c.setMensaje("¡Tienes una cita nueva!");
        c.setDestino("[email protected]");
        c.setNombreArchivo("");
        c.setRutaArchivo("");
        
        try{
            Properties p = new Properties();
            p.put("mail.smtp.host", "smtp.gmail.com");
            p.setProperty("mail.smtp.starttls.enable", "true");
            p.setProperty("mail.smtp.port", "587");
            p.setProperty("mail.smtp.user", c.getUsuarioCorreo());
            p.setProperty("mail.smtp.auth", "true");
            
            Session s = Session.getDefaultInstance(p, null);
            BodyPart texto = new MimeBodyPart();
            texto.setText(c.getMensaje());
            BodyPart adjunto = new MimeBodyPart();
            
            if(!c.getRutaArchivo().equals("")){
                adjunto.setDataHandler(new DataHandler(new FileDataSource(c.getRutaArchivo())));
                adjunto.setFileName(c.getNombreArchivo());
            }
            MimeMultipart m = new MimeMultipart();
            m.addBodyPart(texto);
            
            if(!c.getRutaArchivo().equals("")){
                m.addBodyPart(adjunto);
            }
            MimeMessage mensaje = new MimeMessage(s);
            mensaje.setFrom(new InternetAddress(c.getUsuarioCorreo()));
            mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(c.getDestino()));
            mensaje.setSubject(c.getAsunto());
            mensaje.setContent(m);
            
            Transport t = s.getTransport("smtp");
            t.connect(c.getUsuarioCorreo(), c.getContrasenia()); // EEEEERRROOOOOOOOR
            t.sendMessage(mensaje, mensaje.getAllRecipients());
            t.close();
            return true;    
        }catch(Exception e){
            
            return false;
        }
        
    }


SALUDDOOoS!!

Última edición por diego92; 09/01/2016 a las 17:17
  #2 (permalink)  
Antiguo 10/01/2016, 10:31
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 2 meses
Puntos: 454
Respuesta: No me conecta (mailJava)

Hola:

Ayudaría si dijeras qué excepción en concreto salta. En un catch, sobre todo para depurar, es importante sacar de alguna forma la excepción, para tener una pista de qué es lo que está fallando. Un return false no da ninguna información y el error puede ser cualquiera (usuario y password incorrecto, que no hay conexión con el servidor de correo, que te falta añadir algún jar necesario en runtime, que pasas un parámetro incorrecto a algún método, que .....

Por supuesto, la línea exacta en la que salta la excepción también es importante, la misma excepción te dice esa línea.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 11/01/2016, 02:15
 
Fecha de Ingreso: abril-2015
Ubicación: Vía Láctea
Mensajes: 14
Antigüedad: 9 años, 8 meses
Puntos: 1
Respuesta: No me conecta (mailJava)

Usando un "printStackTrace();" me pone lo siguiente:

e = (javax.mail.AuthenticationFailedException) javax.mail.AuthenticationFailedException: 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbtnZ
534-5.7.14 2hh05i_wQ2l0Aplo1gg-SldX-LHKzkL2WXRYCOjGfoJ-67MTZlEDm_bAFAWRhH4qe4HklO
534-5.7.14 E03dqi_C1lfTXeJIcgnkDsm0H5gBjIJXRuavJjG9dHwjg3CVrj W9ql1FWQcSOv5svftryW
534-5.7.14 0ArE8ltGwYuEK4P-je_eSnGk4SSvJ2vsJ2cqdukGkugOYkaNH6hvU8egOGrJ7KQKeW Ft2X
534-5.7.14 KyEjNpRXco_j1RJJ7fRgjQVLQ4Wg> Please log in via your web browser and
534-5.7.14 then try again.
534-5.7.14 Learn more at
534 5.7.14 https://support.google.com/mail/answer/78754 di6sm56032872wjb.12 - gsmtp
  #4 (permalink)  
Antiguo 11/01/2016, 03:17
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 2 meses
Puntos: 454
Respuesta: No me conecta (mailJava)

Hola:

Pues parece problemas de permisos. Verifica que el usuario/password es correcto.

También, en tu cuenta de gmail hay un sitio para "habiltiar" el acceso a través de pop/snmp en remoto, verifica que está habilitado. En la configuración tienes una pestaña Reenvio y correo POP/IMAP

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 11/01/2016, 04:40
 
Fecha de Ingreso: abril-2015
Ubicación: Vía Láctea
Mensajes: 14
Antigüedad: 9 años, 8 meses
Puntos: 1
Respuesta: No me conecta (mailJava)

Solo me faltaba activar aplicaciones menos seguras de google:
https://www.google.com/settings/security/lesssecureapps

Muchas gracias por la ayuda

Etiquetas: clase, conecta
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 08:31.