Class: EffectiveLogging::EmailLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/effective_logging/email_logger.rb

Class Method Summary collapse

Class Method Details

.delivered_email(message) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/effective_logging/email_logger.rb', line 3

def self.delivered_email(message)
  return unless message.present?

  # Cleanup the Header
  message_header = message.header.to_s
  message_header.gsub!(";\r\n charset", '; charset')

  # Cleanup the Body
  if (message_body = message.body.to_s).include?('<html>')
    message_body.gsub!(/(\r)*\n\s*/, '')
    message_body.gsub!("<!DOCTYPE html>", '')
  end

  (message.to || []).each do |email|
    user = User.where(:email => email).first

    if user.present?
      EffectiveLogger.success("email sent: #{message.subject}", :user => user, :recipient => email, :subject => message.subject, :email => message_header + '<hr>' + message_body)
    else
      EffectiveLogger.success("email sent to #{email}: #{message.subject}", :recipient => email, :subject => message.subject, :email => message_header + '<hr>' + message_body)
    end
  end
end