我已經在這個問題上做了相當多的研究,但一直未能解決我的問題。我使用Rails 3.0.3,Ruby 1.8.7(patchlevel 334),Apache,Passenger 3.0.7和Devise gem 1.1.8。另外,我正在使用Gmail發送電子郵件。當我嘗試發送密碼重設時,我在我的Apache error_log中收到錯誤:Ruby on Rails/Devise smtp.rb分段錯誤
[Tue Nov 01 19:40:31 2011] [error]腳本標題的提前結束:用戶 [pid = 9371 thr = 3084437904 file = ext/apache2/Hooks.cpp:822 time = 2011-11-01 19:40:31.664]:後端應用程序(進程9569)未發送有效的HTTP響應;相反,它什麼也沒有發送。它可能已經崩潰;請檢查此應用程序中是否存在崩潰的錯誤。
從我的研究中,我發現一個原因可能是由於Ruby on Rails尋找OpenSSL的bug版本。我嘗試添加這對我的.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之外,它運行的是以上所有版本,我不在本地。
邁克