Ver Mensaje Individual
  #36  
Antiguo 03-10-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.439
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por mRoman Ver Mensaje
Ok Casimiro, aqui los detalles.
...
Me falta algún componente?
...
Q componente debe ir relacionado con q otro?
Hola.
He probado el código que has puesto (porque me parece correcto) y compilandolo tanto con Delphi 12 como con Delphi 7, me envía correo a través de GMail correctamente.
Hay varias cosas importantes:

1) La primera que afecta a ambos, es que he tenido que definr DOBLE autentificación en la cuenta de GMail, para que me deje definir contraseña por aplicación.
Para crear la contraseña por aplicación lo he tenido que hacer desde aquí:
https://myaccount.google.com/apppasswords

Accediendo a la cuenta del correo.

2) Lo segundo importante es dar con las DLL's de SSL apropiadas para cada versión.

Este es el código que he utilizado (como ves es el tuyo) en delphi 12:

Código Delphi [-]
procedure TFormMain.Button1Click(Sender: TObject);
begin

  // INi                                                                     begin
    SMTP.Port     :=465;
    smtp.Host     :='smtp.gmail.com';
    smtp.AuthType :=satDefault;
    smtp.Username :='[email protected]';       // Cuenta de correo de envío
    smtp.Password :='1111t 4567g fyfs fjda ';             // Contraseña NO de acceso a GMail, sino la que genera desde: https://myaccount.google.com/apppasswords
    smtp.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;
    smtp.UseTLS   :=utUseExplicitTLS;

     with correo do
     begin
          Recipients.Add;
          Recipients[0].Name:='CLIENTE';
          Recipients[0].Address:='[email protected]';
          Recipients.Add;
          Recipients[1].Name:='Wolters';
          Recipients[1].Address:='[email protected]';
          From.Name:='LAVANDERIA Desde Delphi 12';
          From.Address:='[email protected]';
          Subject:='Envío de nota 99999 - LAVANDERIA';
          Body.Text:='CORREO DE PRUEBA';
     end;

     smtp.Connect;
     try
       try
         smtp.Send(correo);

         ShowMessage('Correo enviado satisfactoriamente');
       except
         on E: Exception do
            ShowMessage(E.Message);
       end;
     finally
       if smtp.Connected then
          smtp.Disconnect;
       correo.Free;
       smtp.Free;
     end;
  mmLog.Clear;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita