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;
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;
TotalMails:=idpop3.CheckMessages;
if TotalMails>0 then 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;
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 if (idMessage.MessageParts.Items[i] is TIdAttachmentFile) then
begin
FileAdjunto := TIdAttachmentFile(idMessage.MessageParts.Items[i]).FileName;
if FileExists(ExtractFilePath(ParamStr(0))+FileAdjunto) then
DeleteFile(ExtractFilePath(ParamStr(0))+FileAdjunto);
TIdAttachmentFile( idMessage.MessageParts.Items[i] ).SaveToFile(ExtractFilePath(ParamStr(0))+FileAdjunto );
slAdjuntos.Add(FileAdjunto);
end
end;
idMessage.Clear;
end; Lectura := True;
Saluditos