mail-iso-2022-jp gem を用いた際に Encoding::UndefinedConversionError が発生

Rails のアプリケーションで mail-iso-2022-jp gem の 1.1.6 を使っていたところ、表題のエラーが発生。
gem の中身を確認してみました。

vi /path/to/gem/mail-iso-2022-jp-1.1.6/lib/mail-iso-2022-jp/patches.rb
# coding:utf-8

require 'mail'
require 'base64'

module Mail
  WAVE_DASH = "" # U+301C
  FULLWIDTH_TILDE = "" # U+FF5E
  if RUBY_VERSION >= '1.9'
    ENCODE = {'iso-2022-jp' => Encoding::CP50221}
    def self.encoding_to_charset(str, charset)
      str.encode(ENCODE[charset.to_s.downcase] || charset).force_encoding(charset)
    end
  # 略
  end
end

12行目の str.encode で例外が発生しているようです。
例外をキャッチしてもいいのですが、今回はとにかくメールを飛ばす事を優先したかったので次のように修正。

str.encode((ENCODE[charset.to_s.downcase] || charset), :invalid => :replace, :undef => :replace).force_encoding(charset)

これで不正なバイト列と未定義の文字を?で置き換えるようになりました。