class ActionMailbox::Ingresses::Mandrill::InboundEmailsController

Parent:
ActionMailbox::BaseController

Ingests inbound emails from Mandrill.

Requires a mandrill_events parameter containing a JSON array of Mandrill inbound email event objects. Each event is expected to have a msg object containing a full RFC 822 message in its raw_msg property.

Returns:

  • 204 No Content if an inbound email is successfully recorded and enqueued for routing to the appropriate mailbox

  • 401 Unauthorized if the request's signature could not be validated

  • 404 Not Found if Action Mailbox is not configured to accept inbound emails from Mandrill

  • 422 Unprocessable Entity if the request is missing required parameters

  • 500 Server Error if the Mandrill API key is missing, or one of the Active Record database, the Active Storage service, or the Active Job backend is misconfigured or unavailable

Public Instance Methods

create() Show source
# File actionmailbox/app/controllers/action_mailbox/ingresses/mandrill/inbound_emails_controller.rb, line 20
def create
  raw_emails.each { |raw_email| ActionMailbox::InboundEmail.create_and_extract_message_id! raw_email }
  head :ok
rescue JSON::ParserError => error
  logger.error error.message
  head :unprocessable_entity
end

© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.