module MicrosoftActionmailer::Api
Public Instance Methods
make_api_call(endpoint, token, params = nil, req_method)
click to toggle source
# File lib/microsoft_actionmailer/api.rb, line 38 def make_api_call(endpoint, token, params = nil, req_method) headers = { 'Authorization'=> "Bearer #{token}", 'Content-Type' => 'application/json' } query = params || {} if req_method == 'get' HTTParty.get "#{GRAPH_HOST}#{endpoint}", headers: headers, query: query elsif req_method == 'post' HTTParty.post "#{GRAPH_HOST}#{endpoint}", headers: headers, body: query.to_json end end
ms_create_message(token, subject, content, address)
click to toggle source
Creates a message and saves in 'Draft' mailFolder
# File lib/microsoft_actionmailer/api.rb, line 5 def ms_create_message(token, subject, content, address) query = { "subject": subject, "importance": "Normal", "body":{ "contentType": "HTML", "content": content }, "toRecipients": [ { "emailAddress": { "address": address } } ] } create_message_url = '/v1.0/me/messages' req_method = 'post' response = make_api_call create_message_url, token, query,req_method raise response.parsed_response.to_s || "Request returned #{response.code}" unless response.code == 201 response end
ms_send_message(token, message_id)
click to toggle source
Sends the message created using message id
# File lib/microsoft_actionmailer/api.rb, line 29 def ms_send_message(token, message_id) send_message_url = "/v1.0/me/messages/#{message_id}/send" req_method = 'post' query = {} response = make_api_call send_message_url, token, query,req_method raise response.parsed_response.to_s || "Request returned #{response.code}" unless response.code == 202 response end