多个'默认来自' Devise邮件中的电子邮件地址

时间:2014-07-17 21:39:03

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

我试图覆盖Devise邮件程序,以便为不同的功能使用不同的电子邮件地址默认值。据我了解,你只能为每个邮件设置一次。

我的代码如下:

if defined?(ActionMailer)
  class Devise::Mailer < Devise.parent_mailer.constantize
    include Devise::Mailers::Helpers

    default from: "Example <email-1@domain.com>"

    def confirmation_instructions(record, token, opts={})
      @token = token
      devise_mail(record, :confirmation_instructions, opts)
    end

    def reset_password_instructions(record, token, opts={})
      @token = token
      devise_mail(record, :reset_password_instructions, opts)
    end

    def unlock_instructions(record, token, opts={})
      @token = token
      devise_mail(record, :unlock_instructions, opts)
    end
  end
end

例如,我希望默认来自email-1@domain.com以获取确认说明,而email-2@domain.com则默认为其他两个。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我不确定,但这应该有用

def confirmation_instructions(record, token, opts={})
  @token = token
  opts.merge!(from: "Example <email-1@domain.com>")
  devise_mail(record, :confirmation_instructions, opts)
end