Ingests inbound emails from Mailgun. Requires the following parameters:
body-mime: The full RFC 822 message
timestamp: The current time according to Mailgun as the number of seconds passed since the UNIX epoch
token: A randomly-generated, 50-character string
signature: A hexadecimal HMAC-SHA256 of the timestamp concatenated with the token, generated using the Mailgun API key
Authenticates requests by validating their signatures.
204 No Contentif an inbound email is successfully recorded and enqueued for routing to the appropriate mailbox
401 Unauthorizedif the request's signature could not be validated, or if its timestamp is more than 2 minutes old
404 Not Foundif Action Mailbox is not configured to accept inbound emails from Mailgun
422 Unprocessable Entityif the request is missing required parameters
500 Server Errorif the Mailgun API key is missing, or one of the Active Record database, the Active Storage service, or the Active Job backend is misconfigured or unavailable
Give Action Mailbox your Mailgun API key so it can authenticate requests to the Mailgun ingress.
rails credentials:editto add your API key to your application's encrypted credentials under
action_mailbox.mailgun_api_key, where Action Mailbox will automatically find it:
action_mailbox: mailgun_api_key: ...
Alternatively, provide your API key in the
Tell Action Mailbox to accept emails from Mailgun:
# config/environments/production.rb config.action_mailbox.ingress = :mailgun
Configure Mailgun to forward inbound emails to
If your application lived at
https://example.com, you would specify the fully-qualified URL
# File actionmailbox/app/controllers/action_mailbox/ingresses/mailgun/inbound_emails_controller.rb, line 48 def create ActionMailbox::InboundEmail.create_and_extract_message_id! params.require("body-mime") end