Sha256: 05d8c0e1dd02c922a565620798c81bada110457c3efead920aee65d5d884a012
Contents?: true
Size: 1.85 KB
Versions: 3
Compression:
Stored size: 1.85 KB
Contents
# # 普通なことをしたいならTMailを使いましょう # require 'net/smtp' require 'kconv' module Keystone module Mail class Send def initialize(smtp_addr="127.0.0.1",smtp_port=25) @smtp_addr,@smtp_port=smtp_addr,smtp_port end def self.send(from,to,title,body,smtp_addr="127.0.0.1",smtp_port=25) from_addr,from_addr_4_header = create_addr_and_header(from) title = Kconv.tojis(title) title = title.split(//,1).pack('m'); title = title.chomp if to.class.to_s == 'Array' tomany = to.join(',') else tomany = to.to_s; end head = <<HEAD Subject: =?ISO-2022-JP?B?#{title}?= To: #{tomany} From: #{from_addr_4_header} Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: Text/Plain; charset=iso-2022-jp HEAD src = head + "\n" + Kconv.tojis(body) # puts src m = Net::SMTPSession.new(smtp_addr, smtp_port) m.start() m.sendmail(src, from_addr, to) m.finish end def send(from,to,title,body) self.class.send(from,to,title,body,@smtp_addr,@smtp_port) end private def self.create_addr_and_header(addr_data) addr = '' addr_4_header = '' case addr_data.class.to_s when 'String' addr = addr_data.dup addr_4_header = addr.dup when 'Array' addr = addr_data[1].dup addr_4_header = addr_data[0].dup addr_4_header = Kconv.tojis(addr_4_header) addr_4_header = addr_4_header.split(//,1).pack('m'); addr_4_header = addr_4_header.chomp addr_4_header = "=?ISO-2022-JP?B?#{addr_4_header}?=<#{addr}>" else # TODO exception raise 'addr_data must be String or Array' end return addr,addr_4_header end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
kanamei-kanamei-keystone-0.0.10 | lib/keystone/mail/send.rb |
kanamei-keystone-0.0.10 | lib/keystone/mail/send.rb |
kanamei-keystone-0.0.9 | lib/keystone/mail/send.rb |