设计和确认电子邮件
Devise and confirmation emails
我在我的 Rails 应用程序中使用 Devise 并发送电子邮件以进行电子邮件确认、密码重置和密码更改咨询。
我想知道如何将不同的图像传递到这些电子邮件中,这样我就不需要将 HTML 的负载传递给布局。理想情况下,如果可能的话,我想将图像传递给布局,也许我需要在控制器中执行此操作?
如果用户只是更新他们现有的电子邮件,我将如何发送不同的电子邮件?目前,devise 会发送相同的确认邮件。
最后,如果他们最初确认了他们的帐户,我将如何发送欢迎电子邮件,而不是如果他们只是更新他们的电子邮件?
非常感谢所有帮助,谢谢
您可以覆盖设计邮件程序以满足您的要求。
首先创建DeviseMailer
# app/mailers/devise/mailer.eb
if defined?(ActionMailer)
class Devise::Mailer < Devise.parent_mailer.constantize
include Devise::Mailers::Helpers
def confirmation_instructions(record, token, opts = {})
@token = token
if record.pending_reconfirmation?
devise_mail(record, :reconfirmation_instructions, opts)
else
devise_mail(record, :confirmation_instructions, opts)
end
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
然后只需在 app/views/devise/mailer/
中为每个方法创建所需的视图:
- reconfirmation_instructions,将在用户更改他们的电子邮件时调用
- confirmation_instructions,将在用户确认发送电子邮件时调用
- unlock_instructions,当账户被锁定时
- reset_instructions,密码重设
实际上您可以创建任何您喜欢的模板。
希望对您有所帮助。
我在我的 Rails 应用程序中使用 Devise 并发送电子邮件以进行电子邮件确认、密码重置和密码更改咨询。
我想知道如何将不同的图像传递到这些电子邮件中,这样我就不需要将 HTML 的负载传递给布局。理想情况下,如果可能的话,我想将图像传递给布局,也许我需要在控制器中执行此操作?
如果用户只是更新他们现有的电子邮件,我将如何发送不同的电子邮件?目前,devise 会发送相同的确认邮件。
最后,如果他们最初确认了他们的帐户,我将如何发送欢迎电子邮件,而不是如果他们只是更新他们的电子邮件?
非常感谢所有帮助,谢谢
您可以覆盖设计邮件程序以满足您的要求。
首先创建DeviseMailer
# app/mailers/devise/mailer.eb
if defined?(ActionMailer)
class Devise::Mailer < Devise.parent_mailer.constantize
include Devise::Mailers::Helpers
def confirmation_instructions(record, token, opts = {})
@token = token
if record.pending_reconfirmation?
devise_mail(record, :reconfirmation_instructions, opts)
else
devise_mail(record, :confirmation_instructions, opts)
end
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
然后只需在 app/views/devise/mailer/
中为每个方法创建所需的视图:
- reconfirmation_instructions,将在用户更改他们的电子邮件时调用
- confirmation_instructions,将在用户确认发送电子邮件时调用
- unlock_instructions,当账户被锁定时
- reset_instructions,密码重设
实际上您可以创建任何您喜欢的模板。
希望对您有所帮助。