STARTTLS 后丢失连接:Postfix

web*_*ebo 7 ssl postfix ruby-on-rails tls starttls

我已经设置了一个 Postfix + Courier 服务器,并且有一个使用 SMTP 服务器设置配置的 Rails 应用程序。每当 Rails 应用程序尝试发送电子邮件时,这就是 Postfix 日志中显示的内容(在 master.cf 中设置的其他日志详细程度)

Feb 22 03:57:24 alpha postfix/smtpd[1601]: Anonymous TLS connection established from localhost[127.0.0.1]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)
Feb 22 03:57:24 alpha postfix/smtpd[1601]: smtp_get: EOF
Feb 22 03:57:24 alpha postfix/smtpd[1601]: match_hostname: localhost ~? 127.0.0.0/8
Feb 22 03:57:24 alpha postfix/smtpd[1601]: match_hostaddr: 127.0.0.1 ~? 127.0.0.0/8
Feb 22 03:57:24 alpha postfix/smtpd[1601]: lost connection after STARTTLS from localhost[127.0.0.1]
Feb 22 03:57:24 alpha postfix/smtpd[1601]: disconnect from localhost[127.0.0.1]
Feb 22 03:57:24 alpha postfix/smtpd[1601]: master_notify: status 1
Feb 22 03:57:24 alpha postfix/smtpd[1601]: connection closed
Run Code Online (Sandbox Code Playgroud)

关于为什么在身份验证后失去连接的任何想法?

小智 8

ActionMailer 已更改为更安全的默认配置,并在 TLS 模式下检查服务器证书(自版本 2-something 或 3)。

一些解决方案是:

  • 在应用程序中恢复旧的 Rails 行为:添加openssl_verify_mode: 'none'到 Rails 配置
  • 在服务器上禁用 TLS:smtpd_use_tls=no在 Postfix 配置中设置
  • 在服务器上设置有效的 TLS 证书,这些证书可以使用客户端(Rails 应用程序)上的证书颁发机构进行验证。如果它与本示例中的情况相同,则这可能是过大的,但是对于这种配置,您需要确保 smtpd 没有侦听公共端口。


Ste*_*ven 5

也许 rails 应用程序不信任 postfix 证书?