Method: Mail::FileDelivery#deliver!

Defined in:
lib/mail/network/delivery_methods/file_delivery.rb

#deliver!(mail) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/mail/network/delivery_methods/file_delivery.rb', line 24

def deliver!(mail)
  envelope = Mail::SmtpEnvelope.new(mail)

  if ::File.respond_to?(:makedirs)
    ::File.makedirs settings[:location]
  else
    ::FileUtils.mkdir_p settings[:location]
  end

  envelope.to.uniq.each do |to|
    path = ::File.join(settings[:location], File.basename(to.to_s+settings[:extension]))

    ::File.open(path, 'a') do |f|
      f.write envelope.message
      f.write "\r\n\r\n"
    end
  end
end