设计和确认电子邮件

Devise and confirmation emails

我在我的 Rails 应用程序中使用 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,密码重设

实际上您可以创建任何您喜欢的模板。

希望对您有所帮助。