アプリケーションによってトリガーされたすべての電子メールをデータベーステーブルに追跡して、どの電子メールが誰に送信されたかをログに記録できるようにしたいと考えています。
最善の解決策を教えてください。
アプリケーションによってトリガーされたすべての電子メールをデータベーステーブルに追跡して、どの電子メールが誰に送信されたかをログに記録できるようにしたいと考えています。
最善の解決策を教えてください。
次の方法でこれを解決しました。
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)
わーい!!そして私は自分のメールを記録しました。