Ver Mensaje Individual
  #5  
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
Mil gracias por responder amiguito, estoy de acuerdo con el exit, entonces mi código quedaría así y la execpción que engloba las demas ya no sería necesarío verdad.

Código Delphi [-]
  Lectura := False;
  slCuerpo.Clear;
  //Try Esta ya no es necesario
    //Nos conectamos
    if IdPOP3.Connected then
     IdPOP3.Disconnect;
    Try
     idPOP3.Connect;
    except
     On Error: Exception Do begin
      AddLog('No se ha podido conectar con el servidor POP. Error: ' + Error.message);
      exit;
     begin
    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 begin
        AddLog('No se ha podido leer el Header del correo. Error: ' + Error.message);
        exit;
       end;
      end;
      De := idMessage.From.Text;
      Tema := idMessage.Subject;
 
      //Recuperamos el contenido
      Try
       idpop3.Retrieve(1, idMessage);
      Except
       On Error: Exception Do begin
        AddLog('No se ha podido leer el correo. Error: ' + Error.message);
        exit;
       end;
      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         //Esto ya no es necesario
   On Error: Exception Do
      AddLog('Ha ocurrido un error. Error: ' + Error.message);
  end;}

Saluditos
__________________
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