Skip to Content Skip to Search

class ActionMailbox::Ingresses::Mandrill::InboundEmailsController

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

Inherits From

Public instance methods

Source code GitHub
# 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
Source code GitHub
# File actionmailbox/app/controllers/action_mailbox/ingresses/mandrill/inbound_emails_controller.rb, line 28
def health_check
  head :ok
end

Namespace

Definition files