2012-02-06 17 views
8

Estoy tratando de conectarme a smtp.live.com para enviar correos electrónicos (live.com admite pop3/smtp gratis desde 2009 aparentemente, pero esto es totalmente nuevo para yo).Soporte de SSL para smtp.live.com y TIdSmtp (Indy, Delphi)

Esto es lo que sucede cuando intento conectar a smtp.live.com puerto 587:

Method sslvSSLv2 - timeout (obviously the server does not support SSL2) 
Method sslvSSLv3 - Error connecting with SSL. - error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number 
Method sslvSSLv23 - Error connecting with SSL. - error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol 
Method sslvTLSv1 - Error connecting with SSL. - error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number 

Puedo usar el mismo código con sslvSSLv23 y sslvTLSv1 y funciona normalmente con Gmail SMTP (smtp.gmail. com, puerto 465) servidor. Además, Outlook envía correos normalmente cuando SSL está marcado y en el puerto 587, por lo que puede estar relacionado con OpenSSL. ¿Alguien puede ayudarme con este misterio? ¿Me perdí para establecer algo?

Respuesta

4

Al igual que GMail, el puerto de Live.com 587 requiere que el cliente se conecte sin cifrar y envíe un comando STARTTLS antes de iniciar un protocolo de enlace SSL/TLS. En Indy 10, usted hace eso estableciendo la propiedad TIdSMTP.UseTLS en utUseExplicitTLS antes de conectarse. Parece que tiene la propiedad UseTLS establecida en utUseImplicitTLS (que es lo que se necesita para el puerto 465 de GMail).

+0

Por supuesto que funcionó Olvidé probar eso también. Gracias por señalar eso! – Coder12345

Cuestiones relacionadas