FileDelivery class delivers emails into multiple files based on the destination address. Each file is appended to if it already exists.
So if you have an email going to fred@test, bob@test, joe@anothertest, and you set your location path to ~/tmp/mails then FileDelivery will create ~/tmp/mails if it does not exist, and put one copy of the email in three files, called “fred@test”, “bob@test” and “joe@anothertest”
Make sure the path you specify with :location is writable by the Ruby process running Mail.
# File lib/mail/network/delivery_methods/file_delivery.rb, line 27 def deliver!(mail) if ::File.respond_to?(:makedirs) ::File.makedirs settings[:location] else ::FileUtils.mkdir_p settings[:location] end mail.destinations.uniq.each do |to| ::File.open(::File.join(settings[:location], to), 'a') { |f| "#{f.write(mail.encoded)}\r\n\r\n" } end end
Generated with the Darkfish Rdoc Generator 2.