]> source.dussan.org Git - redmine.git/commitdiff
Adds cc and bcc to email log messages (#12090).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 21 Oct 2012 03:38:54 +0000 (03:38 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 21 Oct 2012 03:38:54 +0000 (03:38 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10683 e93f8b46-1217-0410-a6f0-8f06a7374b81

config/initializers/10-patches.rb

index 52e26a25b867614eaaec1b6caa8e2280b82376d4..79641513ec60c2d8a40219ca521af0ce7cde1576 100644 (file)
@@ -125,6 +125,24 @@ ActionMailer::Base.add_delivery_method :async_smtp, DeliveryMethods::AsyncSMTP
 ActionMailer::Base.add_delivery_method :async_sendmail, DeliveryMethods::AsyncSendmail
 ActionMailer::Base.add_delivery_method :tmp_file, DeliveryMethods::TmpFile
 
+# Changes how sent emails are logged
+# Rails doesn't log cc and bcc which is misleading when using bcc only (#12090)
+module ActionMailer
+  class LogSubscriber < ActiveSupport::LogSubscriber
+    def deliver(event)
+      recipients = [:to, :cc, :bcc].inject("") do |s, header|
+        r = Array.wrap(event.payload[header])
+        if r.any?
+          s << "\n  #{header}: #{r.join(', ')}"
+        end
+        s
+      end
+      info("\nSent email \"#{event.payload[:subject]}\" (%1.fms)#{recipients}" % event.duration)
+      debug(event.payload[:mail])
+    end
+  end
+end
+
 module ActionController
   module MimeResponds
     class Collector