Smtp

Dovecot SSL - IMAP 有效,SMTP 失敗

  • August 15, 2018

我正在使用 postfix+dovecot 設置一個小型郵件伺服器。執行oppenssl s_client -connect mail.myserver.com:993(IMAP)時,會顯示伺服器的證書,我可以讓電子郵件客戶端正常連接。

但是,當我將埠更改為25(SMTP) 時,我收到錯誤消息 SSL routines:ssl3_get_record:wrong version number,並且沒有返回任何證書。

根據我的研究,文件中允許的協議和密碼似乎是10-ssl.conf問題所在,但我嘗試了很多組合,但仍然遇到相同的錯誤。這就是他們目前的情況:

ssl_protocols = TLSv1.2 TLSv1.1 TLSv1 !SSLv3 !SSLv2
ssl_cipher_list = HIGH:!SSLv2:!SSLv3:!TLSv1.0:!aNULL:!MD5

如何讓伺服器在 SMTP 埠上返回證書?

您的 Postfix + Dovecot 設置有兩個不同的伺服器軟體執行不同的角色:

  • Dovecot 在你的配置中是一個郵件儲存伺服器,負責 IMAP。此外,Dovecot為 Postfix提供 SASL 身份驗證。配置文件/etc/dovecot/conf.d/10-ssl.conf僅適用於 Dovecot,因此它只影響STARTTLS埠 143 上的 IMAP 和埠 993 上的 IMAPS。
  • Postfix 是負責 SMTP的郵件傳遞代理(MTA),無論是 TCP 埠 25 上的其他 MTA、埠 587上的消息送出STARTTLS還是埠 465 上的 SMTPS。Postfix 的主要配置main.cf文件master.cf位於/etc/postfix/.

您只能993使用465. oppenssl s_client -connect mail.example.com:465要測試STARTTLSSMTP 埠25587IMAP 埠143,您需要使用:

openssl s_client -starttls smtp -connect mail.example.com:25
openssl s_client -starttls smtp -connect mail.example.com:587
openssl s_client -starttls imap -connect mail.example.com:143

還有幾個用於測試的網站和工具,在 Security Stack Exchange question中進行了討論。要在 Postfix 中配置 TLS,請參閱Postfix TLS 支持Postfix 和 Dovecot SASL文件也有一個配置送出的範例。此外,您需要將 TLS 參數添加到您的main.cf.

引用自:https://serverfault.com/questions/926478