X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/408461e5aa9419500a624d62c781d7328e5c2b9d..ce829bcc7cead94384bfec1c6e120d1ddecd4fc1:/script/deliver-message diff --git a/script/deliver-message b/script/deliver-message index 28b32cda6..b6c679b0a 100755 --- a/script/deliver-message +++ b/script/deliver-message @@ -1,7 +1,6 @@ #!/usr/bin/env ruby require File.dirname(__FILE__) + '/../config/environment' -require 'tmail' exit 0 unless recipient = ARGV[0].match(/^([cm])-(\d+)-(.*)$/) @@ -10,25 +9,29 @@ if recipient[1] == "c" digest = comment.digest from = comment.diary_entry.user to = comment.user - subject = mail.subject else message = Message.find(recipient[2]) digest = message.digest from = message.recipient to = message.sender - subject = mail.subject.sub(/\[OpenStreetMap\] */, "") end exit 0 unless recipient[3] == digest[0,6] -mail = TMail::Mail.parse(STDIN.readlines.join) +mail = Mail.new(STDIN.readlines.join) + +if mail.multipart? + body = mail.html_part || mail.text_part +else + body = mail.body +end message = Message.new(:sender => from, :recipient => to, - :sent_on => Time.now.getutc, - :title => subject, - :body => mail.body) + :sent_on => mail.date.new_offset(0), + :title => mail.subject.sub(/\[OpenStreetMap\] */, ""), + :body => body.decoded) message.save! -Notifier::deliver_message_notification(message) +Notifier.message_notification(message).deliver exit 0