サイボウズOfficeでUTF-8のメールを読む – DeleGateで文字化け対策

2009年5月25日追記
サイボウズOffice8ではUTF-8のメールが読めるようになっていました。
コメントで教えていただき、確認したところたしかに読めるようになっていました。ありがとうございました。
このエントリ後にバージョンアップしたときに、リリースノートは読んだはずなんですが、そんなこと書いてあったかなあ。
メールのソースを見るとヘッダはUTF-8のままで文字コード変換して表示しているようですね。ちょっと気持ち悪いですが、まあ読めないよりはずっといいです。

職場ではサイボウズを使っている。最近はUTF-8のメールがちょこちょこ届く。サイボウズはUTF-8のメールを受信すると文字化けするんですよ。
http://cbdb.cybozu.co.jp/cgi-bin/db.cgi?page=DBRecord&did=843&vid=116&rid=10

頻繁ではないけれど、読めないと困るものが結構ある。ブラウザでソースを見るのも疲れてきた。ずーっとサイボウズの対応を待っていたのだけれど、ぜんぜんそんな気配もない。暮れも押し迫って大きな作業もできないこのタイミングで、なんとかすることにした。

まあDeleGateを動かすだけなんだけれど。

pop-proxy.example.comというホストにDeleGateをインストールして、

./delegated -P110 SERVER=pop://pop.example.com CHARCODE=iso-2022-jp

とrootで起動すると、/var/spool/delegated-nobody/以下にログやもろもろが作成される。

pop.example.comは実際のPOPサーバのホスト名で、CHARCODE=iso-2022-jpで受信時に文字コードをiso-2022-jpに変換するという設定。

次にサイボウズ側でメール受信POPサーバの設定を、pop.example.comからpop-proxy.example.comに変更して、あとは普通に受信する。

GmailからUTF-8のメールを送ってみたり、http://www.codegear.com/ から届くメール(ここからのメールはいつも読まずに捨ててたのだけど)を再送して受信してみたり。上手くいってる感じ。懸案だったGroupWiseを使っているお客さんから届くUTF-8メールもちゃんと読めるようになった。

が、残念ながらredmineから届く通知メールは、ボディはちゃんとiso-2022-jpになるけれど、サブジェクトだけがUTF-8のままで文字化けしている。サブジェクトのquoted-printableエンコードがどうもおかしいみたい。DeleGateのCFIフィルタを書いて、サブジェクトのエンコードを自前でiso-2022-jpにするようしてはみた。解決なのだけれど、なんだか割に合わない気がする。redmineは、まあそのうち直るだろう。

問題はサイボウズ。本来ならば、サイボウズ自体のPOPクライアントでDeleGateみたいな文字コード変換機能を作り込むべきだと思う。

既存のデータベースのメンテを気にして対応しないのは間違ってる。こういう方法ならば既存データにも影響はないし、結構簡単に実装できるはず。DeleGateのソースも参考にできる。少なくともオープンソースならばとっくに対応されているだろうと思う。

このままUTF-8のメール受信対応されないと、新規導入の大きな障害になると思うのだけど。少なくとも、僕は今なら新規では導入しないな。ただ、導入してしばらく経たないと、これが問題だということにも気づかないかもしれない。

サイボウズOfficeでUTF-8のメールを読む – DeleGateで文字化け対策」への1件のフィードバック

  1. サイボウズ Office 8でやっとUTF-8に対応になりましたね。。やはり要望が多い要件だったんですね。

コメントは停止中です。