Lea*_*RoR 5 ruby-on-rails devise ruby-on-rails-3
我刚刚升级到Rails 3.2.8并更新了我的所有宝石.我想测试我的网站,所以我开始注册但是当我点击加入按钮时它给了我错误:
OpenSSL::SSL::SSLError in RegistrationsController#create
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
app/models/user.rb:28:in `send_welcome_email'
Run Code Online (Sandbox Code Playgroud)
我正在使用Devise 2.1.2,这是我的用户模型:
class User < ActiveRecord::Base
attr_accessible :email, :password, :remember_me
attr_accessor :accessible # something for devise i think
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable,
:validatable, :email_regexp => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
after_create :send_welcome_email
private
def send_welcome_email
UserMailer.welcome_email(self).deliver
end
end
Run Code Online (Sandbox Code Playgroud)
我猜它与我的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 => 'support@app.com',
:password => '******'
}
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
Run Code Online (Sandbox Code Playgroud)
我该如何纠正这个问题?我去的时候刚开始接受这个3.2.8.如果它有帮助,我在Windows 7上.
jug*_*obo 10
RailsApps项目的以下文章详细解释了问题所在,并为RVM,OSX和Windows提供了多种解决方案.
http://railsapps.github.com/openssl-certificate-verify-failed.html
由于您使用的是Windows,因此您需要下载并安装证书文件才能解决问题.(有关更好的解释,请参阅上面的链接帖子)
关于这个问题还有一个github问题.