class Jobs::Email::SendRaw

Public Instance Methods

perform(params) click to toggle source
# File lib/restpack_email_service/jobs/email/send_raw.rb, line 8
def perform(params)
  params.deep_symbolize_keys!
  configuration = get_configuration(params)

  Mail.defaults do
    delivery_method :smtp, {
      address:              configuration[:smtp_server],
      port:                 configuration[:smtp_port],
      user_name:            configuration[:smtp_username],
      password:             configuration[:smtp_password],
      enable_starttls_auto: true
    }
  end

  mail = Mail.new do
    to params[:to]
    from params[:from] || configuration[:default_from]
    subject params[:subject]

    text_part do
      body params[:text_body]
    end

    if params[:html_body]
      html_part do
        content_type 'text/html; charset=UTF-8'
        body params[:html_body]
      end
    end
  end

  mail.deliver
end

Private Instance Methods

get_configuration(params) click to toggle source
# File lib/restpack_email_service/jobs/email/send_raw.rb, line 44
def get_configuration(params)
  config = Serializers::Email::Configuration.resource(
    application_id: params[:application_id]
  )[:configurations]

  raise "Email is not setup for this application" if config.empty?
  return config.first
end