webmaillaboのブログ

webmaillaboのブログ

Webメールの開発についてのブログ

Amebaでブログを始めよう!

 Webメールクライアントを扱っていて厄介なのが、マイクロソフトOutlookがらみの問題。電子メールは本来オープンソース系のシステムですが、マイクロソフト的には、電子メールサーバーはオープンソース系ではなくExchangeを使いなさいという意思表示なのだろう。


 特に日本では文字コードの問題があった。日本語メールの国際規格文字コードISO-2022-JPでは本来半角カタカナや機種依存文字を送信することができない。一昔前は、電子メールでこれらの文字を使わないのがマナーだとしていたが、そんなものをコンピューターの素人であるユーザーに説明しても仕方がなかった。クライアントパソコンのほとんどはWindowsで、Outlookどおしなら使えるものが、こちらが売り込んだものでは使えないのだから、使えないほうが欠陥ソフトだ。結局マイクロソフトに押し切られるかたちで、日本ではオープンソース系のメールクライアントに国際規格にそわない日本語拡張をして、マイクロソフトの拡張文字コードを使えるようにしている。合わせなければ文字化けしてしまう。


 これらの問題を解消できるISO-2022-JP-2004などの文字コードができているものの電子メールの国際規格に登録されていない。おそらく規格を更新するより、ISO-2022-JP系をやめてUTF-8を使うほうが混乱が少ないということで進んでいるのだろう。UTF-8を使えば、送ることができない文字はない。携帯電話を含め、最近のクライアントはUTF-8に対応するようになってきている。


 UTF-8は、7bitレンジのISO-2022-JPと異なり、8bitレンジなので、生でネットを通せない。base64でのエンコード/デコードが必要になる。古い日本語メールクライアントはこれに対応していないため、メール内容が全く判読できない。


 古いメールクライアントソフトをなくしてUTF-8を使うほかに、日本語メールでの文字化けを解決する根本的な方法はない。


 オープン系ではOutlookをけなしてきたが、日本語に限れば、ユーザー文章の中で普段使っている半角カタカナや丸文字を送ることができないという文字コードも欠陥がないとは言い切れない。




 前置きが長くなったのだが、OutlookがらみでWebメールユーザーからクレームをもらうのが、Outlookから送られる添付ファイルが開けないという問題だ。マイクロソフトの「メール」や「liveメール」でも開かないので、何がしたいのか理解できないのだが、Outlookの送信添付ファイルはwinmail.datという名前の添付となり、Outlook以外で開くことができない。拡張文字コードと同じで、Outlookどおしでは開けるのだから、ユーザーからみれはWebメールクライアントの欠陥にみえる。マイクロソフトが悪いのだとか説明しても疲れるだけなので、Webメールクライアントに対策を施さなければならない。


 「添付ファイルwinmail.datは、Outlookリッチ テキスト形式または Exchangeリッチ テキスト形式とも呼ばれ、MAPIメッセージのプロパティをカプセル化する Microsoft固有の形式」とのことで、linux上ではtnefコマンドでwinmail.datから添付ファイルを取り出せる。tnefコマンドで変換したファイルのファイル名の文字コードはShift_JISなので、環境に合わせて変換する必要がある。

 メールシステムの中で、文字コードが問題になるのはSquirrelMailなどのユーザーインターフェイスです。バックグラウンドで働いているサーバーはメールの内容に関与せずデータを転送と保存するだけなので文字コードが問題になることはありません(※1)。メールユーザーインターフェイスの評価で最も重要なものは文字コードをうまく表現できるか、つまり文字化けがないことが重要なことになります。
 本来アルファベットしか使えなかったコンピューターでの日本語の扱いは、当時としては仕方がなかった日本語メールの仕様の未熟さや、デファクトスタンダードとなったマイクロソフトでの文字コードのいびつな扱いが災いして収集のつけられない状況となっているのが現状です。結局日本語メールは国際基準の範囲内で処理できない状況になっているわけです。
 そして、国際基準に準拠したオープンソースのメールユーザーインターフェイスは日本語をうまく処理できない。SquirrelMail、RoundCubeほか国外で開発されたWebメールも同様、日本語に対応させる国際基準を無視した修正をしなければ使えないということになっています。



(※1)国際基準に沿わない文字コードはimapサーバー上でのメール検索に支障をきたします。


 SquirrelMailをはじめとするwebメールやThunderbirdなどのローカルソフトウエアはメールシステムの一部でしかないのです。電子メールの性能は、これらのユーザーインターフェイスだけで決まるわけではありません。電子メールの転送能力は裏方であるsmtpサーバーやimapサーバーに依存します。例えば1ギガバイトの添付ファイルを送信できるかどうかは裏方のサーバーの能力やポリシーに依存しています。
 webメールを評価する場合、これら裏方サーバーに制限がない状態にしておく必要があります。もちろんサーバーが使えるリソースには制限があるので、1ギガバイト程度のメールが転送できる能力があるものを使えば問題ないでしょう。
 ショートメールチャット程度の用途で電子メールを使用するのであれば、裏方のサーバーもユーザーインターフェイスのWebメールもなんでもいいのです。問題にする必要はないでしょう。いっぽう企業業務で電子メールを仕事のデータベースとして使用するような場合、画像や資料をしこたま添付したメールを送ることができる能力や検索性能が必要になります。
 スマートフォンで使うメールシステムと企業内で使うメールシステムは違うと考えています。SquirrelMailは企業内メールシステムにおいて威力を発揮するといえます。