class ActionMailer::LoggedSMTPDelivery

Attributes

logger[RW]
response[RW]

Public Class Methods

new(settings) click to toggle source
Calls superclass method
# File lib/action_mailer/logged_smtp_delivery.rb, line 7
def initialize(settings)
  super
  self.settings[:tls] = (settings[:tls] != false)
  self.settings[:return_response] = true
  self.logger = settings[:logger]
  self.response = nil
end

Public Instance Methods

deliver!(mail) click to toggle source
Calls superclass method
# File lib/action_mailer/logged_smtp_delivery.rb, line 15
def deliver!(mail)
  if logger = settings[:mail_file_logger]
    path = logger.log(mail.encoded)
    log mail, "stored at #{path}"
  end

  log_headers(mail)
  log mail, "sender: #{mail.sender}"
  log mail, "destinations: #{mail.destinations.inspect}"

  self.response = super
  log mail, "done #{response.inspect}"
end

Private Instance Methods

log(mail, message) click to toggle source
# File lib/action_mailer/logged_smtp_delivery.rb, line 41
def log(mail, message)
  logger.info("#{mail.message_id} #{message}")
end
log_header() click to toggle source
# File lib/action_mailer/logged_smtp_delivery.rb, line 37
def log_header
  settings[:log_header]
end
log_headers(mail) click to toggle source
# File lib/action_mailer/logged_smtp_delivery.rb, line 33
def log_headers(mail)
  log mail, "#{log_header}: [#{mail[log_header]}]" if log_header
end