Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-07-2025
emeceuy emeceuy is offline
Miembro
 
Registrado: jun 2003
Ubicación: Uruguay
Posts: 128
Poder: 24
emeceuy Va por buen camino
enviar correo con IDSMTP - connection closed gracefully

Hola buenas tardes !

Tengo un problema al enviar correo electrónico usando los componentes de Indy SMTP de XE3.

Desde mi computadora, ya sea debugeando desde el IDE o corriendo el ejecutable directamente, no tengo ningún problema. El correo se envía y sin errores en ambos casos.
Pero desde computadoras en 2 clientes distintos (ejecutando el exe), casi instantáneamente al intentar enviar tira el error de "CONNECTION CLOSED GRACEFULLY" y no se envia nada.

No entiendo porque desde mi PC no hay problema y desde otras si. Todas las PCs corren en Windows 10.

Dejo el codigo para que lo vean, es bien simple.

Código:
procedure TfrmConfiguracion.btnTestEMail2Click(Sender: TObject);
begin
  mem.Lines.Add(formatdatetime('dd/mm/yyyy HH:nn:ss:zzz',now)+' '+'test mail 2: entró');

  with frmPrincipalMenu do
    begin
     idmessage1.From.Name:='KS NOTIFICACIONES';
     idmessage1.From.Address:='[email protected]';
     idmessage1.Recipients.EMailAddresses:=edtEmailTest.text;
     idmessage1.Subject:='Test de CORREO ELECTRONICO - '+formatdatetime('dd/mm/yyyy HH:nn:ss',now);
     idmessage1.Body.Text:='Test de CORREO ELECTRONICO'+#13+'KS NOTIFICACIONES'+#13+formatdatetime('dd/mm/yyyy HH:nn:ss',now);

     mem.Lines.Add(formatdatetime('dd/mm/yyyy HH:nn:ss:zzz',now)+' '+'test mail 2: mensaje armado');

     idsmtp1.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;
     idsmtp1.UseTLS:=utUseExplicitTLS;
     IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method:=sslvtlsv1_2;
     idsmtp1.Host:=vEma.Host;
     idsmtp1.Port:=vEma.Puerto;
     idsmtp1.Username:=vEma.Usuario;
     idsmtp1.Password:=vEma.Contrasena;

     mem.Lines.Add(formatdatetime('dd/mm/yyyy HH:nn:ss:zzz',now)+' '+'test mail 2: antes conectar');
     idsmtp1.Connect;

     mem.Lines.Add(formatdatetime('dd/mm/yyyy HH:nn:ss:zzz',now)+' '+'test mail 2: antes enviar');
     idsmtp1.Send(idmessage1);

     mem.Lines.Add(formatdatetime('dd/mm/yyyy HH:nn:ss:zzz',now)+' '+'test mail 2: antes desconectar');
     idsmtp1.Disconnect;

     mem.Lines.Add(formatdatetime('dd/mm/yyyy HH:nn:ss:zzz',now)+' '+'test mail 2: salió');
  end;
end;
Muchas gracias desde ya !!!

Saludos, Marcelo.
__________________
Marcelo C.
Responder Con Cita
  #2  
Antiguo 17-07-2025
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
-Bloqueo por firewall o antivirus
El firewall o antivirus en los equipos de cliente puede estar cerrando la conexión SMTP antes de que se complete.
Prueba desactivando el antivirus/firewall temporalmente o añadir el ejecutable a la lista blanca.

-TLS/SSL mal configurado en equipos cliente
Puede que tu equipo tenga las bibliotecas necesarias para negociar correctamente TLS/SSL (por ejemplo, OpenSSL), pero los clientes no tienen los .dll de OpenSSL (libeay32.dll y ssleay32.dll o las versiones nuevas: libcrypto-1_1.dll y libssl-1_1.dll).
Asegúrate de incluir los DLLs correctos junto con tu ejecutable en los equipos cliente.
La versión si tu programa es 32 bits, será:
https://indy.fulgan.com/SSL/openssl-...i386-win32.zip

Última edición por Casimiro Noteví fecha: 17-07-2025 a las 18:57:02.
Responder Con Cita
  #3  
Antiguo 17-07-2025
emeceuy emeceuy is offline
Miembro
 
Registrado: jun 2003
Ubicación: Uruguay
Posts: 128
Poder: 24
emeceuy Va por buen camino
Hola Casimiro ! Gracias por tu respuesta !

Ya probe apagando el firewall y poniendo al ejecutable y al puerto en la lista blanca del antivirus, y sigue igual.

Ahora voy a probar lo de las dll y te comento.

Saludos.
__________________
Marcelo C.
Responder Con Cita
  #4  
Antiguo 17-07-2025
emeceuy emeceuy is offline
Miembro
 
Registrado: jun 2003
Ubicación: Uruguay
Posts: 128
Poder: 24
emeceuy Va por buen camino
Solo con agregar esas 2 dll en el directorio del ejecutable, funciona perfectamente !

Crack Casimiro ! Muchas gracias !

Saludos, Marcelo.
__________________
Marcelo C.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
connection closed gracefully mblascog Internet 3 07-05-2016 01:35:00
Enviar Correo a través de IdSmtp con Gmail desde Windows Server 2008!! Allien Internet 8 21-12-2012 04:19:36
Que Significa el Error "connection Closed Gracefully" en los Indys ???? AGAG4 Varios 6 26-03-2009 23:01:59
Indy: Connection clode gracefully. Completas causas y solución ? rolandoj Internet 3 02-09-2008 11:44:39
Enviar correo con SMTP de GMAIL via INDY 10 (idSMTP) lpedrazzi Internet 4 31-12-2006 22:30:26


La franja horaria es GMT +2. Ahora son las 05:50:16.


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