1

heroku cedar スタックで sendgrid 経由でメールを送信しようとすると、次のエラーが発生しました。

ArgumentError (SMTP-AUTH requested but missing user name):

/environments/staging.rb の私の設定は次のとおりです。

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.default_url_options = { :host => 'myapp' }

  ActionMailer::Base.smtp_settings = {
    :address        => "smtp.sendgrid.net",
    :port           => "587",
    :authentication => :plain,
    :user_name      => ENV['SENDGRID_USERNAME'],
    :password       => ENV['SENDGRID_PASSWORD'],
    :domain         => 'heroku.com'
  }

私のSendgridパスワード/ユーザー名は、このページに従ってHerokuから取得されます

誰か提案はありますか?

4

1 に答える 1

3

config/enviornments/staging.rb設定を からに移動してみてくださいconfig/initializers/smtp.rb。そうすれば、現在の環境に関係なく ActionMailer が構成されていることがわかります。

環境ファイルに配信固有の設定を保持する必要があります。

config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true  
于 2012-07-20T16:20:49.230 に答える