0

Rails アプリで Heroku Sendgrid アドオンを動作させようとしていますが、接続エラーが発生し続けます。

Errno::ECONNREFUSED (Connection refused - connect(2)):

これに関連する他のSOの質問を見てきましたが、提供された解決策-ActionMailer構成を環境ファイルから初期化子に移動する-は何も解決しませんでした。

これが私の現在の設定です:

config/initializers/smtp.rb:

ActionMailer::Base.default_url_options =  { host: 'http://my-app.herokuapp.com/'}
ActionMailer::Base.delivery_method = 'smtp'
ActionMailer::Base.smtp_settings = {
  :user_name => ENV['SENDGRID_USERNAME'],
  :password => ENV['SENDGRID_PASSWORD'],
  :domain => 'heroku.com',
  :address => 'smtp.sendgrid.net',
  :port => 587,
  :authentication => :plain,
  :enable_starttls_auto => true
}
4

1 に答える 1

4

それはうまくいくはずです。ただし、次の行を /environments/productions.rb に追加して、動作させるようにしました。

  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  ActionMailer::Base.smtp_settings = {
          :address        => 'smtp.sendgrid.net',
          :port           => '587',
          :authentication => :plain,
          :user_name      => ENV['SENDGRID_USERNAME'],
          :password       => ENV['SENDGRID_PASSWORD'],
          :domain         => 'heroku.com'
  }
  config.action_mailer.default_url_options = { :host => 'your_domain.com' }

そして、Heroku 上のアプリ用に SendGrid アドオンを正しく設定してください。

Heroku で SendGrid が適切に構成されているかどうかを確認できます。

$ heroku config

SENDGRID_PASSWORD と SENDGRID_USERNAME が表示されます。

于 2013-10-05T16:12:28.803 に答える