Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-03-2009
lduron lduron is offline
Miembro
 
Registrado: jun 2006
Posts: 30
Poder: 0
lduron Va por buen camino
Sobre error para enviar email por gmail

Hola Amigos!

Tengo el siguiente código:

procedure TForm1.Button1Click(Sender: TObject);
begin
IdMessage1.Clear;
IdMessage1.From.Address:='x@gmail.com';
IdMessage1.Subject:='Hola';
IdMessage1.Body.Text:='Hola como te va?';
IdMessage1.Priority:=TIdMessagePriority(mpNormal);
IdSMTP1.Port:=587;
IdSMTP1.Host:='smtp.gmail.com';
IdSMTP1.UseTLS:=utUseRequireTLS;
IdSMTP1.Username:='x';
IdSMTP1.Password:='x...';
IdSMTP1.Connect;
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
end;

Y me manda el siguiente error:

Project:Project1.exe raised exception class EIdTLSClientSSLIOHandlerRequred with message 'SSLIOHandler is required for this setting'

A que se refiere con esto?

Muchas gracias por la atención que tiene para leer este mensaje.
Responder Con Cita
  #2  
Antiguo 23-03-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 19.974
Poder: 10
roman Tiene un aura espectacularroman Tiene un aura espectacular
Para enviar correo por GMail necesitas usar el protocolo SSL. Aquí tienes un ejemplo.

// Saludos
Responder Con Cita
  #3  
Antiguo 23-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 15
Caro Va por buen camino
Cita:
Empezado por lduron Ver Mensaje
Y me manda el siguiente error:

Project:Project1.exe raised exception class EIdTLSClientSSLIOHandlerRequred with message 'SSLIOHandler is required for this setting'

A que se refiere con esto?
Hola, ¿tienes instalado la biblioteca OpenSSL?, el instalador lo puedes bajar de aquí http://www.slproweb.com/products/Win32OpenSSL.html, o las Dll de donde te ha indicacado Román.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 23-03-2009
lduron lduron is offline
Miembro
 
Registrado: jun 2006
Posts: 30
Poder: 0
lduron Va por buen camino
Hola Caro y Roman!

Voy a hacer algunas pruebas bajando los SSL de donde me dijo Caro y voy a probar el ejemplo que me pasaste Roman.

Muchas gracias a ambos y les digo màs adelante el resultado de las pruebas que hice.

Saludos!
Responder Con Cita
  #5  
Antiguo 24-03-2009
lduron lduron is offline
Miembro
 
Registrado: jun 2006
Posts: 30
Poder: 0
lduron Va por buen camino
Hola amigos del foro!

Hola Caro y Roman!

Ya instale los SSL y para asegurarme aparte de instalarlo, dentro del proyecto coloque los archivos:

libeay32.dll
libssl32.dll
ssleay32.dll

Además me marcaba otro error, el cual yo intuí y se lo quite haciendo lo siguiente:

En la propiedad IOHandler del IdSMTP le puse IdSSLIOHandlerSocketOpenSSL1

Y con esto ya no me marco ningún error al compilarlo, pero al momento de ejecutarlo...se queda sin hacer nada y con el mensaje: Resolving Hostname

Me pueden hacer el favor de decirme a que se debe esto? y como lo puedo corregir?

Muchas Gracias!

Saludos!

P.D. Todo lo he hecho con código (tiempo de ejecución), solo lo que les puse arriba lo he hecho en tiempo de diseño.
Responder Con Cita
  #6  
Antiguo 24-03-2009
lduron lduron is offline
Miembro
 
Registrado: jun 2006
Posts: 30
Poder: 0
lduron Va por buen camino
Perdón se me olvidaba que lo anterior lo hace con el puerto=465 y cuando le pongo el puerto=587 me marca:

raised exception class EIdOSSLCouldNotLoadSSLLibrary with message 'Could not load SSL library'

Saludos!
Responder Con Cita
  #7  
