3

Delphi Sports Club メンバーシップ プログラムでは、Office365 に移行されたクラブの BTConnect アカウントを使用して、メンバーに一括メールを送信しています。最近、BT が認証を強化し、SMTP パラメータを satNone から satDefault および utUseExplicitTLS に変更しました。自宅からプログラムを実行すると、期待どおりに動作します。

Stat Connected.
Recv 20/11/2012 16:36:02: 220 pod51016.outlook.com Microsoft ESMTP MAIL Service ready at Tue, 20 Nov 2012 16:36:01 +0000<EOL>
Sent 20/11/2012 16:36:02: EHLO macxp<EOL>
Recv 20/11/2012 16:36:02: 250-pod51016.outlook.com Hello [81.155.5.61]<EOL>250-SIZE 36700160<EOL>250-PIPELINING<EOL>250-DSN<EOL>250-ENHANCEDSTATUSCODES<EOL>250-STARTTLS<EOL>250-AUTH<EOL>250-8BITMIME<EOL>250-BINARYMIME<EOL>250 CHUNKING<EOL>
Sent 20/11/2012 16:36:02: STARTTLS<EOL>
Recv 20/11/2012 16:36:02: 220 2.0.0 SMTP server ready<EOL>
Sent 20/11/2012 16:36:02: EHLO macxp<EOL>
Recv 20/11/2012 16:36:02: 250-pod51016.outlook.com Hello [81.155.5.61]<EOL>250-SIZE 36700160<EOL>250-PIPELINING<EOL>250-DSN<EOL>250-ENHANCEDSTATUSCODES<EOL>250-AUTH LOGIN<EOL>250-8BITMIME<EOL>250-BINARYMIME<EOL>250 CHUNKING<EOL>
Sent 20/11/2012 16:36:02: AUTH LOGIN<EOL>
Recv 20/11/2012 16:36:02: 334 deleted<EOL>
Sent 20/11/2012 16:36:02: deleted<EOL>
Recv 20/11/2012 16:36:02: 334 deleted<EOL>
Sent 20/11/2012 16:36:02: deleted<EOL>
Recv 20/11/2012 16:36:04: 235 2.7.0 Authentication successful<EOL>
Sent 20/11/2012 16:36:04: RSET<EOL>
Recv 20/11/2012 16:36:10: 250 2.0.0 Resetting<EOL>
Sent 20/11/2012 16:36:10: MAIL FROM: <deleted@btconnect.com><EOL>
Recv 20/11/2012 16:36:10: 250 2.1.0 Sender OK<EOL>  

問題ありません。このプログラムをスポーツ クラブに持ち込んで実行すると、次のようになります。

Stat Connected.
Recv 12/11/2012 15:17:31: 220 pod51014.outlook.com Microsoft ESMTP MAIL Service ready at Mon, 12 Nov 2012 15:17:03 +0000<EOL>
Sent 12/11/2012 15:17:31: EHLO ovscbob<EOL>
Recv 12/11/2012 15:17:31: 250-pod51014.outlook.com Hello [81.149.229.105]<EOL>250-SIZE 36700160<EOL>250-PIPELINING<EOL>250-DSN<EOL>250-ENHANCEDSTATUSCODES<EOL>250-STARTTLS<EOL>250-AUTH<EOL>250-8BITMIME<EOL>250-BINARYMIME<EOL>250 CHUNKING<EOL>
Sent 12/11/2012 15:17:31: STARTTLS<EOL>
Recv 12/11/2012 15:17:31: 220 2.0.0 SMTP server ready<EOL>
Sent 12/11/2012 15:17:31: QUIT<EOL>
Stat Disconnected.

Indy は 2 番目の EHLO コマンドの代わりに QUIT を発行しているようですが、その理由はわかりません。satSASL と関連メカニズムを使用するようにセットアップを変更しましたが、結果は同じでした。自宅では問題なく機能しますが、クラブからは機能しません。これを解決する方法はありますか?私も1週間ほど前にIndyを最新版にアップデートしました。

ありがとう

4

1 に答える 1

2

サーバーがSTARTTLSコマンドを受信し、成功の応答を返すと、それTIdSMTP以上のコマンドを送信する前に SSL/TLS ハンドシェイクを開始することを期待します。この場合、SSL/TLS ハンドシェイクが失敗する必要があり、例外が発生するはずです。 例外が発生した場合にTIdSMTPBase.StartTLS()呼び出します。これは、コマンドが成功した後にコマンドを送信するDisconnect()唯一の方法であり、2 番目の.TIdSMTPQUITSTARTTLSEHLO

于 2012-11-20T23:38:35.150 に答える