2012-11-20 33 views
3

在Delphi體育俱樂部會員計劃中,我使用俱樂部的BTConnect賬戶(已遷移到Office365)向會員發送批量電子郵件。最近,BT增加了身份驗證,並將SMTP參數從satNone更改爲satDefault和utUseExplicitTLS。如果我從家裏運行該程序,它會按預期工作:Indy SMTP Connect在不同PC上的處理方式不同

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: <[email protected]><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. 

看來,印正在發出退出,而不是第二EHLO命令,但我不能找出原因。我改變了設置以使用satSASL和相關機制,結果相同。它在家裏運行良好,但不是來自俱樂部。有什麼辦法可以解決這個問題嗎?我也在一週前將Indy更新爲最新版本。

由於

回答

2

當服務器接收到一個命令STARTTLS和回覆背部採用了成功響應時,它希望TIdSMTP到發送任何進一步的命令之前啓動SSL/TLS握手。在這種情況下,SSL/TLS握手必須失敗,並且您應該收到引發的異常。如果發生異常,請致電TIdSMTPBase.StartTLS()致電Disconnect()。這是TIdSMTP在發出成功STARTTLS命令後發送QUIT命令的唯一方式,而不是發送第二個EHLO

+0

謝謝Remy.It發現我沒有更新俱樂部機器上的SSL包,當我切換到最新的Indy 10下載時。 – user1839569

相關問題