2014-10-24 7 views
2

У меня ошибка с gmail gem при попытке отправить почту, это отлично работает на локальном компьютере и отлично работает на heroku, но теперь я перемещаю это приложение на VPS-сервер. Это ошибка:Gmail smtp Имя хоста не совпадает с сертификатом сервера

e = g.compose do 
    to '[email protected]' 
    subject 'testasea' 
    body 'test' 
end 

=> #<Mail::Message:25450040, Multipart: false, Headers: <From: .......> 
e.deliver! 
=> OpenSSL::SSL::SSLError: hostname does not match the server certificate 

Я добавил это в файл инициализации, без везения:

ActionMailer::Base.smtp_settings = { 
    :enable_starttls_auto => true, 
    :openssl_verify_mode => 'none' # I've tested with 0 and false, 

}

Я попытался пути обезьяны класс

OpenSSL::SSL::SSLSocket.class_eval do 
def post_connection_check(hostname) 
    return true 
end 
end 

не повезло, когда я делаю это, я получаю 535 Incorrect authentication data, однако я знаю, что данные в порядке, потому что я могу сделать

g.inbox.count :read 

И он возвращает мне правильный номер.

Я хотел бы знать:

  • неверный сертификат является один мой сервер (SMTP-клиент) посылает? или тот, который получен gmail smtp-сервером?
  • Почему он работает на местном?
  • Почему, если я обезьяна путь класса я получил ошибку аутентификации?
  • Есть ли обходной путь? я не забочусь, если это не безопасно, это просто приложение для тентов.
+0

Я также попытался использовать почтовый ящик напрямую и получил точно такое же поведение и ошибки. –

+0

Возможно, это временная ошибка. Похоже, что gmail теперь выгрузил свои SSL-сертификаты * снова *. – Ether

ответ

0

Это только предположение, но если вы находитесь в WHM VPS есть функция, которая ограничивает исходящие соединения SMTP, вы можете найти его в настройках Tweak.

Restrict outgoing SMTP to root, exim, and mailman (FKA SMTP Tweak) 

перенаправляет все SMTP соединения, если эта опция включена, вы получите сервер самостоятельно подписанный сертификат SSL, и если вы обходите его с помощью обезьяны патч или настройки конфигурации для DonT проверки сертификата SSL вы, вероятно, нашел когда вы фактически подключаетесь к локальному SMTP-серверу.

Просто отключите его и проверьте снова.

Смежные вопросы