8

アプリケーションによってトリガーされたすべての電子メールをデータベーステーブルに追跡して、どの電子メールが誰に送信されたかをログに記録できるようにしたいと考えています。

最善の解決策を教えてください。

4

2 に答える 2

7

次の方法でこれを解決しました。

libディレクトリにクラスを作成しました

class MyProjectMailLogger

  def self.delivering_email(message)
   @to = message.to.to_s
   @subject = message.subject.to_s
   @message = message.body.to_s
   EmailQueue.create!(:receipient_email => @to, :subject => @subject, :message => @message, :email_status_id => 3)
 end

end

config/initalizers/setup_mail.rb 内

ActionMailer::Base.register_interceptor(MyProjectMailLogger)

libディレクトリのファイルが含まれていないため、application.rbファイルに次の行を追加する必要がある場合があります。

config.autoload_paths += %W(#{config.root}/lib)

わーい!!そして私は自分のメールを記録しました。

于 2013-11-05T11:51:04.667 に答える