Este método proporciona el número de mensajes de correo electrónico en la bandeja de entrada.Pero me da que esta excepción :

javax.mail.MessagingException: Connect failed;
 nested exception is:
java.net.ConnectException: Connection timed out: connecterror

 Session session = Session.getInstance(new Properties());
    try {
        Store store  = session.getStore("pop3");
        store.connect("pop.gmail.com" , "username" , "password");
        Folder fldr = store.getFolder("INBOX");
        fldr.open(Folder.READ_WRITE);
        int count = fldr.getMessageCount();
        System.out.println(count);
    } catch(Exception exc) {
        System.out.println(exc + "error");
    }    
  • gmail, pop3 del servicio es a través de tls/ssl (puerto 995) no es el estándar de 110 llanura tcp puedes querer comprobar que
  • ratchet freak entonces, ¿qué debo agregar que en mi código ?
  • verificar java-tips.org/other-api-tips/javamail/… se conecta con gmail, en particular, establece algunas configuraciones y usos URLName especificar
  • Qué ocurre sólo en la producción o incluso en un equipo sin un firewall?
  • resolver mediante Suhail Gupta;s respuesta ?
InformationsquelleAutor saplingPro | 2011-07-23

4 Comentarios

  1. 3

    Intente esto :

    Properties props = new Properties();
    props.put("mail.pop3.host" , "pop.gmail.com");
    props.put("mail.pop3.user" , "username");
    //Start SSL connection
    props.put("mail.pop3.socketFactory" , 995 );
    props.put("mail.pop3.socketFactory.class" , "javax.net.ssl.SSLSocketFactory" );
    props.put("mail.pop3.port" , 995);
    
    Session session = Session.getDefaultInstance(props , new Authenticator() {
        @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication( "username" , "password");
                }
    });
    try {
        Store store  = session.getStore("pop3");
        store.connect("pop.gmail.com" , "username" , "password");
        Folder fldr = store.getFolder("INBOX");
        fldr.open(Folder.HOLDS_MESSAGES);
        int count = fldr.getMessageCount();
        System.out.println(count);
    } catch(Exception exc) {
        System.out.println(exc + " error");
    }

    También visita esta pregunta

    • Hola yo estoy haciendo javax.correo.AuthenticationFailedException: EF en el zócalo
    • Sugiere que usted está usando incorrecta del nombre de usuario y contraseña. Puede producirse un error si se utiliza un doble autenticación en google. Usted tendrá que registrar la aplicación con google(En el caso de utilizar la doble autenticación)
  2. 3

    Probablemente debido a que el servidor se niega a conectarse.

    Intente conectar de «telnet». Una vez que usted puede conectar a todos, entonces usted debería ser capaz de conectarse desde el programa de Java.

    Aquí están algunas sugerencias de solución de problemas:

    • y ¿cómo puedo hacer esto ?
    • Puedo estar equivocado, pero no creo que Gmail acepta una conexión telnet
    • que hacen; las páginas de soporte de decirle a hacer un telnet prueba para comprobar una bloqueado el puerto tcp 995
  3. 1

    Intente cambiar

    store.connect("pop.gmail.com" , "username" , "password");

    a

    store.connect("pop.gmail.com" , 995, "username" , "password");

    Descargo de responsabilidad: no he probado este.

    Gmail requiere de una conexión SSL segura, y tal vez javax.correo.El servicio no es siempre que. Creo que la explicación más probable, sin embargo, es que, simplemente, no se conecta a la derecha del puerto, por lo que he especificado de forma explícita el número de puerto correcto de Gmail, el servicio POP3.

    • Esta es la excepción informó entonces : javax.mail.AuthenticationFailedException: EOF on socketerror

Dejar respuesta

Please enter your comment!
Please enter your name here