ruby-cgi メールは受信できるのですが文字化けしてしまいます。
下記のように記載しましたが、日本語のメール本文が文字化けしてしまいます。
nkfあたりが怪しいと思うのですが、お手上げです。
よろしくお願いします。
#!/usr/bin/ruby -Ke
require 'nkf'
require 'cgi'
require 'net/smtp'
def sendmail(server, subject, body, sender, recipient)
mail = ''
# メールヘッダを作る
mail << 'To: ' + recipient + "\n"
mail << 'From: ' + sender + "\n"
mail << 'Subject: ' + subject + "\n"
mail << 'Date: ' + Time.now.strftime('%a, %d %b %Y %H:%M:%S %z') + "\n"
mail << "\n"
# メールの本文
mail << body
# 送信!
Net::SMTP.start(server, 25) {|smtp|
smtp.send_mail(mail, sender, recipient)
}
end
cgi = CGI.new
output = ''
output << "ああ" + ":\n"
output << ' ' + "いいい".gsub(/\n/, "\n ") + "\n"
NKF.nkf('-j -m0', output)
sendmail('mailserver@**.co.jp', 'cgi sendmail', output,
'from@mail.co.jp', 'to@mail.co.jp'){|body|
NKF.nkf('-e -m0', body)
}
cgi.out('type' => 'text/plain') {
output
}
お礼
すばやいご回答、ありがとうございました。