class Submail::MailXSend

Public Class Methods

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

Public Instance Methods

add_addressbook(addressbook) click to toggle source
# File lib/submail/mail_x_send.rb, line 28
def add_addressbook(addressbook)
  @addressbook = []
  @addressbook << addressbook
end
add_bcc(address, name) click to toggle source
# File lib/submail/mail_x_send.rb, line 49
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_x_send.rb, line 42
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_x_send.rb, line 72
def add_header(key, value)
  @headers[key] = value
end
add_to(address, name) click to toggle source
# File lib/submail/mail_x_send.rb, line 21
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_x_send.rb, line 64
def add_var(key, value)
  @vars[key] = value
end
build_request() click to toggle source
# File lib/submail/mail_x_send.rb, line 76
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 @project != ""
    request["project"] = @project
  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_xsend() click to toggle source
# File lib/submail/mail_x_send.rb, line 130
def mail_xsend
  request = self.build_request()
  url = "https://api.submail.cn/mail/xsend.json"
  request["appid"] = @config["appid"]
  request["timestamp"] = get_timestamp()
  request["signature"] = create_signatrue(request, @config)
  JSON.parse http_post(url, request)
end
set_project(project) click to toggle source
# File lib/submail/mail_x_send.rb, line 60
def set_project(project)
  @project = project
end
set_reply(reply) click to toggle source
# File lib/submail/mail_x_send.rb, line 38
def set_reply(reply)
  @reply = reply
end
set_sender(from, fromname) click to toggle source
# File lib/submail/mail_x_send.rb, line 33
def set_sender(from, fromname)
  @from = from
  @fromname = fromname
end
set_subject(subject) click to toggle source
# File lib/submail/mail_x_send.rb, line 56
def set_subject(subject)
  @subject = subject
end