2009-11-06 63 views
0

爲什麼我需要使用SMTP-AUTH在base64中編碼登錄和密碼。以下是我的SMTP對話示例爲什麼需要base64在smtp

220 ALAN.CP.com Microsoft ESMTP MAIL Service 
ehlo 
250 ALAN.CP.com Hello [10.10.1.1] more... 
verbs 
250 OK 
auth login 
334 VXNlcm5hbWU6 
<base64 encoded password> 
334 UGFzc3dvcmQ6 
<base64 encoded password> 
235 2.7.0 Authentication successful. 

回答

2

基本SMTP根本不需要auth。 SMTP-AUTH在RFC 4954中定義,但它並未定義您在此使用的特定類型的身份驗證'auth login'。它的確如此。

服務器實現必須實現這樣的配置,它不允許任何明文密碼機制

我找不到「AUTH LOGIN」的規範,但谷歌搜索這表明它很可能是一個微軟僅交換功能。進一步的谷歌搜索表示您的示例直接從here複製。

如果你問爲什麼這個特定的例子是base64編碼的,那是因爲微軟對RFC在明文上的禁止做了愚蠢的解釋。如果你想知道爲什麼其他SMTP認證機制使用base64,那麼它通常是因爲他們發送的數據實際上是某種二進制數據(如共享密鑰的MD5哈希和服務器提供的令牌)。如果這不能解答您的問題,請編輯您的問題以包含更多詳細信息。

+0

你不小心在公共論壇上發佈了你的用戶名和密碼。我已將您的評論標記爲刪除。 – Jherico 2009-11-06 19:32:53

+0

啊,nm,我看到這其實不是你的auth信息,而是來自一些隨機的網站。 – Jherico 2009-11-06 19:47:20

+0

>服務器實現必須實現一個配置,它不允許任何明文密碼機制 非常感謝! – bridgahad 2009-11-06 19:55:38