Ver Mensaje Individual
  #1  
Antiguo 27-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
Problemas con la lectura de correos

Hola a todos

Tengo un problema al leer correos con Indy de una cuenta de Gmail, resulta que hice mis pruebas en mi maquina y otras funciona todo bien, pero en las maquinas del cliente no y la veradad nose que puede ser.

Este es mi codigo:

Código Delphi [-]
  Lectura := False;
  slCuerpo.Clear;
  Try
    if IdPOP3.Connected then
     IdPOP3.Disconnect;
    idPOP3.Connect;
 
    //Obtenemos el numero de emails que tenemos
    TotalMails:=idpop3.CheckMessages;
 
    //Recuperamos todas las cabeceras de los mensajes nuevos
    if TotalMails>0 then  //Solo leeremos un email a la vez
     begin
      idpop3.RetrieveHeader(1,idMessage);
      De := idMessage.From.Text;
      Tema := idMessage.Subject;
 
      AddLog('Se ha recibido un email de '+De+' con asunto'+Tema);
      //Recuperamos el cuerpo 
      idpop3.Retrieve(1, idMessage);
      For i:=0 to idMessage.MessageParts.Count - 1 do
       begin
        if (idMessage.MessageParts.Items[i] is TIdText) then
         begin
          slCuerpo.AddStrings(TIdText(idMessage.MessageParts.Items[i]).Body);
          contenido := True;
         end
        else //Si hubiera archivos adjuntos
         if (idMessage.MessageParts.Items[i] is TIdAttachmentFile) then
          begin
           // Nombre del archivo adjunto
           FileAdjunto := TIdAttachmentFile(idMessage.MessageParts.Items[i]).FileName;
           if FileExists(ExtractFilePath(ParamStr(0))+FileAdjunto) then
             DeleteFile(ExtractFilePath(ParamStr(0))+FileAdjunto);
           // Guardamos el archivo adjunto y lo añadimos a la lista de adjuntos
           TIdAttachmentFile( idMessage.MessageParts.Items[i] ).SaveToFile(ExtractFilePath(ParamStr(0))+FileAdjunto);
           slAdjuntos.Add(FileAdjunto);
          end;
       end;//for
      idMessage.Clear;
     end; //if
    Lectura := True;
  except   
    AddLog('No se ha podido conectar con el servidor POP.');
  end;

En mi archivo Log aparece muchas veces "No se ha podido conectar con el servidor POP." , osea que ha habido problemas al leer el correo, pense que era problema de la bliblioteca OpenSSL, pero no, he probado con la ultima versión y nada, el problema sigue, despues pense que era problema de conexion o que el puerto estaba bloqueado, pero nada, despues de hacer pruebas resulta que si lee algunas veces y me guarda en BD, pero la mayoría de las veces no le y se sigue guardando "No se ha podido conectar con el servidor POP" en mi archivo Log.

Esto solo ocurre con las maquinas del cliente, en las otras que yo he probado, no he tenido ningún problema me lee los correos, la unica ves que vi que no lo hizo fue porque la conexión a Internet se me ha desconectado, pero despues todo bien.

Debi haber añadido el mensaje de error en mi excepción, pero se me ha ido, con esto de las exepciones no soy muy buena.

¿Mi pregunta, que creen que pueda estar pasando, que mas puedo probar, me pueden ayudar por favor, por favor?

Nota.- Voy a continuar mi mensaje abajo.

Saluditos y muchísimas gracias por adelantado
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 27-03-2009 a las 15:50:14.
Responder Con Cita