Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Lightbulb Conectar a servidor IMAP con SSL

Hola amigos.

Estoy intentando realizar una aplicacion para notificar cuando nos llegan correos nuevos. En mi centro esta montado un servidor IMAP, de la suite OpenSource Zimbra. Lo que sucede es que cuando intento conectar al servidor por el puerto 993, que es el que esta puesto ahora, al parecer se me conecta, pero entonces me da el siguiente error.

"Invalid Command"

Alguien sabe que sucede?
Estoy utilizando Delphi 7, Indy 9 y en el directorio de la aplicacion tengo las librerias "ssleay32.dll" y "libeay32.dll" que las cogi del cliente Exodus.

Si me pudieran ayudar se los agradeceria mucho.

Este es mi codigo de conexion.

Código Delphi [-]
  IMAP4.Host := 'imap.uci.cu';
  IMAP4.Port := 993;
  IMAP4.IOHandler := idSSLIOHandlerSocket1;
  idSSLIOHandlerSocket1.SSLOptions.Method := sslvSSLv3;
  idSSLIOHandlerSocket1.SSLOptions.Mode := sslmBoth;
  IMAP4.Connect;
Responder Con Cita
  #2  
Antiguo 17-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Acabo de descargar la Indy 10 a ver si con eso logro hacer algo. Ya que todos los ejemplos que veo en internet y que funcionan usan la version 10.
Luego les cuento como me va !
Responder Con Cita
  #3  
Antiguo 18-03-2010
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 21
Enan0 Va por buen camino
yo con Indy 10 no he podido hacerlo funcionar. voy a preparar un ejemplo con indy 9 si te parece bien, hacemelo saber y lo subo!

saludos
Responder Con Cita
  #4  
Antiguo 18-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Bueno nunca esta de mas. Si pudieras hacerlo te lo agradeceria muchisimo.
Responder Con Cita
  #5  
Antiguo 18-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 16
fide_uci Va por buen camino
Despues de un tiempo intentando establecer conexion con mi servidor logre hacerlo utilizando el siguiente codigo.

Código Delphi [-]
try
  ssl.ConnectTimeout := 3500;
  ssl.Open;
  ssl.StartSSL;
  ssl.PassThrough := True;
  ssl.SSLOptions.Mode := sslmUnassigned;
  ssl.SSLOptions.Method := sslvSSLv23;
  IMAP41.IOHandler := SSL;

  IMAP41.Connect(True);
except On E: Exception do
  Memo3.Lines.Add( Format('Exception "%s": %s', [E.ClassName, E.Message]) );
end;

Ya el host, puerto, usuario y contraseña se los puse al componente directo. Entonces agregue una pequeña porsion de codigo en los eventos OnStatus del SSLHandler y del idIMAP41 y lo que se ve es esto cuando intento conectarme.

Código:
Resolving hostname imap.edu.com
Connecting to 10.10.9.120
StatusInfo: SSL status: "before/connect initialization"
StatusInfo: SSL status: "before/connect initialization"
StatusInfo: SSL status: "SSLv2/v3 write client hello A"
StatusInfo: SSL status: "SSLv3 read server hello A"
StatusInfo: SSL status: "SSLv3 read server certificate A"
StatusInfo: SSL status: "SSLv3 read server done A"
StatusInfo: SSL status: "SSLv3 write client key exchange A"
StatusInfo: SSL status: "SSLv3 write change cipher spec A"
StatusInfo: SSL status: "SSLv3 write finished A"
StatusInfo: SSL status: "SSLv3 flush data"
StatusInfo: SSL status: "SSLv3 read finished A"
StatusInfo: SSL status: "SSL negotiation finished successfully"
StatusInfo: SSL status: "SSL negotiation finished successfully"
StatusInfo: Cipher: name = AES256-SHA; description = AES256-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1
; bits = 256; version = TLSv1/SSLv3;
Pero entonces me salta esta exception.

Código:
Exception "EAssertionFailed": Assertion failure (D:\Cosas de Programación\Programas y componentes\Cosas de la Indy\indy10\Protocols\IdSSLOpenSSL.pas, line 1435)
Cuando miro la version de Indy que estoy utilizando veo estos datos.

Código:
  gsIdVersion = '10.2.3'; {do not localize}
  gsIdProductName = 'Indy';  {do not localize}
Las librarias que estoy utilizando son:

Código:
openssl-0.9.8i-i386-win32
Alguien tiene una idea de por que ocurre esto?

Aqui comentan algo al respecto pero no entiendo mucho.

http://forums2.atozed.com/viewtopic.php?f=7&p=4403

Si alguien me pudiera explicar se los agradeceria muchisimo.

Ha en esa linea del archivo "IdSSLOpenSSL.pas" lo que se ve es esto.
Es decir es en este procedimiento que se dispara la exception.

Código:
procedure TIdSSLIOHandlerSocketOpenSSL.OpenEncodedConnection;
begin
  Assert(Binding<>nil);

  if not Assigned(fSSLSocket) then begin
    fSSLSocket := TIdSSLSocket.Create(Self);
  end;
  Assert(fSSLSocket.fSSLContext=nil);

  fSSLSocket.fSSLContext := fSSLContext;

  if IsPeer then begin
    fSSLSocket.Accept(Binding.Handle);
  end else begin
    fSSLSocket.Connect(Binding.Handle);
  end;
  
  fPassThrough := False;
end;

Última edición por fide_uci fecha: 18-03-2010 a las 13:13:40.
Responder Con Cita
  #6  
Antiguo 19-03-2010
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 21
Enan0 Va por buen camino
al parecer hay una nueva actualizacion para la version indy 10
Tuesday, March 09, 2010 12:17 AM 759404 openssl-0.9.8m-i386-win32.zipme fije aca

http://indy.fulgan.com/SSL/

espero que te ayude!
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
Conectar a servidor ftp con delphi pablopessoa Internet 2 02-12-2008 20:44:47
Cómo conectar con un servidor MySQL jact85 MySQL 3 20-09-2008 14:45:18
Conectar a Servidor Mysql alt126 Conexión con bases de datos 2 29-07-2008 22:15:00
conectar a servidor con ip dinamico carlo_acp Conexión con bases de datos 1 29-10-2007 00:48:17
no me puedo conectar con el servidor jzginez MySQL 0 19-11-2003 22:00:40


La franja horaria es GMT +2. Ahora son las 01:23:14.


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