Antiguo 24-03-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 15
Caro Va por buen camino
Cita:
Empezado por lduron Ver Mensaje
Ya instale los SSL y para asegurarme aparte de instalarlo, dentro del proyecto coloque los archivos:

libeay32.dll
libssl32.dll
ssleay32.dll
Hola de nuevo, si instalaste, no es necesario que pongas en el proyecto ya que al instalarlo ya te lo pone en las variables de entorno.

Cita:
Empezado por lduron Ver Mensaje
Además me marcaba otro error, el cual yo intuí y se lo quite haciendo lo siguiente:

En la propiedad IOHandler del IdSMTP le puse IdSSLIOHandlerSocketOpenSSL1

Y con esto ya no me marco ningún error al compilarlo, pero al momento de ejecutarlo...se queda sin hacer nada y con el mensaje: Resolving Hostname

P.D. Todo lo he hecho con código (tiempo de ejecución), solo lo que les puse arriba lo he hecho en tiempo de diseño.
Si, tu IdSMTP tiena que estar enlazado a tu IdSSLIOHandlerSocketOpenSSL, ¿has ejecutado el programa de Roman tal cual esta, porque debería funcionarte? si tu te has creado otro proyecto donde estas haciendo tus pruebas, puedes subirlo aquí para que veamos en que te estas equivocando.

Cita:
Empezado por lduron Ver Mensaje
Perdón se me olvidaba que lo anterior lo hace con el puerto=465 y cuando le pongo el puerto=587 me marca:

raised exception class EIdOSSLCouldNotLoadSSLLibrary with message 'Could not load SSL library'
Debería funcionarte tanto con el puerto 465 y 587 teniendo la propiedad UseTLS a utUseImplicitTLS y si utilizas el puerto 25 utUseExplicitTLS, para mi que debes quitar las dll que has puesto en el proyecto, como te dije ya te lo pone en las variables de entorno al instalarlo.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #8  
Antiguo 22-11-2011
Avatar de DarkBlue
DarkBlue DarkBlue is offline
Miembro
 
Registrado: jun 2010
Posts: 105
Poder: 7
DarkBlue Va por buen camino
para aquellos que tienen el problema de las dll (en especifico este mensaje raised exception class EIdOSSLCouldNotLoadSSLLibrary with message 'Could not load SSL library') y que no carga el protocolo sll agregen esto , yo solucione asi mi problema
porcierto uso el indy vercion 10.0.52
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject); 
begin   
       IdSSLOpenSSLHeaders.Load; 
end;
Luego añade IdSSLOpenSSLHeaders al uses.

vean este link http://www.clubdelphi.com/foros/showthread.php?t=65422
__________________
Todo es Relativo

Última edición por DarkBlue fecha: 22-11-2011 a las 04:41:25.
Responder Con Cita
  #9  
Antiguo 23-11-2011
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 14
Enan0 Va por buen camino
Te Recomiendo que las DLL las pongas en la carpeta del ejecutable.

y no es necesario que utilices el
Código Delphi [-]
IdSSLOpenSSLHeaders.Load;

Si esta creado y asignaste el tipo de conexion a utilizar alcanza
una vez que lo create
Código Delphi [-]
IdSSLIOHandlerSocketOpenSSL:=TIdSSLIOHandlerSocketOpenSSL.create(nil);
IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method:=sslvTLSv1;
IDsmtp.IOHandler:=ssl;
IDsmtp.UseTLS:=utUseImplicitTLS;

Con esto bastaria
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Error al enviar un email SMTZ .NET 1 15-09-2007 09:26:44
enviar un email desde delphi a hotmail o gmail abraham SQL 30 06-08-2007 16:46:20
Problema para enviar email con indy delphi7 cmena Internet 2 13-10-2005 21:58:55
Al enviar email, Error 550, Por que? URBANO Internet 1 21-02-2005 09:04:50
como puedo hacer para enviar un quick report por email?? merlin Internet 1 14-12-2003 20:24:17


La franja horaria es GMT +2. Ahora son las 10:58:44.


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