Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Envío de correos con INDY9 (https://www.clubdelphi.com/foros/showthread.php?t=96836)

mRoman 10-09-2024 01:07:42

Envío de correos con INDY9
 
Hola amigos nuevamente recurriendo a ustedes.

Trabajo con: Delphi6, Indy9, FB2.0, Win11 64.

Problema: Estoy tratando de enviar correos usando Indy9 (desinstale los componentes anterior que vienen por default con delphi), gracias al club he logrado instalar los indy y tomar algo de codigo para hacer pruebas. Ya tengo un ratito (5 hrs) tratando de solucionar el siguiente problema.

Antes que nada colocaré el código q estoy usando para el envío de correo:

Código Delphi [-]
procedure TfrmImpEnvioTCK.btnEnviarClick(Sender: TObject);
begin
     idMessage1.Body.Clear();
     idMessage1.Recipients.Clear();
     idMessage1.Subject:='ENVIO TICKET - LAVANDERIA QUIJOTE';
     idMessage1.Body.AddStrings(Memo1.Lines);
     idMessage1.Recipients.EMailAddresses:=edMail.Text;
     idMessage1.From.Address:='correo@gmail.com';
     idMessage1.From.Name:='LAVANDERIA ';

     with idSMTP1 do
     begin
          Port:=587;
          Host:='smtp.gmail.com';
          AuthenticationType := atLogin;
          Username:='correo@gmail.com';
          Password := 'jaklsdfkasldfl';
          Connect();

          btnEnviar.Enabled := false;
          try
            Send(IdMessage1);
            ShowMessage('Correo enviado con éxito');
          finally
            btnEnviar.Enabled := true;
            Disconnect;
          end;
     end;
end;

Y me esta marcando este error: (imagen)

https://ibb.co/nbKvqfS

Me hace falta algo mas que configurar?

La cuenta de correo gmail esta configurada para 2 pasos, cree una contraseña de aplicación para lograr el envío de correos desde delphi...sabes como puedo resolver el error??

Muchas gracias por su tiempo amigos.

Casimiro Notevi 10-09-2024 11:19:08

¿Qué valores has puesto en sslversion, usetls, etc.?

Neftali [Germán.Estévez] 10-09-2024 12:33:40

Revisa que la versión de las Indy que estás utilizando (que veo que estás con Delphi 6) soporte el TLS que necesita el servidor.
Hace poco se actualizaron versiones mínimas y es posible que necesites 1.2 al menos.

Casimiro Notevi 10-09-2024 12:46:26

Creo que necesitará la version 10 de indy, al menos yo con la 9 no conseguí que funcionara, sin embargo con la 10 funciona perfectamente. También usando "contraseña de aplicación".

mRoman 10-09-2024 16:42:56

Cita:

Empezado por Casimiro Notevi (Mensaje 557133)
¿Qué valores has puesto en sslversion, usetls, etc.?

Hola Casimiro...en realidad es la primera vez que uso los Indy, entonces no sé q es SSLVERSION y USETLS...propiedades??.

mRoman 10-09-2024 16:43:31

Cita:

Empezado por Casimiro Notevi (Mensaje 557142)
Creo que necesitará la version 10 de indy, al menos yo con la 9 no conseguí que funcionara, sin embargo con la 10 funciona perfectamente. También usando "contraseña de aplicación".

La version 10 de Indy las puedo instalar en Delphi6??

mRoman 10-09-2024 17:40:38

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 557140)
Revisa que la versión de las Indy que estás utilizando (que veo que estás con Delphi 6) soporte el TLS que necesita el servidor.
Hace poco se actualizaron versiones mínimas y es posible que necesites 1.2 al menos.

Hola Germán...gracias por contestar.

Como puediera revisar que esta version q estoy usando soporta TLS...??.

mRoman 10-09-2024 17:46:34

Ahora he cambiado el puerto a 465 y me envia el siguiente error:

Cita:

Proyect abc.exe raised exception class EIdConnClosedGracefully with message 'Connection Closed Gracefully'. Process stopped...
El codigo:

Código Delphi [-]
procedure TfrmImpEnvioTCK.btnEnviarClick(Sender: TObject);
begin
     idMessage1.Body.Clear();
     idMessage1.Recipients.Clear();
     idMessage1.Subject:='ENVIO TICKET';
     idMessage1.Body.AddStrings(Memo1.Lines);
     idMessage1.Recipients.EMailAddresses:=edMail.Text;
     idMessage1.From.Address:='micorreo@gmail.com';
     idMessage1.From.Name:='LAVANDERIA';

     with idSMTP1 do
     begin
          Port:=465;
          Host:='smtp.gmail.com';
          AuthenticationType := atLogin;
          Username:=micorreo@gmail.com';
          Password := 'kadjkfljldjflkad';
          Connect();

          btnEnviar.Enabled := false;
          try
            Send(IdMessage1);
            ShowMessage('Correo enviado con éxito');
          except
          on E : Exception do
            if E is EIdConnClosedGracefully then
            begin
                btnEnviar.Enabled := true;
                Disconnect;
            end else
            begin
                raise
            end;

          end;
     end;
end;

Alguna idea??...

O definitivamente deberé desinstalar la 9 e instalar la 10 de Indy???...

