我一直在本地构建应用程序,所有邮件程序都使用了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是否处于生产模式时,是否需要设置一些设置?还是我把一些东西搞砸了?
由于
答案 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将自动正确映射。