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だけに書けば大丈夫。
ポイントは、とにかくググらないこと。公式のマニュアルの古いものは見ないこと。