Rails 3.0 Action Mailer配置

时间:2011-08-22 11:14:29

标签: ruby-on-rails

我想知道以下代码之前的代码是什么:

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address              => "smtp.gmail.com",
:port                 => 587,
:domain               => 'baci.lindsaar.net',
:user_name            => '<username>',
:password             => '<password>',
:authentication       => 'plain',
:enable_starttls_auto => true  }

我知道在rails 2.3中它是这样的:

 Rails::Initializer.run do |config|

是否一样?

2 个答案:

答案 0 :(得分:2)

在rails 3中,您可以执行以下操作:

config / environments / development.rb或config / environments / production.rb

YourApplicationName::Application.configure do

    config.action_mailer.raise_delivery_errors = true
    config.action_mailer.perform_deliveries = false
    config.action_mailer.delivery_method = :smtp

    config.action_mailer.smtp_settings = {
       :address              => "smtp.gmail.com",
       :port                 => 587,
       :domain               => 'baci.lindsaar.net',
       :user_name            => '<username>',
       :password             => '<password>',
       :authentication       => 'plain',
       :enable_starttls_auto => true  

    }

end

其中YourApplicationName是创建rails应用程序时指定的应用程序的名称。

答案 1 :(得分:0)

好的,

提供的答案没有用。所以我玩弄它,这是有效的代码:

 config.action_mailer.raise_delivery_errors = true
 config.action_mailer.perform_deliveries = true
 config.action_mailer.delivery_method = :smtp

config.action_mailer.smtp_settings = {
   :address              => "mail.somesite.com",
   :port                 => 26,
   :domain               => 'somesite.com',
   :user_name            => 'no-reply+somesite.com',
   :password             => '123',
   :authentication       => 'login',
   :enable_starttls_auto => false

}