我正在构建一个向管理员收件人发送电子邮件的应用程序。在开发过程中,它的值为dev@mydomain.com,在生产中它有prod@mydomain.com。在Rails中配置这类东西的最佳方法是什么? 我想用这样的东西:
mail(to: my.delivery.mail, :subject "whatever")
由于
答案 0 :(得分:2)
有多种方式,但最简单的是:
recipient = Rails.env.production? ? 'prod@mydomain.com' : 'dev@mydomain.com'
mail(to: recipient, :subject "whatevs...")
答案 1 :(得分:1)
使用环境变量
mail(:to => ENV['ADMIN_ADDRESS'], :subject => "whatever")
然后将其设置为部署(通过capistrano或任何工具)。此信息不是业务逻辑(因此它不属于应用程序),也不是业务数据(因此它不属于数据库)。这就是环境。
答案 2 :(得分:0)
如果有多个环境,您可以设置方法(主要在邮件程序类中)并设置管理员收件人,
或写入环境文件config.admin_mail =dev@mydomain.com
和mail(to: AppName::Application.config.admin_email,..)