Nokia E90のメールアプリはWEBブラウザと同様、日本語はUTF-8以外は文字化けしてしまいます。そこで、ブラウザと同様にDelegateをPOPプロクシとして受信するメールの文字コードをUTF-8に変換してしまいます。
インストールや起動方法はHTTPプロクシと同じ。違うのは起動オプションだけです。
変換スクリプトの用意
MIMEデコードと文字コードのUTF-8への変換はdelegateが行ってくれますが、それだけだとメールのヘッダに
Subject: メールの件名
のようにUTF-8の文字列がそのまま入ってしまい、受信した際に件名や送信者の名前などが文字化けしてしまいます。受信した際に文字化けしないようにするために、UTF-8になった文字列を再度MIME形式にエンコードする必要があります。そこで下記のようなスクリプトを作成しておきます。ここではencode.plという名前をつけることにします。
#!/usr/local/bin/perl -w
use Encode;
undef $/;
$_ = <>;
@x = split(/\n/,$_);
$xx = '';
$xxx='';
foreach $xx (@x){
$xx = encode("MIME-header",decode("utf8",$xx));
$xxx .= $xx."\r\n";
}
print $xxx;
変数名はちょー適当。もっと綺麗な書き方もできるけど、とりあえず動けばよしということでこんな感じです。
CFIスクリプトの用意
次に、次のようなCFIスクリプトをmy.cfiとか適当な名前で作成します。
#!cfi
Header-Filter: /var/lib/encode.pl
これだけ。encode.plは先ほど作成したperlのスクリプトです。
delegateの起動オプション
最後にdelegateの起動。
/usr/sbin/delegate -P110 SERVER=pop://mail.mopera.net CHARCODE=UTF-8 REMITTABLE=pop PERMIT="pop:*:*" FTOCL=/var/lib/my.cfi
FTOCLで指定するのは先ほど作成したCFIスクリプトです。上記のオプション指定ではポート110へのPOPアクセスをmail.mopera.netに転送します。
メーラの設定
こんな感じで、POPサーバにdelegateを動かしているサーバを指定します。ユーザ名/パスワードは本当のPOPサーバのものです。
上記で、文字化けせずメールを受信できるようになりました。