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 /path/to/mails then FileDelivery will create the directory 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
27: def deliver!(mail)
28: if ::File.respond_to?(:makedirs)
29: ::File.makedirs settings[:location]
30: else
31: ::FileUtils.mkdir_p settings[:location]
32: end
33:
34: mail.destinations.uniq.each do |to|
35: ::File.open(::File.join(settings[:location], to), 'a') { |f| "#{f.write(mail.encoded)}\r\n\r\n" }
36: end
37: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.