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