Neftali [Germán.Estévez] 10-09-2024 17:54:50

A ver si te ayuda este hilo:
https://www.clubdelphi.com/foros/showthread.php?t=96482

En las especificaciones de la versión también debería especifocar algo sobre TLS

mRoman 10-09-2024 18:25:29

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 557156)
A ver si te ayuda este hilo:
https://www.clubdelphi.com/foros/showthread.php?t=96482

En las especificaciones de la versión también debería especifocar algo sobre TLS

Gracias German.

Lo cheque..pero en realidad no entiendo mucho, instalar DLL, librerias...en algunas páginas que he consultado mencionan un EXE de instalación, super mas comodo, pero ya no está disponible la página, sería mas fácil la instalación.

En fin...se esta complicando un poco esto de envíar correos con delphi.

Seguiré buscando la solución.

mRoman 10-09-2024 22:12:15

Hola de nuevo...

Ya me conseguí los Indy10, pero ahora como se instalan??. En el foro hay unas instrucciones pero consulto el link que dice ahi y ya no hay nada....

https://www.clubdelphi.com/foros/showthread.php?t=66412

Del "tocayo" Román.

Y los pude bajar de aqui, pero no se como se instalan...con los Indy9 habia unos dpk, pero aqui en esta version nos los veo.

Vamos amigos...despues de 18 años aprox programando en Delphi, no me he atorado con nada....hasta ahora, espero que no. Hasta ahorita todo lo he resulto con Delphi, no quiero que esto de envío de correo sea el primero en no poderlo resolver con delphi.

Saludos.

Casimiro Notevi 11-09-2024 11:41:47

Instalar las indy lleva su tiempo porque tienes que asegurarte antes de haber eliminado absolutamente todo lo que exista de la versión que tengas instalada.
Te aconsejo una buena copia de seguridad de lo que tienes antes de seguir.
La descarga y la documentación sobre la instalación las puedes encontrar aquí:
https://www.indyproject.org/download/v10/
La documentación está en varios formatos:
https://www.indyproject.org/documentation/
Te copio una captura de pantalla con los parámetros con los que está funcionando con gmail.

Si tienes cualquier duda, pregunta.

Casimiro Notevi 11-09-2024 11:50:02

Y no olvides las DLL actualizadas también.
Aquí están.

Casimiro Notevi 11-09-2024 12:06:45

Yo probaría antes con la que tienes instalada, la v9, porque vayas a estropear tu delphi 6 intentando instalar la v10 y te quedes sin una y sin la otra.
En mi caso la v10 está instalada en un delphi 2007

mRoman 11-09-2024 17:13:32

Cita:

Empezado por Casimiro Notevi (Mensaje 557162)
Yo probaría antes con la que tienes instalada, la v9, porque vayas a estropear tu delphi 6 intentando instalar la v10 y te quedes sin una y sin la otra.
En mi caso la v10 está instalada en un delphi 2007

Hola Casimiro...demasiado tarde tu comentario. Ya desinstale la 9....

Espero poder reinstalar...

mRoman 11-09-2024 17:14:26

Cita:

Empezado por Casimiro Notevi (Mensaje 557161)
Y no olvides las DLL actualizadas también.
Aquí están.

Y donde las debo de copiar/instalar...se copian solamente?...y en donde?

mRoman 11-09-2024 17:19:33

Cita:

Empezado por Casimiro Notevi (Mensaje 557159)
Instalar las indy lleva su tiempo porque tienes que asegurarte antes de haber eliminado absolutamente todo lo que exista de la versión que tengas instalada.
Te aconsejo una buena copia de seguridad de lo que tienes antes de seguir.
La descarga y la documentación sobre la instalación las puedes encontrar aquí:
https://www.indyproject.org/download/v10/
La documentación está en varios formatos:
https://www.indyproject.org/documentation/
Te copio una captura de pantalla con los parámetros con los que está funcionando con gmail.

Si tienes cualquier duda, pregunta.

Casimiro...lamento decirte que los links ya no accesan a la documentación, me envía un aviso de error que dice "No se puede acceder a este sitio"...

Casimiro Notevi 11-09-2024 17:38:47

Cita:

Empezado por mRoman (Mensaje 557178)
Y donde las debo de copiar/instalar...se copian solamente?...y en donde?

Junto a tu ejecutable.

Casimiro Notevi 11-09-2024 17:40:40

Cita:

Empezado por mRoman (Mensaje 557179)
Casimiro...lamento decirte que los links ya no accesan a la documentación, me envía un aviso de error que dice "No se puede acceder a este sitio"...

Pero también están en la página de github
https://github.com/IndySockets/Indy/wiki
Ahí a la derecha tienes la wiki, la documentación y la "updating indy", está todo, lo acabo de comprobar.

Casimiro Notevi 11-09-2024 17:42:10

Cita:

Empezado por mRoman (Mensaje 557177)
Hola Casimiro...demasiado tarde tu comentario. Ya desinstale la 9....
Espero poder reinstalar...

También te dije antes de nada: "Te aconsejo una buena copia de seguridad de lo que tienes antes de seguir."
:D

Espero que te sea leve el proceso.


La franja horaria es GMT +2. Ahora son las 23:15:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi