设计发送邮件,覆盖默认值:来自选项

时间:2014-06-11 06:55:18

标签: ruby-on-rails ruby ruby-on-rails-3 email devise

在我的mailer.rb文件中,我写了

default :from => "a@b.com"

我的功能低于此行,例如:

def insurance
  .....
end

def welcome
  .....
end 

保险行动邮件应发送至ins@b.com,欢迎来自inf@b.com,

如何覆盖此默认值,如何在每个函数内写入。

有没有可用的选项,除了?

我试过默认,除了[:actionname]也试过,mail(:from,:to,...)里面的动作,默认来自id

2 个答案:

答案 0 :(得分:1)

如果您查看rails guides,则会明确指出default Hash - This is a hash of default values for any email you send from this mailer. This can be overridden on a per-email basis.

因此,回答您的问题是肯定的,您只需要在邮件程序方法中指定from或to选项,以覆盖上面指定的默认选项。你可以在你的方法中做到:

def insurance
  mail( from: ins@b.com, to: inf@b.com, subject: 'Your subject')
end

答案 1 :(得分:0)

default :from => "a@b.com"

这必须覆盖默认值:

def insurance
 mail(from: "ins@b.com",to: @user.email, subject: 'Insurance .. ')
end

def welcome
 mail(from: "inf@b.com",to: @user.email, subject: 'Welcome .. ')
end