2012-02-06 8 views
8

Sto provando a connettermi a smtp.live.com per inviare e-mail (live.com supporta pop3/smtp dal 2009 a quanto pare, ma questa è una novità per me).Supporto SSL per smtp.live.com e TIdSmtp (Indy, Delphi)

Ecco cosa succede quando si tenta di connettersi a smtp.live.com porta 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 

io uso lo stesso codice con sslvSSLv23 e sslvTLSv1 e funziona normalmente con gmail smtp (smtp.gmail. com, porta 465) server. Inoltre, Outlook invia normalmente le email quando SSL è selezionato e sulla porta 587, quindi potrebbe essere qualcosa correlato a OpenSSL. Qualcuno può aiutarmi con questo mistero? Mi sono perso per impostare qualcosa?

risposta

4

Come GMail, la porta 587 di Live.com richiede che il client si connetta non crittografato e invii un comando STARTTLS prima di avviare un handshake SSL/TLS. In Indy 10, lo fai impostando la proprietà TIdSMTP.UseTLS su utUseExplicitTLS prima di connetterti. Sembra che tu abbia la proprietà UseTLS impostata su utUseImplicitTLS (che è ciò che è necessario per la porta GMail 465).

+0

Certo che ha funzionato ho dimenticato di provare anche questo. Grazie per la segnalazione! – Coder12345