Se me olvidaba comentar que he reducido el codigo para hacer las pruebas, se ha quedado en esto:
Código Delphi
[-]
IdMessage1.ClearBody;
IdMessage1.Body.Text:='Un saludo.';
idmessage1.Recipients.EMailAddresses:=DESTINATARIO;
IdMessage1.Subject:='asunto';
IdMessage1.Priority:=MpNormal;
IdMessage1.From.Text:=REMITENTE;
TIdAttachmentfile.create(IdMessage1.MessageParts,ARCHIVO);
try
IdSMTP1.Connect;
try
IdSMTP1.Send(IdMessage1);
Finally
IdSMTP1.Disconnect;
end;
showmessage('Se envio el mensaje correctamente');
Except
ShowMessage('Fallo en el envio de email');
End;
If IdSMTP1.Connected Then IdSMTP1.Disconnect;