记录由rails设计发送的电子邮件

时间:2011-09-07 08:26:54

标签: ruby-on-rails-3 devise

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

1 个答案:

答案 0 :(得分:2)

创建一个名为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对象将包含邮件正文,主题,收件人详细信息。您可以将此对象传递给您必须存储电子邮件的模型。