postman-ruby/lib/postman/send_raw_message.rb
2020-03-20 02:24:15 +07:00

38 lines
762 B
Ruby

require 'base64'
require 'postman/send_result'
module Postman
class SendRawMessage
def initialize(client)
@client = client
@attributes = {}
end
def send!
api = @client.moonrope.request(:send, :raw, @attributes)
if api.success?
SendResult.new(@client, api.data)
elsif api.status == 'error'
raise SendError.new(api.data['code'], api.data['message'])
else
raise Error, "Couldn't send message"
end
end
def mail_from(address)
@attributes[:mail_from] = address
end
def rcpt_to(*addresses)
@attributes[:rcpt_to] ||= []
@attributes[:rcpt_to] += addresses
end
def data(data)
@attributes[:data] = Base64.encode64(data)
end
end
end