我试图覆盖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
则默认为其他两个。我怎么能这样做?
答案 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