aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/action_mailroom/inbound_emails_controller.rb
blob: cf44367b7b2a5dcb2c486ca08692888bb44f78aa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 ActionMailroom::InboundEmailsController < ActionController::Base
  skip_forgery_protection
  before_action :require_rfc822_message

  def create
    ActionMailroom::InboundEmail.create_from_raw_email!(params[:message])
    head :created
  end

  private
    def require_rfc822_message
      head :unsupported_media_type unless params.require(:message).content_type == 'message/rfc822'
    end
end