Hola, bueno les cuento mi problema.. Estoy haciendo un programa que se conecta a gmail y lee los mails de mi cuenta. El tema es el siguiente.. yo hice un bucle infinito para que conecte y lea los mensajes nuevos permanentemente.
El problema es que de tantas veces que me conecto a la cuenta.. en un momento me dice un error de que mi id o contraseña son invalidos.. y tengo que esperar unos minutos para poderme conectar de nuevo.
Alguien sabe como puedo hacer para que no me pase eso?
El codigo es este:
Código:
public void Mail()
{
// Se obtiene la Session
Properties prop = new Properties();
prop.setProperty("mail.pop3.starttls.enable", "false");
prop.setProperty(
"mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
prop.setProperty("mail.pop3.socketFactory.fallback", "false");
prop.setProperty("mail.pop3.port", "995");
prop.setProperty("mail.pop3.socketFactory.port", "995");
Session sesion = Session.getInstance(prop);
// sesion.setDebug(true);
try
{
// Se obtiene el Store y el Folder, para poder leer el
// correo.
Store store = sesion.getStore("pop3");
store.connect(
"pop.gmail.com", "[email protected]", "XXXXXXX");
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
// Se obtienen los mensajes.
Message[] mensajes = folder.getMessages();
// Se escribe from y subject de cada mensaje
for (int i = 0; i < mensajes.length; i++)
{
System.out.println(
"From:" + mensajes[i].getFrom()[0].toString());
System.out.println("Subject:" + mensajes[i].getSubject());
// Se visualiza, si se sabe como, el contenido de cada mensaje
analizaParteDeMensaje(mensajes[i]);
}
folder.close(false);
store.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
Y desde la clase main hago esto:
Código:
for(int i = 0; i > -1; i++){
a1.Mail();
}
Espero que puedan ayudarme. Gracias.