OpenSSL :: SSL :: SSLError: o nome do host “smtp.gmail.com” não corresponde ao certificado do servidor

1

Isto é o que eu tenho configurado no arquivo setup_email.rb,

if Rails.env.production?
  ActionMailer::Base.smtp_settings = {
      :address              => "smtp.gmail.com",
      :port                 => "587",
      :domain               => "gmail.com",
      :user_name            => "username",
      :password             => "mypass",
      :authentication       => "login",
      :enable_starttls_auto => true
  }
end

Esse código funciona no desenvolvimento e no armazenamento de dados .

Este código estava funcionando bem na produção , de repente depois de vários dias ele parou de funcionar e estou recebendo uma mensagem de erro. Eu tentei configurar openssl_verify_mode: none ainda não funciona.

Then i changed gmail account but getting same error. Seems like some server side error

Erro:

OpenSSL::SSL::SSLError: hostname "smtp.gmail.com" does not match the server certificate

Eu tentei métodos diferentes por aí na internet, mas não está funcionando. Qualquer ajuda seria apreciada.

    
por Zia Qamar 19.04.2018 / 08:06

1 resposta

1

No mesmo sistema de produção, use:

openssl s_client -connect smtp.gmail.com:587 -starttls smtp -showcerts

No meu sistema, a saída inclui:

subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com

Seu software smtp provavelmente verifica que CN = smtp.gmail.com e ele vê algo mais lá. Por exemplo, alguém poderia ter se inserido no meio entre você e o gmail.com. Não necessariamente de maneira hostil, poderia ser uma simples modificação de /etc/hosts ou uma alteração em um proxy de meias.

    
por 20.04.2018 / 13:38