Class: Aws::Rails::Mailer
- Inherits:
-
Object
- Object
- Aws::Rails::Mailer
- Defined in:
- lib/aws/rails/mailer.rb
Overview
Provides a delivery method for ActionMailer that uses Amazon Simple Email Service.
Once you have an SES delivery method you can configure Rails to use this for ActionMailer in your environment configuration (e.g. RAILS_ROOT/config/environments/production.rb)
config.action_mailer.delivery_method = :aws_sdk
Uses the AWS SDK for Ruby V2’s credential provider chain when creating an SES client instance.
Instance Method Summary collapse
-
#deliver!(message) ⇒ Object
Rails expects this method to exist, and to handle a Mail::Message object correctly.
-
#initialize(options = {}) ⇒ Mailer
constructor
A new instance of Mailer.
-
#settings ⇒ Object
ActionMailer expects this method to be present and to return a hash.
Constructor Details
#initialize(options = {}) ⇒ Mailer
Returns a new instance of Mailer.
21 22 23 |
# File 'lib/aws/rails/mailer.rb', line 21 def initialize( = {}) @client = SES::Client.new() end |
Instance Method Details
#deliver!(message) ⇒ Object
Rails expects this method to exist, and to handle a Mail::Message object correctly. Called during mail delivery.
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/aws/rails/mailer.rb', line 27 def deliver!() send_opts = {} send_opts[:raw_message] = {} send_opts[:raw_message][:data] = .to_s if .respond_to?(:destinations) send_opts[:destinations] = .destinations end @client.send_raw_email(send_opts).tap do |response| .header[:ses_message_id] = response. end end |
#settings ⇒ Object
ActionMailer expects this method to be present and to return a hash.
42 43 44 |
# File 'lib/aws/rails/mailer.rb', line 42 def settings {} end |