標準添付ライブラリの net/smtp を使って ISO-2022-JP でメールを送ろうとすると、エラー。
require "net/smtp" Net::SMTP.start("localhost", 25, "example.com") do |smtp| smtp.send_message(<<-EOS.encode(Encoding::ISO_2022_JP), "me@example.com", "to@example.net") From: My Name <me@example.com> To: Dest Address <to@example.net> Subject: test mail あいうえお EOS end #=> /usr/local/lib/ruby/2.1.0/net/protocol.rb:329:in `slice!': incompatible encoding regexp match (US-ASCII regexp with ISO-2022-JP string) (Encoding::CompatibilityError)
ISO-2022-JP のハンドリングに不自由があるのはしょうがないけど、ISO-2022-JP のメールが送れないのはまずかろう。
smtp.send_message(<<-EOS.encode(Encoding::ISO_2022_JP).force_encoding(Encoding::ASCII_8BIT), "me@example.com", "to@example.net")
とすれば送れる。