如何在Rails 5邮件程序中配置“发件人”地址?

时间:2017-09-12 15:44:39

标签: ruby-on-rails email environment-variables ruby-on-rails-5 mailer

我正在尝试从我的Rails 5应用程序创建一封电子邮件,我想为每个环境设置“发件人:”地址。所以我创建了config / initializers / mailer_config.rb whit this content

if defined?(Rails)
  case Rails.env
  when "production"
    RAILS_FROM_EMAIL = "no-reply@me.no-ip.com"
  when "test"
    RAILS_FROM_EMAIL = "no-reply@me.no-ip.com"
  when "development"
    RAILS_FROM_EMAIL = "no-reply@me.no-ip.com"
  end
end

这是我的邮件程序类app / mailers / user_notifier.rb

class UserNotifier < ActionMailer::Base
  default :from => '#{RAILS_FROM_EMAIL}'

    ...

end

但是当我去测试我的邮件时,起始地址似乎没有被提起。它显示为

From:
#{RAILS_FROM_EMAIL}

我需要配置什么才能识别我的“发件人”地址?

1 个答案:

答案 0 :(得分:2)

default :from => '#{RAILS_FROM_EMAIL}'

不正确,RAILS_FROM_EMAIL是一个变量,所以你可以像这样调用它。

default :from => RAILS_FROM_EMAIL

甚至更好

default from: RAILS_FROM_EMAIL

此外,如果您想要像上面一样调用字符串中的变量,那么您需要“而不是”,它看起来像"#{RAILS_FROM_EMAIL}"。但是您不需要使用一个变量