Ruby on rails 4 设置Mailer';Rails中每个环境的s From地址
我正在开发一个rails应用程序,它通过联系人表单(通过mailer)发送电子邮件。这一切都很有效。。正在开发中。我目前已将其设置为从域Ruby on rails 4 设置Mailer';Rails中每个环境的s From地址,ruby-on-rails-4,smtp,actionmailer,Ruby On Rails 4,Smtp,Actionmailer,我正在开发一个rails应用程序,它通过联系人表单(通过mailer)发送电子邮件。这一切都很有效。。正在开发中。我目前已将其设置为从域@dev.example.com)发送,在生产中,我希望该应用程序仅从@example.com发送。我在config/environments文件夹中添加了config.action\u mailer.smtp\u设置,其中包含每个环境的所有smtp信息。问题是当我在邮件中设置默认地址时,我正在硬编码@dev.example.com 有没有办法: 检查应用程序当
@dev.example.com
)发送,在生产中,我希望该应用程序仅从@example.com
发送。我在config/environments文件夹中添加了config.action\u mailer.smtp\u设置,其中包含每个环境的所有smtp信息。问题是当我在邮件中设置默认地址时,我正在硬编码@dev.example.com
有没有办法:
检查应用程序当前运行的环境,并为每个环境定义电子邮件地址/域
或
从相应config/environments/*.rb文件中的SMTP设置获取当前环境的:域
欢迎所有其他想法
谢谢您可以执行以下操作:
# config/initializers/rails_additional_env.rb:
if defined?(Rails)
case Rails.env
when "production"
RAILS_DOMAIN = "example.com"
when "development"
RAILS_DOMAIN = "dev.example.com"
end
end
然后在你的邮件里
default from: "foo@#{RAILS_DOMAIN}"
这是开发环境的一个结果
您可以执行以下操作:
# config/initializers/rails_additional_env.rb:
if defined?(Rails)
case Rails.env
when "production"
RAILS_DOMAIN = "example.com"
when "development"
RAILS_DOMAIN = "dev.example.com"
end
end
然后在你的邮件里
default from: "foo@#{RAILS_DOMAIN}"
这是开发环境的一个结果