在 rails 6 中使用 devise 发送邮件时出现 ssl 错误

ssl erros sending mail using devise in rails 6

我正在生产中部署 rails 6。我正在测试 devise 的邮件功能,但出现此错误

OpenSSL::SSL::SSLError (hostname "localhost" does not match the server certificate):

我该如何解决这个问题?

谢谢

问题

如果您在 运行 Ruby 于 Rails 时遇到此问题:

OpenSSL::SSL::SSLError(主机名“localhost”与服务器证书不匹配) 这可能是由于 ActionMailer 使用 smtp 作为 delivery_method 并且您的本地邮件服务器支持 TLS/SSL,但没有 correct/valid 证书。

解决方法

您可以添加有效证书,但如果服务器仅用于发送邮件,则可能不适合。在这种情况下,您可以将 delivery_method 更改为 sendmail,这使得 ActionMailer 直接使用 sendmail 二进制文件。

source