class Railgun::Mailer
Railgun::Mailer
is an ActionMailer provider for sending mail through Mailgun
.
Attributes
config[RW]
- Hash
-
config ->
Requires *at least* `api_key` and `domain` keys.
domain[RW]
- Hash
-
config ->
Requires *at least* `api_key` and `domain` keys.
settings[RW]
- Hash
-
config ->
Requires *at least* `api_key` and `domain` keys.
Public Class Methods
new(config)
click to toggle source
Initialize the Railgun
mailer.
@param [Hash] config Hash of config values, typically from `app_config.action_mailer.mailgun_config`
# File lib/railgun/mailer.rb, line 19 def initialize(config) @config = config [:api_key, :domain].each do |k| raise Railgun::ConfigurationError.new("Config requires `#{k}` key", @config) unless @config.has_key?(k) end @mg_client = Mailgun::Client.new(config[:api_key]) @domain = @config[:domain] # To avoid exception in mail gem v2.6 @settings = { return_response: true } if (@config[:fake_message_send] || false) Rails.logger.info "NOTE: fake message sending has been enabled for mailgun-ruby!" @mg_client.enable_test_mode! end end
Public Instance Methods
deliver!(mail)
click to toggle source
# File lib/railgun/mailer.rb, line 38 def deliver!(mail) mg_message = Railgun.transform_for_mailgun(mail) response = @mg_client.send_message(@domain, mg_message) if response.code == 200 then mg_id = response.to_h['id'] mail.message_id = mg_id end response end
mailgun_client()
click to toggle source
# File lib/railgun/mailer.rb, line 49 def mailgun_client @mg_obj end