rails - dev与prod的ActionMailer URL

时间:2010-11-17 06:33:05

标签: ruby-on-rails ruby-on-rails-3 actionmailer

我一直在本地构建应用程序,所有邮件程序都使用了URL 0.0.0.0:3000,这就是我想要的...

现在我只是推送到heroku,并且URL没有更新到产品邮件程序URL。我是否正确设置了这个?

/config/environments/production.rb

    config.action_mailer.default_url_options = { :host => 'mynewapp.heroku.com' }

/config/initializers/setup_mail.rb

ActionMailer::Base.smtp_settings = {
  :address              => "smtp.sendgrid.net",
  :port                 => "25",
  :authentication       => "plain",
  :domain               => "xxxxxxx.com",
  :user_name            => "xxxx@xxxxxx.com",
  :password             => "xxxxxxxxxxxxx"
}

# The to field is then changed so that the email is sent to
ActionMailer::Base.default_url_options[:host] = "0.0.0.0:3000"
Mail.register_interceptor(DevelopmentMailInterceptor) if Rails.env.development?

但是所有的网址仍然是0.0.0.0:3000当我推送到heroku以确定rails是否处于生产模式时,是否需要设置一些设置?还是我把一些东西搞砸了?

由于

2 个答案:

答案 0 :(得分:1)

把这一行:

ActionMailer::Base.default_url_options[:host] = "0.0.0.0:3000"

config / environments / development.rb 中,也在 config / environments / production.rb 中,但在后者中将其修改为适当的URL。< / p>

通过将其放入初始化程序中,您可以针对所有环境进行设置,这是不正确的。

答案 1 :(得分:0)

将此行添加到Gemfile

gem "action_mailer_auto_url_options"

和URL将自动正确映射。