X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/a7368d7f8a2051c59018a3a905bcf77900e6d855..97f31cbf3b80bbfa1ec9ba05cc71f5f0ff5478a6:/script/deliver-message diff --git a/script/deliver-message b/script/deliver-message index 39901fdf2..669e54a66 100755 --- a/script/deliver-message +++ b/script/deliver-message @@ -1,7 +1,6 @@ #!/usr/bin/env ruby require File.dirname(__FILE__) + '/../config/environment' -require 'mailread' exit 0 unless recipient = ARGV[0].match(/^([cm])-(\d+)-(.*)$/) @@ -19,14 +18,23 @@ end exit 0 unless recipient[3] == digest[0,6] -mail = Mail.new(STDIN) +mail = Mail.new(STDIN.readlines.join) -message = Message.new(:sender => from, :recipient => to, - :sent_on => Time.now.getutc, - :title => mail["Subject"], - :body => mail.body.map { |l| l.rstrip }.join("\n")) +if mail.multipart? + body = mail.html_part || mail.text_part +else + body = mail +end + +message = Message.new({ + :sender => from, + :recipient => to, + :sent_on => mail.date.new_offset(0), + :title => mail.subject.sub(/\[OpenStreetMap\] */, ""), + :body => body.decoded +}, :without_protection => true) message.save! -Notifier::deliver_message_notification(message) +Notifier.message_notification(message).deliver exit 0