Class: Mailkick::Service::Mailgun
- Inherits:
-
Mailkick::Service
- Object
- Mailkick::Service
- Mailkick::Service::Mailgun
- Defined in:
- lib/mailkick/service/mailgun.rb
Constant Summary
Constants inherited from Mailkick::Service
Class Method Summary collapse
Instance Method Summary collapse
- #bounces ⇒ Object
-
#initialize(options = {}) ⇒ Mailgun
constructor
A new instance of Mailgun.
- #opt_outs ⇒ Object
- #spam_reports ⇒ Object
- #unsubscribes ⇒ Object
Methods inherited from Mailkick::Service
Constructor Details
#initialize(options = {}) ⇒ Mailgun
Returns a new instance of Mailgun.
6 7 8 9 10 11 |
# File 'lib/mailkick/service/mailgun.rb', line 6 def initialize( = {}) require "mailgun" mailgun_client = ::Mailgun::Client.new([:api_key] || ENV["MAILGUN_API_KEY"]) domain = [:domain] || ActionMailer::Base.smtp_settings[:domain] @mailgun_events = ::Mailgun::Events.new(mailgun_client, domain) end |
Class Method Details
.discoverable? ⇒ Boolean
29 30 31 |
# File 'lib/mailkick/service/mailgun.rb', line 29 def self.discoverable? !!(defined?(::Mailgun) && ENV["MAILGUN_API_KEY"]) end |
Instance Method Details
#bounces ⇒ Object
25 26 27 |
# File 'lib/mailkick/service/mailgun.rb', line 25 def bounces fetch(@mailgun_events.get(event: "failed"), "bounce") end |
#opt_outs ⇒ Object
13 14 15 |
# File 'lib/mailkick/service/mailgun.rb', line 13 def opt_outs unsubscribes + spam_reports + bounces end |
#spam_reports ⇒ Object
21 22 23 |
# File 'lib/mailkick/service/mailgun.rb', line 21 def spam_reports fetch(@mailgun_events.get(event: "complained"), "spam") end |
#unsubscribes ⇒ Object
17 18 19 |
# File 'lib/mailkick/service/mailgun.rb', line 17 def unsubscribes fetch(@mailgun_events.get(event: "unsubscribed"), "unsubscribe") end |