exit 0 unless recipient[3] == digest[0,6]
+message.update_attribute(:message_read, true) if message
+
mail = Mail.new(STDIN.readlines.join)
-body = mail.html_part || mail.text_part
-message = Message.new(:sender => from, :recipient => to,
- :sent_on => mail.date.new_offset(0),
- :title => mail.subject.sub(/\[OpenStreetMap\] */, ""),
- :body => body.decoded)
+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.message_notification(message).deliver