Linux

獲取後綴以將 SMTP/SSL/TLS 中繼到憲章/頻譜

  • November 17, 2020

我在 Debian 上執行 Postfix 作為小型 LAN 的 MX,並試圖讓SMTPS通過埠 587 與 mobile.charter.net 一起工作。我按照Google的一些連結進行了設置,並在serverfault上發布了類似的文章問題。我嘗試發送幾封電子郵件,但在郵件日誌中收到有關*“初始伺服器問候”的錯誤:*

Nov 17 03:39:14 edgemx postfix/smtp[30355]: 9B39AA4: to=<xxxxxxxx@charter.net>, relay=mobile.charter.net[47.43.18.12]:587, delay=473, delays=173/0.03/300/0, dsn=4.4.2, status=deferred (conversation with mobile.charter.net[47.43.18.12] timed out while receiving the initial server greeting)

我在發送時在埠 587 上執行了tcpdump,但我沒有看到 Postfix 和 Charter 之間發生證書傳輸。大概有三個 SYN 數據包,僅此而已。如果我在客戶端模式下使用openssl進行連接,tcpdump流量會有很大不同,我可以看到發生證書傳輸。

openssl s_client -connect mobile.charter.net:587

有誰知道怎麼回事?什麼是 openssl 做 Postfix 不是?main.cf中的相關 SASL/SSL 編輯如下。

main.cf

smtp_sasl_auth_enable         = yes
smtp_sasl_password_maps       = hash:/etc/postfix/relayhost_passwd
smtp_sasl_security_options    = noanonymous
smtp_use_tls                  = yes
smtp_tls_security_level       = encrypt
relayhost                     = [mobile.charter.net]:587
smtp_tls_mandatory_ciphers    = high

relayhost_passwd 文件(postmap’d 已經)

[mobile.charter.net]:587      xxxxxxxx@charter.net:sUp3rS3kr1t

您嘗試訪問的遠端郵件伺服器配置錯誤。

在埠 587 上,郵件伺服器應該以純文字形式回复,並期望發件人發送 STARTTLS 命令以開始 TLS 協商。

該郵件伺服器不這樣做。相反,它會立即進行 TLS 協商(隱式 TLS)。這是埠 465 的預期行為(它的行為完全相同,對於該埠是正確的)。

您可以通過設置解決此損壞的行為smtp_tls_wrappermode

smtp_tls_wrappermode = yes

還可以考慮將埠從 587 更改為 465(您仍然需要添加上述設置),因為當郵件伺服器管理員修復他們的錯誤配置時,您的傳遞將再次中斷。

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