El codigo que te pongo a continucion lo he sacado del foro, lo he probado y me funciona bien. Espero que te sirva.
Bueno un pequeño problema da, que cuando envias un email a una direccion hotmail, este correo te lo coloca directamente en la carpeta de mensajes no deseados.
Código:
with idMessage do begin
// Cuerpo del mensaje.
Body.Clear;
Body.Add('Aqui añades el cuerpo del mensaje');
// Cuenta Origen.
From.Text := 'urbano@atm-informatica.com';
// Cuenta Destino.
Recipients.EMailAddresses := 'PRUEBAATM@terra.es';
// Asunto del email.
Subject := 'prueba';
// Prioridad del mensaje, ALTA.
Priority := TidMessagePriority(mpHighest);
// Coloco el archivo adjunto el cual enviar.
//TidAttachment.Create(idMensage.MessageParts,ARCHIVOADJUNTO);
end;
with idSMTP do begin
// Configuro autentificación.
AuthenticationType := atLogin;
Username := 'urbano@atm-informatica.com'; // Nombre del usuario
Password := 'atmurb'; // la password
// Configuro el servidor SMTP.
Host := 'mail.atm-informatica.com';
Port := 25;
try
Connect;
try
// Envio el mensaje.
Send(IdMessage);
finally
Disconnect;
end;
showmessage('Enviado Correctamente');
except
// Capturo algunas excepciones que pueden ocurrir
ON E: EIdProtocolReplyError do begin
showmessage('No se ha podido enviar el email.' + #13 +
'Incorrecto el email o el usuario o la password.');
end;
on E: EFOpenError do begin
showmessage('No se ha podido enviar el email.' + #13 +
'Fichero Adjunto desconocido o erróneo.');
end;
on E: EIdSocketError do begin
showmessage('No se ha podido enviar el email.'+ #13 +
'Host desconocido o incorrecto.');
end
else begin
showmessage('Fallo en el envio de email');
raise;//para que muestre el error.
end;
end;
if connected then Disconnect;
end;
Saludos.