gemから導入したatomutilがruby 2.3で動作しない。正確には、日本語混じりの文章で動作しない。rubyは捨てたのだけど、捨てきれなかったので簡単に直した。
def body=(value) if value =~ Regexp.new("^(?: [[:print:]] |[\xc0-\xdf][\x80-\xbf] |[\xe0-\xef][\x80-\xbf]{2} |[\xf0-\xf7][\x80-\xbf]{3} |[\xf8-\xfb][\x80-\xbf]{4} |[\xfc-\xfd][\x80-\xbf]{5} )*$", Regexp::EXTENDED, 'n')
の部分が問題で、UTF-8のStringかチェックしようとしているようだ。先頭行に
# coding: utf-8
を追加した上で
def body=(value) if value.valid_encoding? then #if value =~ Regexp.new("^(?: # [[:print:]] # |[\xc0-\xdf][\x80-\xbf] # |[\xe0-\xef][\x80-\xbf]{2} # |[\xf0-\xf7][\x80-\xbf]{3} # |[\xf8-\xfb][\x80-\xbf]{4} # |[\xfc-\xfd][\x80-\xbf]{5} # )*$", Regexp::EXTENDED, 'n')
として動作するようにした。これくらい元のコードで動けよと思う。