diff --git a/plugins/messages/app/mail_receivers/messages_mail_receiver.rb b/plugins/messages/app/mail_receivers/messages_mail_receiver.rb index 7b8a03569..cfce5a1e9 100644 --- a/plugins/messages/app/mail_receivers/messages_mail_receiver.rb +++ b/plugins/messages/app/mail_receivers/messages_mail_receiver.rb @@ -31,24 +31,26 @@ def received(data) body = EmailReplyTrimmer.trim(body) raise BlankBodyException if body.empty? - message = @user.send_messages.new body: body, - group: @message.group, - private: @message.private, - received_email: data - message.reply_to_message = if @message.reply_to - @message.reply_to_message - else - @message - end - message.subject = if mail.subject - mail.subject.gsub("[#{FoodsoftConfig[:name]}] ", '') - else - I18n.t('messages.model.reply_subject', subject: message.reply_to_message.subject) - end - message.add_recipients [@message.sender_id] + ActiveRecord::Base.transaction do + message = @user.send_messages.new body: body, + group: @message.group, + private: @message.private, + received_email: data + message.reply_to_message = if @message.reply_to + @message.reply_to_message + else + @message + end + message.subject = if mail.subject + mail.subject.gsub("[#{FoodsoftConfig[:name]}] ", '') + else + I18n.t('messages.model.reply_subject', subject: message.reply_to_message.subject) + end + message.add_recipients [@message.sender_id] - message.save! - DeliverMessageJob.perform_later(message) + message.save! + DeliverMessageJob.perform_later(message) + end end private