Class: Mailkick::Service::Postmark

Inherits:
Mailkick::Service show all
Defined in:
lib/mailkick/service/postmark.rb

Constant Summary collapse

REASONS_MAP =
{
  "HardBounce" => "bounce",
  "SpamComplaint" => "spam",
  "ManualSuppression" => "unsubscribe"
}

Constants inherited from Mailkick::Service

SendGridV2

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Mailkick::Service

#fetch_opt_outs

Constructor Details

#initialize(api_key: nil, stream_id: "broadcast") ⇒ Postmark

Returns a new instance of Postmark.



12
13
14
15
# File 'lib/mailkick/service/postmark.rb', line 12

def initialize(api_key: nil, stream_id: "broadcast")
  @client = ::Postmark::ApiClient.new(api_key || ENV["POSTMARK_API_KEY"])
  @stream_id = stream_id
end

Class Method Details

.discoverable?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/mailkick/service/postmark.rb', line 25

def self.discoverable?
  !!(defined?(::Postmark) && ENV["POSTMARK_API_KEY"])
end

Instance Method Details

#opt_outsObject



17
18
19
# File 'lib/mailkick/service/postmark.rb', line 17

def opt_outs
  suppressions
end

#suppressionsObject



21
22
23
# File 'lib/mailkick/service/postmark.rb', line 21

def suppressions
  fetch(@client.dump_suppressions(@stream_id))
end