骨のダイスを転がそう
2013-02-20
_ [Ruby] ruby 1.8.5 で TMail を使わず日本語メール
今どき、こんな環境でピュアRuby でメール送信する必要があったんじゃ……。
require "mail" require "iconv" module Mail class SubjectField < UnstructuredField def initialize(value = nil, charset = 'ISO-2022-JP') self.charset = 'ISO-2022-JP' super(CAPITALIZED_FIELD, strip_field(FIELD_NAME, value), self.charset) self.value = value end def encoded "Subject: " + NKF.nkf("-JM", NKF.nkf("-jW", self.value) ) + "\n" end def decoded self.value end end end mail = Mail.new("Content-Type: text/plain; charset=ISO-2022-JP") mail.from "hoge@fuga.jp" mail.to "foo@bar.com" subject = "こんにちは、これはテストです。" mail.subject subject body =<<-"EOL" こんにちは お元気ですか ではさようなら EOL mail.body Iconv.iconv("iso-2022-jp", "utf-8", body).join("") mail.delivery_method :smtp, { :address => "localhost", :port => "25" } mail.deliver!