毎日モザイク

White Room Layout Works

2015-01-25T10:36:59+09:00 [Sun]
--> [Ubuntu]

Roundcubemail 1.0.5の設定

会社の公式メーラーのroundcubeをマルチバイト対応が進化している1.xx系にアップデートすることにしました。

以前、日本語対応版に変更したときは、個別の設定で大変なことになって元に戻した経緯がありましたが、1.00系なら地獄を見ても構わない。

そのくらいまともなマルチバイト対応メーラーになっています。

大幅変更はめったにやらないので、忘れてはいけないところをメモ。

高齢化が進みすぎて覚えていられませんw

ここから落として、適当な手段でインストールする。

ウェブサーバー、メールサーバー、DBの設定は済んでいるものとして、注意事項。

文字化け回避
/installpath/config/default.inc.php

$rcmail_config['force_7bit'] = true; //これを入れれば㈱だろうがなんだろうが文字化けしない
$rcmail_config['default_charset'] = 'ISO-2022-JP'; //念のため。自動文字コード判定にしくじったとき、最後に堕ちる場所。


/installpath/program/lib/Roundcube/rcube_charset.php

 // convert charset using mbstring module
    if ($mbstring_list !== false) {
        $aliases['WINDOWS-1257'] = 'ISO-8859-13'; //ver1.0.5だとここが237行目
        //ここから
        $aliases['JIS'] = 'ISO-2022-JP-MS';
        $aliases['ISO-2022-JP'] = 'ISO-2022-JP-MS';
        $aliases['EUC-JP'] = 'EUCJP-WIN';
        $aliases['SJIS'] = 'SJIS-WIN';
        $aliases['SHIFT_JIS'] = 'SJIS-WIN';
        //ここまで追加する
        // it happens that mbstring supports ASCII but not US-ASCII
        if (($from == 'US-ASCII' || $to == 'US-ASCII') && !in_array('US-ASCII', $mbstring_list)) {
            $aliases['US-ASCII'] = 'ASCII';
        }

        $mb_from = $aliases[$from] ? $aliases[$from] : $from;
        $mb_to   = $aliases[$to] ? $aliases[$to] : $to;
//これを入れないと、㈱とか化ける

0.xxまでに比べると、日本語対応でやることは激減。㈱とかが入らないならまんまでも大丈夫なくらいですが、会社で使うと㈱㈲なんかは必ず入るので入れました。

※超注意

設定ファイルの整理がいまひとつらしく、/installpath/config/default.inc.phpとconfig.inc.phpにダブっているものがあります。

読み込み順はdefaul.inc.php->config.inc.phpなので、ダブっているものはdefaut.inc.phpに書いても、config.inc.phpで上書きされてしまいます。

ダブりがあったら、default.inc.phpはほっといて、config.inc.phpだけに書けば大丈夫。

ポイントは、とにかくググらないこと。公式のマニュアルの古いものは見ないこと。