Class: GettiveMailer::DeliveryMethod
- Inherits:
-
Object
- Object
- GettiveMailer::DeliveryMethod
- Defined in:
- lib/gettive_mailer/delivery_method.rb
Instance Method Summary collapse
- #deliver!(mail) ⇒ Object
-
#initialize(_options = {}) ⇒ DeliveryMethod
constructor
A new instance of DeliveryMethod.
Constructor Details
#initialize(_options = {}) ⇒ DeliveryMethod
Returns a new instance of DeliveryMethod.
5 6 |
# File 'lib/gettive_mailer/delivery_method.rb', line 5 def initialize( = {}) end |
Instance Method Details
#deliver!(mail) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/gettive_mailer/delivery_method.rb', line 8 def deliver!(mail) uri = URI("#{GettiveMailer.config.host}/v1/emails") response = Net::HTTP.start( uri.host, uri.port, use_ssl: uri.scheme == "https" ) do |http| request = Net::HTTP::Post.new(uri) request["Authorization"] = "Bearer #{GettiveMailer.config.api_key}" request["Content-Type"] = "application/json" request.body = { raw_email: Base64.strict_encode64(mail.to_s) }.to_json http.request(request) end return if response.code.to_i.between?(200, 299) raise StandardError, "GettiveMailer delivery failed: #{response.code} #{response.body}" end |