【发布时间】:2011-09-07 08:26:54
【问题描述】:
我在 Rails 中使用设计进行用户身份验证。如何记录 devise 发送的电子邮件。我有一个用于存储电子邮件的模型。我怎样才能挂钩,以便在设计发送新注册、更改密码、忘记密码等的电子邮件之前,我可以将电子邮件存储在数据库中?
【问题讨论】:
我在 Rails 中使用设计进行用户身份验证。如何记录 devise 发送的电子邮件。我有一个用于存储电子邮件的模型。我怎样才能挂钩,以便在设计发送新注册、更改密码、忘记密码等的电子邮件之前,我可以将电子邮件存储在数据库中?
【问题讨论】:
创建一个名为 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 对象将包含邮件正文、主题、收件人详细信息。您可以将此对象传递给您必须存储电子邮件的模型。
【讨论】: