Netscape Communicator のメール設定の謎

'99.7.16 ('02.7.27更新)

さて、Netscape Communicator 4 のメールの設定項目(メッセージの詳細設定)に以下の項目があります。

「8ビット文字を使用したメッセージの送信」
◎ そのまま(メールサーバによっては正しく動作しません)
○ "Qエンコード"MIMEエンコーディングを使用
 (メールリーダーやディスカッショングループリーダーによっては正しく動作しないことがあります)

メール設定画面
Netscape Communicator4.7(Mac)の実際の画面

一般的に日本語やアルファベット以外の文字を使う言語を送る場合、メールでは8bitを7bitにエンコード(変換)して送ります。なぜ7bitなのかといえば、アルファベットや数字の文字コードは0000000から1111111の範囲にあり7bitまでしか使わずに済むため、英語環境を前提としたメールサーバでは8bit目を認識しないことがあるからです。で、英語以外の言語で使うアルファベット以外の文字の多くは8bitのデータなので、エンコードする必要が出てくるのです。Qエンコードとは、ここではQuoted-printable形式のエンコードのことで、欧米では一般的だそうです。

じゃあ「そのまま」送ってはまずいかといえば、日本語版NCならどちらを選んでも8bitのまま送られる事は無いのです。まずISO-2022-JP(いわゆるJISコード)にエンコードされ、さらに名前や題名の日本語は Base64(Bエンコード)形式にエンコードされます。つまり総て7bitのデータにエンコードして送られます。(これは送り済みメール「Sent」ファイルをテキストエディタで開いて確認)

違いがあるのは半角カナを本文に書いた場合で、「そのまま」を選ぶと半角カナの部分だけ特殊なエンコードをされて送られます(ESC ( I 式に7bitにシフト)。受け手の方でそれが理解できるなら「そのまま」半角カナで表示されるように送るわけです。ちなみに、Nifty宛のメールなら問題ありませんし(メールサーバから直接読み込む場合はメールソフト依存)、相手もNetscape Communicator を使っているなら大丈夫でしょう。

「Qエンコード」の方を選ぶと半角カナは全角に変換して送ります。これは Quoted-printable形式ではなく、日本語版の独自の仕様だと思います。うっかり半角カナを使ってしまうのを避けたいときにはこちらがよいでしょう。半角カナを使わないならどちらを選んでも同じです。

つまり、「そのまま」を選んでもそのまま8bitでは送られないし、「Qエンコード」を選んでもQエンコードされることはないのです。(NC英語版はおそらく設定通りに送られるのでしょうけれど)

ところで、Netscape Communicator のメール本文でいきなり半角カナを書くと、判別に失敗して文字化けするようです。