2012-02-06 58 views
8

電子メールを送信するためにsmtp.live.comに接続しようとしています(live.comは2009年からpop3/smtpをサポートしていますが、これはまったくニュースです私)。私はsslvSSLv23とsslvTLSv1と同じコードを使用すると、それはGmailのSMTP(smtp.gmailで正常に動作smtp.live.comとTIdSmtp(Indy、Delphi)のSSLサポート

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 

:ここ

は私がsmtp.live.comポート587に接続しようとすると何が起こるかです。 com、ポート465)サーバー。また、OutlookはSSLがチェックされ、ポート587でメールを正常に送信するので、OpenSSLに関連するものかもしれません。誰も私にこの謎を助けられますか?私は何かを設定するのを忘れましたか?

答えて

4

GMailと同様に、Live.comのポート587では、SSL/TLSハンドシェイクを開始する前に、クライアントに暗号化せずに接続し、STARTTLSコマンドを送信する必要があります。 Indy 10では、接続する前にutUseExplicitTLSTIdSMTP.UseTLSプロパティを設定することで行います。代わりにutUseImplicitTLSに設定されたUseTLSプロパティがあるようです(これはGMailポート465に必要なものです)。

+0

もちろん、それは私もそれを忘れて働いた。それを指摘してくれてありがとう! – Coder12345

関連する問題