当用户尝试注册时,应发送一封电子邮件。 在本地工作。 OpenSSL::SSL::SSLError in Devise SSL_read: wrong version number
怎么了?
ruby 2.1 rails 3.2.12 苹果系统 本地主机
环境.rb
# Load the rails application
require File.expand_path('../application', __FILE__)
# Initialize the rails application
AdsPlatfrom::Application.initialize!
development.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.live.com',
port: 587,
domain: 'outlook.com',
user_name: 'XXXXX',
password: 'XXXXX',
authentication: 'plain',
enable_starttls_auto: true }
我已经尝试过 openssl_verify_mode: none
没有任何变化
我尝试过使用 tlsmail gem,然后删除了它,因为它不起作用,而且我使用的是 ruby 2.1。
最佳答案
这是邮件 gem 中的错误。
补丁概述如下:https://github.com/mikel/mail/issues/659
编辑: 这是我如何让它工作的:
将邮件 gem 显式添加到您的 Gemfile
gem '邮件'
将 gem 更新到最新版本(截至今天应该是 2.5.4)
bundle update --source mail
创建
config/initializers/mail_patch.rb
并将此文件的内容放入其中 https://raw.githubusercontent.com/AlexRevin/mail/a12f77d49c3957bddce3b76cf67587f76fa1acc9/lib/mail/network/delivery_methods/smtp.rb
或者,您可以引用您自己的 gem 分支。这似乎也是一个更清洁的解决方案!
关于ruby-on-rails - 设计中的 OpenSSL::SSL::SSLError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22665474/