【问题标题】:Ruby on Rails/Devise smtp.rb segmentation faultRuby on Rails/Devise smtp.rb 分段错误
【发布时间】:2011-11-02 00:29:09
【问题描述】:

我已经对此问题进行了大量研究,但未能解决我的问题。我正在使用 Rails 3.0.3、Ruby 1.8.7(补丁级别 334)、Apache、Passenger 3.0.7 和 Devise gem 1.1.8。另外,我正在使用 gmail 发送电子邮件。当我尝试发送密码重置时,我的 Apache error_log 中出现错误:

[2011 年 11 月 1 日星期二 19:40:31] [错误] 脚本头过早结束:用户 [ pid=9371 thr=3084437904 file=ext/apache2/Hooks.cpp:822 time=2011-11-01 19:40:31.664 ]:后端应用程序(进程 9569)没有发送有效的 HTTP 响应;相反,它什么也没发送。它可能已经崩溃了;请检查此应用程序是否存在崩溃错误。

根据我的研究,我发现一个原因可能是因为 Ruby on Rails 正在寻找一个有缺陷的 OpenSSL 版本。我尝试了将其添加到我的 .bashrc 文件的建议:

导出 RUBYOPT="-ropenssl"

另外,我尝试在我的 production.rb 中更新我的 SMTP 配置以不使用 TLS:

:enable_starttls_auto => 假

我的完整 SMTP 配置:

config.action_mailer.default_url_options = { :host => '<domain>' }
  ActionMailer::Base.smtp_settings = {
  :enable_starttls_auto => false,
  :address => "smtp.gmail.com",
  :port => 587,
  :domain => <domain>,
  :user_name => <username>,
  :password => <password>,
  :authentication => "plain" 
}

我发现的所有建议似乎都没有奏效。我不确定从这里去哪里,因为这些是我找到的唯一建议和修复。它在我的开发机器上没有任何问题。除了我在本地不使用的 Apache/Passenger 之外,它运行的是上述所有版本的相同版本。

迈克

【问题讨论】:

    标签: ruby-on-rails ruby smtp devise gmail


    【解决方案1】:

    我可以通过将 Devise gem 升级到 1.4.8 版来解决这个问题。但是,在升级后我得到一个错误“未定义的方法`new_session_path'。”然后我升级到 Devise 版本 1.4.9,现在一切正常。希望这对某人有所帮助。

    迈克

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-15
      • 2014-04-17
      相关资源
      最近更新 更多