【发布时间】:2015-06-27 21:09:53
【问题描述】:
由于将生产 Rails 应用程序迁移到新机器,尝试通过 Mandrill 发送邮件时总是收到以下错误:
OpenSSL::SSL::SSLError(主机名“smtp.mandrillapp.com”与服务器证书不匹配)
这里是
config.action_mailer.smtp_settings = {
address: 'smtp.mandrillapp.com',
port: '587',
enable_starttls_auto: true,
user_name: 'XXXXXXXX',
password: 'XXXXXXXX',
authentication: 'login', # Mandrill supports 'plain' or 'login'
domain: 'mydomain.com' }
Mandrill down 不允许 openssl_verify_mode: 'none' 如此处建议:Rails 3: OpenSSL::SSL::SSLError: hostname was not match with the server certificate
当 openssl_verify_mode: 'none' 被设置时,错误变为:
Net::SMTPAuthenticationError(535 验证数据不正确)
关于如何纠正这个问题的任何想法?
【问题讨论】:
-
端口 587 上的证书与名称匹配,但作为带有主题替代名称的通配符。我建议这可能是您在这台机器上使用的 ruby/rails 版本中的一个错误。或者您可能有不同的网络设置,因此您为此主机名获得的服务器与从公共互联网上可见的服务器不同。
标签: ruby-on-rails ruby email ssl mandrill