Class: SesMachine::Mailer
- Inherits:
-
Object
- Object
- SesMachine::Mailer
- Defined in:
- lib/ses_machine/mailer.rb
Overview
:nodoc:
Instance Method Summary collapse
-
#initialize(*args) ⇒ Mailer
constructor
A new instance of Mailer.
- #perform_delivery_ses_machine(mail) ⇒ Object (also: #deliver!)
Constructor Details
#initialize(*args) ⇒ Mailer
Returns a new instance of Mailer.
7 |
# File 'lib/ses_machine/mailer.rb', line 7 def initialize(*args); end |
Instance Method Details
#perform_delivery_ses_machine(mail) ⇒ Object Also known as: deliver!
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ses_machine/mailer.rb', line 9 def perform_delivery_ses_machine(mail) raw_source = SesMachine.use_dkim? ? sign_mail(mail) : mail.encoded begin response = SesMachine.ses.send_raw_email(raw_source, :source => SesMachine.email_account) rescue AWS::SES::ResponseError => e response = e.response end doc = { :address => mail.to, :subject => mail.subject, :raw_source => raw_source, :date => response.headers['date'].to_time.utc, :request_id => response.request_id, :response => response.to_s, :response_code => response.code, :response_error => response.error.to_s, :bounce_type => response.error? ? SesMachine::Bounce::TYPES[:unknown] : 0, '_keywords' => SesMachine::DB.get_keywords([mail.to].flatten + mail.subject.split) } doc.merge!(:message_id => response.) unless response.error? SesMachine.database['mails'].insert(doc) end |