class Mailpy::DeliveryMethod
Constants
- MailpyDeliveryError
Attributes
settings[RW]
Public Class Methods
new(params)
click to toggle source
# File lib/mailpy.rb, line 11 def initialize(params) self.settings = params end
Public Instance Methods
deliver!(mail)
click to toggle source
# File lib/mailpy.rb, line 15 def deliver!(mail) perform_send_request(mail, settings) end
Private Instance Methods
perform_send_request(mail, settings)
click to toggle source
# File lib/mailpy.rb, line 20 def perform_send_request(mail, settings) begin result = MailerApi.new(mail, settings).send raise(MailpyDeliveryError, JSON.parse(result.body)['message']) unless result.code === 200 result rescue Errno::ECONNREFUSED smtp_settings = Rails.application.config.action_mailer.smtp_settings raise(MailpyDeliveryError, "SMTP miss configured. Please add SMTP configuration in your environment config") if smtp_settings.blank? result = SMTPApi.new(mail, smtp_settings).send result end end