3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/effective_logging/email_logger.rb', line 3
def self.delivering_email(message)
return if EffectiveLogging.supressed?
return unless message.present?
logged_fields = { from: message.from.join(','), to: message.to, subject: message.subject }
if message.['log'].present?
logged_fields.merge!(message.['log'].instance_variable_get(:@value) || {})
message.['log'] = nil
end
body = (message.body.try(:parts) || []).find { |part| part.content_type.to_s.downcase.include?('text/html') }
logged_fields[:email] = "#{message.}<hr>#{(body.presence || message.body)}"
(message.to || []).each do |to|
user = (User.where(email: to).first rescue nil)
logged_fields[:to] = to
logged_fields[:associated] ||= user
logged_fields[:user] ||= user
::EffectiveLogger.email("#{message.subject} - #{message.to.join(', ')}", logged_fields)
end
end
|