- def write_sent_message date, from_email
- need_blank = File.exists?(@fn) && !File.zero?(@fn)
- File.open(@fn, "a") do |f|
- f.puts if need_blank
- f.puts "From #{from_email} #{date}"
- yield f
- end
- @source.each do |offset, labels|
- m = Message.new :source => @source, :source_info => offset, :labels => labels
- Index.add_message m
- UpdateManager.relay :add, m
+ def source= s
+ raise FatalSourceError.new("Configured sent_source [#{s.uri}] can't store mail. Correct your configuration.") unless s.respond_to? :store_message
+ @souce_uri = s.uri
+ @source = s
+ end
+
+ def default_source
+ @source = Recoverable.new SentLoader.new
+ @source_uri = @source.uri
+ @source
+ end
+
+ def write_sent_message date, from_email, &block
+ @source.store_message date, from_email, &block
+
+ PollManager.each_message_from(@source) do |m|
+ m.remove_label :unread
+ PollManager.add_new_message m