使用 Devise 发送不同的确认邮件

Send different confirmation emails with Devise

我在使用 Devise 时需要发送不同的确认电子邮件。

因此,当用户从子域注册时,他们会收到不同的确认电子邮件,而当用户从根域注册时,他们会收到不同的电子邮件。

我怎样才能做到这一点?

编辑:

我创建了 MyDeviceMailer

class MyDeviseMailer < Devise::Mailer
  layout 'mailers'

  # To make sure that your mailer uses the devise views
  default template_path: 'devise/mailer' 

 def confirmation_instructions(record, token, options={})
   # Use different e-mail templates for signup e-mail confirmation 
   #   and for when a user changes e-mail address.
   if request.subdomain?
     options[:template_name] = 'confirmation_instructions_sub'
   else
     options[:template_name] = 'confirmation_instructions'
   end
   super
  end
end

并在我的 devise.rb 文件中添加了

config.mailer = 'MyDeviseMailer'

好的,所以我终于解决了这个问题。无需陷入所有这些复杂性,只需将您的确认 link 替换为

<%= link_to 'Confirm my account', user_confirmation_url(confirmation_token: @token, subdomain: Apartment::Tenant.current) %>