Ruby on Rails:如何拥有条件发件人电子邮件地址



我使用rails4,我需要根据条件更改我的Action Mailer的电子邮件地址。但它仍然使用电子邮件地址的默认值。如何让它工作?

 class MailerController < ActionMailer::Base
   before_filter :get_tenant
   default from: "#{ENV['TENANT_EMAIL']}" if $tenant == 'mytenant'

   def get_tenant
     $tenant = 'mytenant'
   end
 end

我有从MailerController....继承的mailerclass

错误:发送邮件需要SMTP From地址。设置消息smtp_envele_from、return_path、sender或from address

我的建议是,更改邮件内部的'from'方法。

  def tenant?
    is_it_my_tenant_logic
  end 
  def from
    tenant? ? MailerController.default[:from] : "hiro@metaverse.com"
  end
  def a_mailer_method         
     mail(:from => from, :to => "yt@realworld.com" ,  :subject => "I have logged in")
  end

相关内容

最新更新