gpt4 book ai didi

ruby-on-rails - Errno::ECONNREFUSED(连接被拒绝 - connect(2) for nil port 587):对于 Heroku 上的 Rails

转载 作者:太空宇宙 更新时间:2023-11-03 16:18:28 25 4
gpt4 key购买 nike

我怀疑我在这里遗漏了一些基本的东西,但是我一直在努力解决这个问题,但没有运气。

rails 4.2.5
ruby 2.2.3p173

电子邮件在使用 Amazon SES 的 localhost 上正常发送(我遵循了 this stellar guide ),但在 Heroku 生产环境中却不行。我收到帖子标题中的错误:

Errno::ECONNREFUSED(连接被拒绝 - connect(2) for nil port 587)

我怀疑问题的核心是那里的nil,但我一直没能弄清楚它是从哪里来的。似乎没有其他人有这个问题,甚至调试级别的日志也没有给我更多的工作。

我已经阅读了很多帖子,例如 this .但据我所知,我的配置符合所有规范。

如有任何帮助/建议,我们将不胜感激。

开发.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
}

最佳答案

设置你的环境变量,确保你的 SES 端点处于生产模式,你应该是好的。

关于ruby-on-rails - Errno::ECONNREFUSED(连接被拒绝 - connect(2) for nil port 587):对于 Heroku 上的 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38677793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com