2
我懷疑我在這裏失去了一些基本的東西,但一直沒有運氣摔跤過一段時間。Errno :: ECONNREFUSED(連接被拒絕 - 連接(2)無端口587):對於Heroku上的Rails
的Rails 4.2.5
紅寶石2.2.3p173
電子郵件使用亞馬遜SES(我跟着this stellar guide),但不是在Heroku的生產環境上localhost
發送罰款。我收到了錯誤的文章的標題:
Errno::ECONNREFUSED (Connection refused - connect(2) for nil port 587)
我懷疑這個問題的核心是在那裏nil
,但我一直沒能揣摩出它來自哪裏。沒有其他人似乎有這個問題,甚至調試級日誌不給我任何更多的工作。
我讀過幾十個帖子,如this。但據我所知,我的配置符合所有規格。
任何幫助/建議將不勝感激。
development.rb
# Devise
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
# Configure mailer
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default :charset => "utf-8"
config.action_mailer.smtp_settings = {
:address => ENV['SES_ADDRESS'],
:port => 587,
:enable_starttls_auto => true,
:user_name => ENV['SES_ACCESS_KEY_ID'],
:password => ENV['SES_SECRET'],
:authentication => :login
}
production.rb
# Devise
config.action_mailer.default_url_options = { :host => 'myappname.herokuapp.com'}
# Configure mailer
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default :charset => "utf-8"
config.action_mailer.smtp_settings = {
:address => ENV['SES_ADDRESS'],
:port => 587,
:enable_starttls_auto => true,
:user_name => ENV['SES_ACCESS_KEY_ID'],
:password => ENV['SES_SECRET'],
:authentication => :login
}
聽起來像'ENV ['SES_ADDRESS']'是零 - 你確定環境變量設置? –
你可以粘貼這個命令的輸出telnet myappname.herokuapp.com 587從你的生產環境 – error2007s
當然......你100%正確@FrederickCheung。自從我部署了新的ENV變量到Heroku後,我忘記了我正在使用費加羅,並且需要運行'figaro heroku:set -e production'來同步所有內容。我現在是金。感謝您的建議。如果你想提交我會接受 - 否則我會接受alexandresaiz,因爲這是一個類似的觀察。 –