我在rails 4生产模式下使用sendgrid收到“ OpenSSL :: SSL :: SSLError(主机名与服务器证书不匹配)”

ActionMailer::Base.smtp_settings = {
    :user_name => 'xxxx',
    :password => 'xxxx',
    :domain => 'moorem.com',
    :address => 'smtp.sendgrid.net',
    :port => 587,
    :authentication => :plain,
    :enable_starttls_auto => true
}

the following error getting
OpenSSL::SSL::SSLError (hostname does not match the server certificate):
  app/controllers/pages_controller.rb:26:in `contact_create'

最佳答案

该证书的公用名称为*.smtp.sendgrid.net,主题替代名称(SAN)部分中的*.smtp.sendgrid.netsmtp.sendgrid.net。如果仅将其与通用名称进行比较,则将不匹配,而应与SAN进行比较。

所以我想这是一个错误。我不知道您使用的是哪个Ruby版本,但是在最近的版本中,主机名验证对我来说似乎也很好(对于通配符而言,太宽容了),所以我建议您使用较新的Ruby版本进行检查。

关于ruby-on-rails - 使用sendgrid在rails 4中获取“OpenSSL::SSL::SSLError(主机名与服务器证书不匹配)”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24053273/

10-13 05:37