【问题标题】:Log emails sent by devise in rails在 rails 中记录 devise 发送的电子邮件
【发布时间】:2011-09-07 08:26:54
【问题描述】:

我在 Rails 中使用设计进行用户身份验证。如何记录 devise 发送的电子邮件。我有一个用于存储电子邮件的模型。我怎样才能挂钩,以便在设计发送新注册、更改密码、忘记密码等的电子邮件之前,我可以将电子邮件存储在数据库中?

【问题讨论】:

    标签: ruby-on-rails-3 devise


    【解决方案1】:

    创建一个名为 config/initializers/devise_mail_logger.rb 的文件并重新打开 Devise::Mailer 类

    devise_mail_logger.rb:

    Devise::Mailer.class_eval do
    
      def devise_mail_with_logger(record, action)
        email = devise_mail_without_logger(record, action)
        #code to log this email to DB goes here
      end
    
      alias_method_chain :devise_mail, :logger
    end
    

    email 对象将包含邮件正文、主题、收件人详细信息。您可以将此对象传递给您必须存储电子邮件的模型。

    【讨论】:

      猜你喜欢
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-25
      • 1970-01-01
      • 2014-11-14
      相关资源
      最近更新 更多