diff options
Diffstat (limited to 'app/controllers/action_mailbox/ingresses/amazon')
-rw-r--r-- | app/controllers/action_mailbox/ingresses/amazon/inbound_emails_controller.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/app/controllers/action_mailbox/ingresses/amazon/inbound_emails_controller.rb b/app/controllers/action_mailbox/ingresses/amazon/inbound_emails_controller.rb index d3998be2d4..0c04170eae 100644 --- a/app/controllers/action_mailbox/ingresses/amazon/inbound_emails_controller.rb +++ b/app/controllers/action_mailbox/ingresses/amazon/inbound_emails_controller.rb @@ -1,3 +1,32 @@ +# Ingests inbound emails from Amazon's Simple Email Service (SES). +# +# Requires the full RFC 822 message in the +content+ parameter. Authenticates requests by validating their signatures. +# +# Returns: +# +# - <tt>204 No Content</tt> if an inbound email is successfully recorded and enqueued for routing to the appropriate mailbox +# - <tt>401 Unauthorized</tt> if the request's signature could not be validated +# - <tt>404 Not Found</tt> if Action Mailbox is not configured to accept inbound emails from SES +# - <tt>422 Unprocessable Entity</tt> if the request is missing the required +content+ parameter +# - <tt>500 Server Error</tt> if one of the Active Record database, the Active Storage service, or +# the Active Job backend is misconfigured or unavailable +# +# == Usage +# +# 1. Install the {aws-sdk-sns}[https://rubygems.org/gems/aws-sdk-sns] gem: +# +# # Gemfile +# gem "aws-sdk-sns", ">= 1.9.0", require: false +# +# 2. Tell Action Mailbox to accept emails from SES: +# +# # config/environments/production.rb +# config.action_mailbox.ingress = :amazon +# +# 3. {Configure SES}[https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-notifications.html] +# to deliver emails to your application via POST requests to +/rails/action_mailbox/amazon/inbound_emails+. +# If your application lived at <tt>https://example.com</tt>, you would specify the fully-qualified URL +# <tt>https://example.com/rails/action_mailbox/amazon/inbound_emails</tt>. class ActionMailbox::Ingresses::Amazon::InboundEmailsController < ActionMailbox::BaseController before_action :authenticate |