Ver Mensaje Individual
  #9  
Antiguo 19-05-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Reputación: 21
newtron Va camino a la fama
Claro... el código no tiene nada de particular y creo que ha salido de ejemplos de por aquí (si mal no recuerdo de un ejemplo que adjuntó ROMAN en su día).

He extraido lo básico para no alargar mucho el tema. Los valores que no cambio se supone que coge por defecto los del componente.

Código Delphi [-]
procedure TFormEnviaCorreoSSL.btnEnviarCorreoClick(Sender: TObject);
var
  IdEnviar: TIdMessage;
  N,iPuerto: SmallInt;
  ElDestinatario:      TIdEmailAddressItem;
begin
  iPuerto:=587;  // Con el 25 hace exactamente lo mismo
  IdEnviar := TIdMessage.Create(Self);
  IdEnviar.Body.Text     := MemoTexto.Text; // Cuerpo del mensaje
  IdEnviar.From.Address  := EditCuentaRemitente.Text ; // e-mail del que envía
  IdEnviar.From.Name     := EditNombre.Text ; // Nombre del que envía
  IdEnviar.Subject       := EditAsunto.Text ; // Asunto
  // Destinatario/s
  for N := 0 to MemoDestinatarios.Lines.Count-1 do begin
    if MemoDestinatarios.Lines[N]<>'' then begin
      ElDestinatario         := IdEnviar.Recipients.Add;
      ElDestinatario.Address := MemoDestinatarios.Lines[N];
    end;
  end;
  IdSMTP1.Host       := smtp-mail.outlook.com;
  IdSMTP1.UserName   := xxxxxx;
  IdSMTP1.Password   := xxxxx;
  IdSMTP1.Port       := iPuerto;
  // TLS
  idSMTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL;
  idSMTP1.UseTLS := utUseExplicitTLS;
  Try
    IdSMTP1.Connect;
    IdSMTP1.Send(idEnviar);
  except
    raise;
    ShowMessage('¡ATENCION! Problema de conexion');
    exit;
  end;
  IdSMTP1.Disconnect(true);
  ShowMessage('Correo enviado');
end;

Gracias y un saludo
__________________
Be water my friend.
Responder Con Cita