私は最近、アプリケーションと男の子に受信メールを実装しましたが、地獄の門を開けましたか?それ以来、隔日でメールが届き、アプリが別の方法で失敗します。
それらの1つは、UTF-7としてエンコードされた電子メールです。ほとんどの電子メールは、ASCII、ラテンエンコーディングの一部、またはありがたいことにUTF-8として送信されます。
Hotmailのエラーメッセージ(メールアドレスが存在しない、割り当てが超過しているなど)は、UTF-7として送信されているようです。残念ながら、UTF-7はRubyが理解できるエンコーディングではありません。
> "hello world".encode("utf-8", "utf-7")
Encoding::ConverterNotFoundError: code converter not found (UTF-7 to UTF-8)
> Encoding::UTF_7
=> #<Encoding:UTF-7 (dummy)>
私のアプリケーションはクラッシュせず、実際にはメールを非常にうまく処理しますが、潜在的なエラーに関する通知を送信します。
私はしばらくグーグルで過ごしましたが、少なくともRuby 1.9.3 Encoding :: Converterとしてではなく、変換を実装した人を見つけることができません。
だから、私の質問は、UTF-7で実際の人から実際のコンテンツを含む電子メールを受け取ったことがないので、そのエンコーディングはどの程度関連があるのでしょうか。安全に無視できますか?