Class: MicrosoftGraphMailer::Delivery
- Inherits:
-
Object
- Object
- MicrosoftGraphMailer::Delivery
- Defined in:
- lib/microsoft_graph_mailer/delivery.rb
Instance Attribute Summary collapse
-
#microsoft_graph_settings ⇒ Object
readonly
Returns the value of attribute microsoft_graph_settings.
Instance Method Summary collapse
- #deliver!(message) ⇒ Object
-
#initialize(microsoft_graph_settings) ⇒ Delivery
constructor
A new instance of Delivery.
Constructor Details
#initialize(microsoft_graph_settings) ⇒ Delivery
Returns a new instance of Delivery.
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/microsoft_graph_mailer/delivery.rb', line 9 def initialize(microsoft_graph_settings) @microsoft_graph_settings = microsoft_graph_settings [:user_id, :tenant, :client_id, :client_secret].each do |setting| unless microsoft_graph_settings[setting] raise MicrosoftGraphMailer::ConfigurationError, "'#{setting}' is missing" end end @microsoft_graph_settings[:azure_ad_endpoint] ||= "https://login.microsoftonline.com" @microsoft_graph_settings[:graph_endpoint] ||= "https://graph.microsoft.com" end |
Instance Attribute Details
#microsoft_graph_settings ⇒ Object (readonly)
Returns the value of attribute microsoft_graph_settings.
7 8 9 |
# File 'lib/microsoft_graph_mailer/delivery.rb', line 7 def microsoft_graph_settings @microsoft_graph_settings end |
Instance Method Details
#deliver!(message) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/microsoft_graph_mailer/delivery.rb', line 22 def deliver!() # https://github.com/mikel/mail/pull/872 if [:bcc] = [:bcc].include_in_headers [:bcc].include_in_headers = true end = .encoded client = MicrosoftGraphMailer::Client.new( user_id: microsoft_graph_settings[:user_id], tenant: microsoft_graph_settings[:tenant], client_id: microsoft_graph_settings[:client_id], client_secret: microsoft_graph_settings[:client_secret], azure_ad_endpoint: microsoft_graph_settings[:azure_ad_endpoint], graph_endpoint: microsoft_graph_settings[:graph_endpoint] ) response = client.send_mail() raise MicrosoftGraphMailer::DeliveryError unless response.status == 202 response ensure [:bcc].include_in_headers = if [:bcc] end |