こんにちわ。
以前私も同じことでハマってました。
色々調べたり試した結果、件名の取得方法をメールの文字コードによって分ける必要があるようでした。
今はmail_handler.rbに以下の修正を加えることで切れることなく登録できています。
(コメント行は試行錯誤の後です。。。上手くいったあとはputのとこもコメント化しといたほうがいいかもです)
①先頭に追加
require 'nkf'
require 'Kconv'
#require 'mail'
require 'iconv'
②cleaned_up_subjectに追加
def cleaned_up_subject
# subject = NKF.nkf('-w --cp932',email.subject.to_s)
#start
# subject = email.subject.to_s.gsub(/\r\n|\r/,"")
# subject = Kconv.toutf8(email.attr["envelope"].subject)
# subject = Kconv.toutf8(email.subject)
if ( Kconv.guess(email[:subject].value) == Encoding::US_ASCII && Kconv.guess(email.subject) == Encoding::SJIS )
subject = email.subject
else
subject = Kconv.toutf8(email[:subject].value)
end
puts subject
puts email[:subject].value
puts Kconv.guess(email[:subject].value)
puts email.subject
puts Kconv.guess(email.subject)
# puts email[:subject].value.encode('UTF-8')
# puts Iconv.conv('UTF-8', 'GB2312', email[:subject].value)
# puts Iconv.conv('UTF-8', 'GB2312', email.subject.to_s)
# puts NKF.nkf('-wMB --cp932',email.subject.to_s)
# puts Kconv.toutf8(email.subject)
# subject = NKF.nkf('-w --cp932',subject)
# puts subject
#end
subject.strip[0,255]
end