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_link(key, value)
click to toggle source
# File lib/submail/mail_send.rb, line 73 def add_link(key, value) @links[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