Content-Transfer-Encoding問題
読み:コンテント-トランスファーエンコーディングもんだい
かつて、Microsoft Internet Mailが起こした問題の一つ。
概要
インターネット経由で日本語を送受信する時は、ISO-2022-JPというエンコードを使う。これは7ビットで構成されるので8ビット未対応のマシンを経由する場合でも問題が起こらない。
ところがMicrosoft Internet Mailではこのとき、「Content-Transfer-Encoding: 8bit」という、明らかに誤ったヘッダーを付ける。ISO-2022-JPは7ビットなので明らかに間違いで、このためメールが相手に送信される途中で問題が発生してしまう。
特徴
現象
電子メールは、メールをリレー形式で送信する。
その時使われるSMTPサーバーはSMTPとESMTPという2種類のタイプが存在する。
ESMTPは8ビットに対応しているが、SMTPは7ビットにしか対応していない可能性が高い。そこでESMTP→SMTPへ受け渡す際に、ESMTP側が問題を避ける目的で8ビットのメールをquoted-printableまたはbase64と呼ばれる7ビットの形式に変換する。結果として、送信先には変換された形式で届いてしまう。
問題
そもそも通常のMUA(メールソフト)は、ISO-2022-JPの日本語メールがquoted-printableやbase64で送信されることを想定していなかった。
そのため、MUAは届いたままの形式で表示するしかなくなり、結果「文字が化ける」ことになった。
MUA一部には、quoted-printableやbase64の受信に対応し、元に戻して表示するものもあるが、Microsoft Internet Mail自身も当然含まれた。
つまり、送受信双方がMicrosoft Internet Mailであれば、この問題は問題ではなかったのだが、現実にはそうではなかった。
再検索