【问题标题】:Automatically logging email sent through Rails自动记录通过 Rails 发送的电子邮件
【发布时间】:2015-03-20 09:33:37
【问题描述】:

我们通过 Rails(然后通过 Amazon SES)发送许多电子邮件。我现在想在我们的数据库中记录所有这些电子邮件,以便我们确切知道哪些电子邮件被发送到哪里以及所有详细信息。我也很想知道是哪个类/方法发送了这些电子邮件或以某种方式标记它们。

这一定是一个非常普遍的需求,所以我很好奇 Rails 是否有一种机制可以自动处理这个问题?

【问题讨论】:

  • 查看这个帖子:stackoverflow.com/questions/3525145/… 它可以帮助你
  • @lucianosousa - 这是关于检查是否有人打开了电子邮件,这与我问的不是一回事。每当我的 Rails 应用程序发送电子邮件时,我都想登录我的数据库。

标签: ruby-on-rails ruby ruby-on-rails-4 actionmailer ruby-on-rails-4.2


【解决方案1】:

mail-logger gem 捕获有关已发送电子邮件的信息,并将它们记录到文件中。

只需做一些工作,就可以将其定制为写入数据库。

gem 是overriding delivered_email method 来记录详细信息:

class Mail::Logger::Callback
  def self.delivered_email(email)
    Mail::Logger.logger.info email.inspect
  end
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    相关资源
    最近更新 更多