Ver Mensaje Individual
  #2  
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
Continuando..........

Lo ultimo que hice y que no he probado todavía en las maquinas del cliente, es aumentar mas excepciones y guardarme el error, me gustaría que por favor me lo revisen para decirme si he puesto bien mis excepciones por favor.

Código Delphi [-]
  Lectura := False;
  slCuerpo.Clear;
  Try
    //Nos conectamos
    if IdPOP3.Connected then
     IdPOP3.Disconnect;
    Try
     idPOP3.Connect;
    except
     On Error: Exception Do
      AddLog('No se ha podido conectar con el servidor POP. Error: ' + Error.message);
    end;
 
    //Obtenemos el numero de emails que tenemos
    TotalMails:=idpop3.CheckMessages;
 
    //Recuperamos todas la cabeceraa del mensaje nuevo
    if TotalMails>0 then  //solo leeremos un email a la vez
     begin
      Try
       idpop3.RetrieveHeader(1,idMessage);
       AddLog('Se ha recibido un email de '+De+' con asunto '+Tema);
      except
       On Error: Exception Do
        AddLog('No se ha podido leer el Header del correo. Error: ' + Error.message);
      end;
      De := idMessage.From.Text;
      Tema := idMessage.Subject;
 
      //Recuperamos el contenido
      Try
       idpop3.Retrieve(1, idMessage);
      Except
       On Error: Exception Do
        AddLog('No se ha podido leer el correo. Error: ' + Error.message);
      end;
 
      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
   On Error: Exception Do
      AddLog('Ha ocurrido un error. Error: ' + Error.message);
  end;

Saluditos y muchas gracias de nuevo
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita