使用 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) %>
我在使用 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) %>