ruby-on-rails - 设计中的 OpenSSL::SSL::SSLError

标签 ruby-on-rails ruby ssl devise sendmail

当用户尝试注册时,应发送一封电子邮件。 在本地工作。 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

编辑: 这是我如何让它工作的:

  1. 将邮件 gem 显式添加到您的 Gemfile

    gem '邮件'

  2. 将 gem 更新到最新版本(截至今天应该是 2.5.4)

    bundle update --source mail

  3. 创建 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/

相关文章:

ruby-on-rails - 尝试循环遍历哈希中的项目并仅返回某些项目

html - Rails html 编码

ruby-on-rails - Rails 3 - 如何测试 Controller 模块?

html - 滚动时 body 背景在移动设备上重叠 Bootstrap 列?

ruby - Gem 安装错误 : You have to install development tools first (Windows)

java - 无法通过 SSL 使用 Amazon S3 API?

ruby-on-rails - 工厂女子协会

ruby-on-rails - digital ocean 生产服务器中的奇怪错误

java - 使用 Java 与 TLS 加密的 CUPS 打印服务器通信

ssl - 使用 SSL 备份 cpanel 帐户