aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/action_mailbox/ingresses/postfix/inbound_emails_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/action_mailbox/ingresses/postfix/inbound_emails_controller.rb')
-rw-r--r--app/controllers/action_mailbox/ingresses/postfix/inbound_emails_controller.rb11
1 files changed, 9 insertions, 2 deletions
diff --git a/app/controllers/action_mailbox/ingresses/postfix/inbound_emails_controller.rb b/app/controllers/action_mailbox/ingresses/postfix/inbound_emails_controller.rb
index 2631302606..d34257f9e9 100644
--- a/app/controllers/action_mailbox/ingresses/postfix/inbound_emails_controller.rb
+++ b/app/controllers/action_mailbox/ingresses/postfix/inbound_emails_controller.rb
@@ -2,10 +2,17 @@ class ActionMailbox::Ingresses::Postfix::InboundEmailsController < ActionMailbox
cattr_accessor :username, default: "actionmailbox"
cattr_accessor :password
- before_action :authenticate
+ before_action :authenticate, :require_valid_rfc822_message
def create
- ActionMailbox::InboundEmail.create_and_extract_message_id! params.require(:message)
+ ActionMailbox::InboundEmail.create_and_extract_message_id! request.body.read
head :no_content
end
+
+ private
+ def require_valid_rfc822_message
+ unless request.content_type == "message/rfc822"
+ head :unsupported_media_type
+ end
+ end
end