Class: EnveloopRails::Mailer

Inherits:
Object
  • Object
show all
Defined in:
lib/enveloop_rails/mailer.rb

Overview

EnveloopRails::Mailer is an ActionMailer provider for sending mail through Enveloop.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Mailer

Initialize the EnveloopRails mailer.

Parameters:

  • config (Hash)

    Hash of config values, typically from ‘app_config.action_mailer.enveloop_settings`

Raises:



18
19
20
21
22
23
24
25
26
27
# File 'lib/enveloop_rails/mailer.rb', line 18

def initialize(config)
  @config = config

  raise EnveloopRails::ConfigurationError.new("Config requires `api_key` key", @config) unless @config.has_key?(:api_key)

  @enveloop_client = Enveloop::Client.new(**config)

  # To avoid exception in mail gem v2.6
  @settings = { return_response: true }
end

Instance Attribute Details

#configObject

Hash

config ->

Requires *at least* `api_key`


13
14
15
# File 'lib/enveloop_rails/mailer.rb', line 13

def config
  @config
end

#settingsObject

Hash

config ->

Requires *at least* `api_key`


13
14
15
# File 'lib/enveloop_rails/mailer.rb', line 13

def settings
  @settings
end

Instance Method Details

#deliver!(mail) ⇒ Object



29
30
31
# File 'lib/enveloop_rails/mailer.rb', line 29

def deliver!(mail)
  @enveloop_client.send_raw(email: mail.to_s)
end