#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../config/environment' exit 0 unless recipient = ARGV[0].match(/^([cm])-(\d+)-(.*)$/) if recipient[1] == "c" comment = DiaryComment.find(recipient[2]) digest = comment.digest from = comment.diary_entry.user to = comment.user else message = Message.find(recipient[2]) digest = message.digest from = message.recipient to = message.sender end exit 0 unless recipient[3] == digest[0,6] 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 => mail.date.new_offset(0), :title => mail.subject.sub(/\[OpenStreetMap\] */, ""), :body => body.decoded) message.save! Notifier.message_notification(message).deliver exit 0