Class: Aws::ActionMailer::SES::Mailer
- Inherits:
-
Object
- Object
- Aws::ActionMailer::SES::Mailer
- Defined in:
- lib/aws/action_mailer/ses/mailer.rb
Overview
Provides a delivery method for ActionMailer that uses Amazon Simple Email Service.
Delivery settings are used to construct a new ‘Aws::SES::Client` instance. Once you have a delivery method, you can configure your Rails environment to use it:
config.action_mailer.delivery_method = :ses
config.action_mailer.ses_settings = { region: 'us-west-2' }
Alternatively, you could pass the client itself.
The passed in client will be prioritized regardless of other ‘:ses_settings` given.
Instance Attribute Summary collapse
-
#settings ⇒ Object
readonly
Returns the value of attribute settings.
Instance Method Summary collapse
-
#deliver!(message) ⇒ Object
Delivers a Mail::Message object.
-
#initialize(settings = {}) ⇒ Mailer
constructor
A new instance of Mailer.
Constructor Details
#initialize(settings = {}) ⇒ Mailer
Returns a new instance of Mailer.
29 30 31 32 33 34 35 |
# File 'lib/aws/action_mailer/ses/mailer.rb', line 29 def initialize(settings = {}) @settings = settings client_settings = settings.dup @client = client_settings.delete(:ses_client) || Aws::SES::Client.new(client_settings) update_user_agent end |
Instance Attribute Details
#settings ⇒ Object (readonly)
Returns the value of attribute settings.
22 23 24 |
# File 'lib/aws/action_mailer/ses/mailer.rb', line 22 def settings @settings end |
Instance Method Details
#deliver!(message) ⇒ Object
Delivers a Mail::Message object. Called during mail delivery.
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/aws/action_mailer/ses/mailer.rb', line 38 def deliver!() params = { raw_message: { data: .to_s }, source: .smtp_envelope_from, # defaults to From header destinations: .smtp_envelope_to # defaults to destinations (To,Cc,Bcc) } @client.send_raw_email(params).tap do |response| .header[:ses_message_id] = response. end end |