Обновить до Rails 3.2.0 и получить SSLError с гемом Devise & tlsmail для Google Apps? - PullRequest
1 голос
/ 01 февраля 2012

Я только что обновился до Rails 3.2.0 и получил сообщение об ошибке после регистрации, чтобы отправить приветственное письмо:

OpenSSL::SSL::SSLError in Devise::RegistrationsController#create

SSL_connect returned=1 errno=0 state=SSLv3 read server..... 
certificate B: certificate verify failed

Я использую эти драгоценные камни (наиболее подходящие):

gem 'rails', '3.2.0'
gem "pg", "0.12.0"
gem "devise", "1.5.3"
gem "thin", "1.3.1"
gem "eventmachine", "1.0.0.beta.4.1" # I'm on Windows 7 64x
gem "tlsmail", "0.0.1"

Затем, чтобы Google Apps и рассылка работали:

окружающая среда / development.rb

require 'tlsmail'
  Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
  ActionMailer::Base.delivery_method = :smtp
  ActionMailer::Base.perform_deliveries = true
  ActionMailer::Base.raise_delivery_errors = true
  ActionMailer::Base.smtp_settings = {
    :enable_starttls_auto => true,
    :address            => 'smtp.gmail.com',
    :port               => 587,
    :tls                => true,
    :domain             => 'app.com',
    :authentication     => :plain,
    :user_name          => 'test@myapp.com',
    :password           => 'app'
  }

config.action_mailer.default_url_options = { :host => 'localhost:3000' }

Я сейчас не использую какой-либо тип SSL / HTTPS.

Кто-нибудь еще имеет эту проблему или знает, как ее исправить?

ОБНОВЛЕНИЕ 01 сентября 2012 г.

Вам больше не нужен этот драгоценный камень, поскольку gmail теперь работает с Rails.

http://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration-for-gmail

Ответы [ 2 ]

10 голосов
/ 18 февраля 2012

Очевидно, опция :tls => true для ActionMailer::Base.smtp_settings не работает в Rails 3.2. Попробуйте удалить его, чтобы у вас осталось:

ActionMailer::Base.smtp_settings = {
  :enable_starttls_auto => true,
  :address            => 'smtp.gmail.com',
  :port               => 587,
  :domain             => 'app.com',
  :authentication     => :plain,
  :user_name          => 'test@myapp.com',
  :password           => 'app'
}

У меня была та же проблема, и это сработало для меня. Я еще не нашел никакой официальной документации по нему; искал вокруг и сообщение в блоге Дэна Коннора предупредило меня.

1 голос
/ 02 февраля 2012

Видимо, есть ошибки в рельсах 3.2.Мне сказали, что желательно отложить обновление до 3.2, пока некоторые коллеги-разработчики не решат некоторые проблемы.Не уверен, но одна из этих ошибок может повлиять на вас здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...