From 8a0a1034955544ee2e4c1f85317c0db84f3aa55b Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 28 Sep 2018 12:19:43 -0700 Subject: ActionMailroom -> ActionMailbox We didn't end up using the mailroom metaphor directly, so let's stick with a more conventional naming strategy. --- .../action_mailbox/inbound_emails_controller.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 app/controllers/action_mailbox/inbound_emails_controller.rb (limited to 'app/controllers/action_mailbox/inbound_emails_controller.rb') diff --git a/app/controllers/action_mailbox/inbound_emails_controller.rb b/app/controllers/action_mailbox/inbound_emails_controller.rb new file mode 100644 index 0000000000..ec9bd6f229 --- /dev/null +++ b/app/controllers/action_mailbox/inbound_emails_controller.rb @@ -0,0 +1,17 @@ +# TODO: Add access protection using basic auth with verified tokens. Maybe coming from credentials by default? +# TODO: Spam/malware catching? +# TODO: Specific bounces for SMTP good citizenship: 200/404/400 +class ActionMailbox::InboundEmailsController < ActionController::Base + skip_forgery_protection + before_action :require_rfc822_message, only: :create + + def create + ActionMailbox::InboundEmail.create_and_extract_message_id!(params[:message]) + head :created + end + + private + def require_rfc822_message + head :unsupported_media_type unless params.require(:message).content_type == 'message/rfc822' + end +end -- cgit v1.2.3