sendmail と Kconv
ソースは UTF-8。sendmail に渡す際に Kconv で iso-2022-jp に変換。
#!/usr/bin/ruby -Ku require 'kconv' mailer = '/usr/sbin/sendmail' from= 'xxx@xxxx.xx' to = 'xxx@xxxx.xx' subject = '件名' message = 'これはテストです。' open("| #{mailer} -t", 'w') do |f| f.puts "From: #{from}" f.puts "To: #{to}" f.puts "Subject: #{subject}".tojis f.puts f.puts message.tojis 2.times { f.puts } f.puts "." end
これだと、
From: xxx@xxxx.xx To: xxx@xxxx.xx Subject: 件名� これはテストです。�
こうなる。
open("| #{mailer} -t", 'w') do |f| f.puts "From: #{from}" f.puts "To: #{to}" f.puts "Subject: #{subject}".tojis.tojis f.puts f.puts message.tojis.tojis 2.times { f.puts } f.puts "." end
これだと、
From: xxx@xxxx.xx To: xxx@xxxx.xx Subject: 件名 これはテストです。
こうなる。
何故だ。