Ver Mensaje Individual
  #7  
Antiguo 23-02-2005
Avatar de JuanBCT
JuanBCT JuanBCT is offline
Miembro
 
Registrado: ago 2004
Ubicación: Campana, Argentina
Posts: 57
Reputación: 20
JuanBCT Va por buen camino
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

  //Parámetros para el componente TIdSMPT
  idsmtp1.Host:=editHost.Text;
  idsmtp1.Port:=25;

  //Parámetros para el componente TIdMessage
  idmessage1.From.Address:=editDesde.Text;
  idmessage1.Recipients.EMailAddresses:=editPara.Text;
  idmessage1.Subject:=editAsunto.Text;
  idmessage1.Body.Text:=memoCuerpo.Text;
  
  //Envío del mensaje
  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!!!
Responder Con Cita