# File /home/matt/rubymail/mail/deliver.rb, line 28 def deliver_mbox(filename, message) File.open(filename, File::WRONLY|File::APPEND|File::CREAT|File::SYNC, 0600) { |f| f.flock(File::LOCK_EX) first = true message.each { |line| if first first = false if line !~ /^From .*\$/ from = "From foo@bar " + Time.now.asctime + "\n" f << from end elsif line =~ /^From / f << '>' end f << line f << "\n" unless line[-1] == ?\n } f << "\n" f.flush f.flock(File::LOCK_UN) } end