У меня ошибка с 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-сервером?
- Почему он работает на местном?
- Почему, если я обезьяна путь класса я получил ошибку аутентификации?
- Есть ли обходной путь? я не забочусь, если это не безопасно, это просто приложение для тентов.
Я также попытался использовать почтовый ящик напрямую и получил точно такое же поведение и ошибки. –
Возможно, это временная ошибка. Похоже, что gmail теперь выгрузил свои SSL-сертификаты * снова *. – Ether