Hola Unko! Te voy a explicar lo que yo hice, me funcionó muy bien... aviso q lo hice con Delphi 5, no se si funcionará con versiones posteriores...
1) Bajé e instalé las Indy 9 (trate de hacerlo con las 10 pero me daba un error en la instalación; no instalaba todos los componentes).
2) Ya en el form, lo más básico q habría q tener sería:
- Edits para la dirección del Host y la de la cuenta q vas a usar para mandar el correo
- Edits para la dirección de destino y para el asunto
- Botón "Enviar" y Memo para el mensaje
- Componentes Indy:
TIdSMTP (pestaña Indy Clients) y
TIdMessage (pestaña Indy Misc). Al primero le pasamos los datos de la conexión, al segundo los datos del mensaje.
3) El código del botón
"Enviar" tendría q tener esto...
Código Delphi
[-]procedure TMandaMail_Form.SpeedButton1Click(Sender: TObject);
begin
idsmtp1.Host:=editHost.Text;
idsmtp1.Port:=25;
idmessage1.From.Address:=editDesde.Text;
idmessage1.Recipients.EMailAddresses:=editPara.Text;
idmessage1.Subject:=editAsunto.Text;
idmessage1.Body.Text:=memoCuerpo.Text;
try
try
idSMTP1.Connect(1000);
idSMTP1.Send(idmessage1);
except on E:Exception do Showmessage ('Error al enviar mensaje');
end;
finally
if idSMTP1.Connected then idSMTP1.Disconnect;
end;
end;
De algunas cosas no estoy muy seguro... por ejemplo de por qué hay que pasarle 25 al Port del SMTP, o 1000 a Connect (lo encontré en un ejemplo); pero bueno, el tema es q me funcionó... Espero que te sirva, saludos!!!