2016-04-25 50 views
1

當我連接到SMTP服務器,併發出EHLO(ESMTP)的問候,某些服務器響應:在ESMTP功能中宣傳STARTTLS的標準兼容方式是什麼?

250 STARTTLS 

哪個是正確的:

250-STARTTLS 

和其他服務器,以應對呢? RFC 3207暗示連字符是正確的。但是RFC 2487建議不應該有連字符。他們都是對的嗎?當然,部署代碼通常優先於標準,但是澄清這一點很好。

作爲一個隨機樣本,MessageLabs提供「250 STARTTLS」,而Hotmail/Outlook提供「250-STARTTLS」。

+1

2487說在頂部*已廢棄:3207 *所以我會去說什麼。 –

+0

謝謝@AlexK,我認爲你是對的。我只是希望它是公開說明的,而不是「通過RFC中的單個示例猜測」。 – pattermeister

回答

0

答案在RFC 2821。它指定以下內容:

通常,對EHLO的響應將是多行回覆。響應的每一行 都包含關鍵字和(可選)一個或多個 參數。以下爲多回復正常的語法,這些 關鍵字遵循代碼(250),併爲所有,但最後 線連字符和代碼,最後一行

所以RFC2487有它沒有一個空間空間,因爲它是他們示例SMTP會話的最後一行。 RFC3207有一個連字符,因爲它不是最後一行(這對我上面的Hotmail/Messagelabs示例是適用的)。

相關問題