class Submail::MailSend

Public Class Methods

new(config) click to toggle source
# File lib/submail/mail_send.rb, line 5
def initialize(config)
  @to = []
  @addressbook = []
  @from = ""
  @fromname = ""
  @reply = ""
  @cc = []
  @bcc = []
  @subject = ""
  @text = ""
  @html = ""
  @vars ={}
  @links = {}
  @headers = {}
  @config = config
end

Public Instance Methods

add_addressbook(addressbook) click to toggle source
# File lib/submail/mail_send.rb, line 29
def add_addressbook(addressbook)
  @addressbook = []
  @addressbook << addressbook
end
add_bcc(address, name) click to toggle source
# File lib/submail/mail_send.rb, line 50
def add_bcc(address, name)
  bcc = {}
  bcc["address"] = address
  bcc["name"] = name
  @bcc << bcc
end
add_cc(address, name) click to toggle source
# File lib/submail/mail_send.rb, line 43
def add_cc(address, name)
  cc = {}
  cc["address"] = address
  cc["name"] = name
  @cc << cc
end
add_header(key, value) click to toggle source
# File lib/submail/mail_send.rb, line 77
def add_header(key, value)
  @headers[key] = value
end
add_to(address, name) click to toggle source
# File lib/submail/mail_send.rb, line 22
def add_to(address, name)
  to = {}
  to["address"] = address
  to["name"] = name
  @to << to
end
add_var(key, value) click to toggle source
# File lib/submail/mail_send.rb, line 69
def add_var(key, value)
  @vars[key] = value
end
build_request() click to toggle source
# File lib/submail/mail_send.rb, line 81
def build_request
  request = {}
  if @to.length != 0
    to = []
    @to.each do |k| 
      to << "%s<%s>" %[k["name"], k["address"]]
    end
    request["to"] = to.join(",")
  end
  if @addressbook.length != 0
    request["addressbook"] = @addressbook.join(",")
  end
  if @from != ""
    request["from"] = @from
  end
  if @fromname != ""
    request["from_name"] = @fromname
  end
  if @reply != ""
    request["reply"] = @reply
  end
  if @cc.length != 0
    cc = []
    @cc.each do |k| 
      cc << "%s<%s>" %[k["name"], k["address"]]
    end
    request["cc"] = cc.join(",")
  end
  if @bcc.length != 0
    bcc = []
    @bcc.each do |k| 
      bcc << "%s<%s>" %[k["name"], k["address"]]
    end
    request["bcc"] = bcc.join(",")
  end
  if @subject != ""
    request["subject"] = @subject
  end
  if @text != ""
    request["text"] = @text
  end
  if @html != ""
    request["html"] = @html
  end
  if @vars.length != 0
    request["vars"] = JSON.generate @vars
  end
  if @links.length != 0
    request["links"] = JSON.generate @links
  end
  
  if @headers.length != 0
    request["headers"] = JSON.generate @headers
  end
  request
end
mail_send() click to toggle source
# File lib/submail/mail_send.rb, line 138
def mail_send
  request = self.build_request()
  url = "https://api.submail.cn/mail/send.json"
  request["appid"] = @config["appid"]
  request["timestamp"] = get_timestamp()
  request["signature"] = create_signatrue(request, @config)
  JSON.parse http_post(url, request)
end
set_html(html) click to toggle source
# File lib/submail/mail_send.rb, line 65
def set_html(html)
  @html = html
end
set_reply(reply) click to toggle source
# File lib/submail/mail_send.rb, line 39
def set_reply(reply)
  @reply = reply
end
set_sender(from, fromname) click to toggle source
# File lib/submail/mail_send.rb, line 34
def set_sender(from, fromname)
  @from = from
  @fromname = fromname
end
set_subject(subject) click to toggle source
# File lib/submail/mail_send.rb, line 57
def set_subject(subject)
  @subject = subject
end
set_text(text) click to toggle source
# File lib/submail/mail_send.rb, line 61
def set_text(text)
  @text = text
end