class ArMailerAWS::Clients::AmazonSES

Public Class Methods

new(options={}) click to toggle source
Calls superclass method
# File lib/ar_mailer_aws/clients/amazon_ses.rb, line 8
def initialize(options={})
  super
  if ArMailerAWS.client_config[:amazon_ses].blank? && ArMailerAWS.client == :amazon_ses
    ArMailerAWS.client_config[:amazon_ses] = AWS.config.to_h
  end
  if ArMailerAWS.ses_options && settings.blank?
    ActiveSupport::Deprecation.warn('`ArMailerAWS.ses_options` is deprecated, use `ArMailerAWS.client_config[:amazon_ses]` instead')
    @settings = ArMailerAWS.client_config[:amazon_ses] = ArMailerAWS.ses_options
  end
  @service = AWS::SimpleEmailService.new settings
end

Public Instance Methods

send_email(email) click to toggle source
# File lib/ar_mailer_aws/clients/amazon_ses.rb, line 32
def send_email(email)
  log "send email to #{email.to}"
  @service.send_raw_email email.mail, from: email.from, to: email.to
  email.destroy
  @sent_count += 1
end
send_emails(emails) click to toggle source
# File lib/ar_mailer_aws/clients/amazon_ses.rb, line 20
def send_emails(emails)
  emails.each do |email|
    return if exceed_quota?
    begin
      check_rate
      send_email(email)
    rescue => e
      handle_email_error(e, email)
    end
  end
end
sent_last_24_hours() click to toggle source
# File lib/ar_mailer_aws/clients/amazon_ses.rb, line 39
def sent_last_24_hours
  @sent_last_24_hours ||= begin
    count = @service.quotas[:sent_last_24_hours]
    log "#{count} emails sent last 24 hours"
    count
  end
end