2012-07-04 12 views
8

RoRアプリケーションにExchange対応メールサーバーをセットアップしました。 、このセットアップは動作しませんRailsのconfig.action_mailer.smtp_settingsとActionMailer :: Base.smtp_settingsの違いは何ですか?

config.action_mailer.smtp_settings = { 
    :address    => 'mail.server.com', 
    :port     => 5870, 
    :user_name   => 'username', 
    :password    => 'password', 
    :authentication  => :login 
} 

私はNet::SMTPAuthenticationError: 504 Unrecognized authentication type.

を取得し、私はenvironment.rbにまったく同じ設定を適用した場合しかし、それは完璧に動作します:私はdevelopment.rbで次の設定を使用

ActionMailer::Base.smtp_settings = { 
    :address    => 'mail.server.com', 
    :port     => 5870, 
    :user_name   => 'username', 
    :password    => 'password', 
    :authentication  => :login 
} 

どうしてこれなの? config.action_mailer.smtp_settingsは同じ設定をしてはいけませんか?これはバグですか?それには理由がありますか?

は私がtold hereとしてのGmailでそれを試みたが、それは、作品smtp_settingsので、メーラーに影響を持っていませんが、それはすべてのオプション/仕事カウント​​されないように私には思えます。

答えて

4

config.action_mailer.smtp_settingsActionMailer::Base.smtp_settingsに設定を転送します。

しかし、主な違いは、第1のグローバル設定である前者は、環境固有の設定であることです。

他の言葉では、設定を適用するために、適切な環境ファイルに config.action_mailer.smtp_settingsを設定してくださいする必要があります。本番環境で設定を使用する場合は、たとえば、 config/environments/production.rbファイルに割り当てを追加します。同様に、設定をプロジェクト全体に適用する場合は、 config/application.rbに設定します。

+1

開発モードの設定を 'development.rb'に設定しましたが、設定を転送しませんでした。 2つは同じではないようです - これは私の質問についてです。これはバグですか? – andrasf

2

私はconfig.action_mailer.smtp_settingsは動作しませんでした、同様の問題があったが、すべての構成が適切でした。

最後に私は、RailsエクステンションがイニシャライザフェーズでActionMailer :: Baseの設定をオーバーライドしていることを理解しました... あなたのコードとすべてのサードパーティコード(!)、拡張モジュール、モジュールなどを調べてください問題になるはずです!

+0

これを上書きしていた拡張機能はありますか?私も同様の問題があります。 – Andrew

関連する問題