パスワードを忘れた? アカウント作成
10280618 journal
日記

coaraの日記: Roundcube Webmailを触った 5

日記 by coara

WebメールクライアントツールのRoundcubeを触ったので覚書
http://roundcube.net/

◆携帯・スマホ用のUIは有料
$99もする。たかい。
Android版も別であるみたいだけど、AndroidではK9があるから見てない。

◆日本語対応
現在のバージョンは0.9.5だが、日本語に対応している。
検索すると古いバージョンに対する日本語化の方法とか出てくるけど、無視してOK
ただし、設定ファイルで次の設定をする必要がある。

日本語のメールタイトルやメール本文は以下の設定をしないと文字化けする。
$rcmail_config['force_7bit'] = true;

日本語ファイル名の添付ファイルは以下の設定をしないと文字化けする。
$rcmail_config['mime_param_folding'] = 1; // 1 = RFC 2047 / RFC 2231

JISのメールを開くとき用にこの設定をしていたほうがいいのかも。ここは曖昧
$rcmail_config['default_charset'] = 'ISO-2022-JP';

"​Custom Character Encoding"ってプラグインを使うとメールをJISで送れるようになるが、
JIS非対応の文字のチェックが大変だから正直あまりお勧めできない。

◆プラグイン探しが楽しい
探しといってもプラグインリポジトリしか見てないけど、
"​Message list context menu" は必須プラグインだと思う。
"Roundcube client-side filters plugin" も、もう少し機能がほしいところだけど、あって損はない感じ。

そいえばBecky!みたいにメールごとのメモが残せるような機能とかプラグインってあったかな?
あればどっかのレンタルスペースにPOPクライアントとして置いてもいいかもしれないな。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • まあ、UTF-8で送信するなら素のroundCubeで問題ないのですが

    > "​Custom Character Encoding"ってプラグインを使うとメールをJISで送れるようになる

    ヘッダがBエンコーディングにならないので、RFC1468準拠にはできないです。JISメール送信のために導入するにはかなり中途半端なプラグイン。
    roundCubeのコード構造的に、ヘッダのBエンコーディング化はプラグインでは対応させることができません。

    しかたないのでパッチを作った [taka2.info]りしたのですが、0.8→0.9でちょっとコード構造が変わってしまって、パッチの作り直しが面倒なものでほったらかしです…

    • by coara (22037) on 2013年11月28日 2時15分 (#2501999) 日記

      おーこのページ見ました見ました。
      無視してOKって書いた中に入っちゃってましたが、そんな理由があったんですね。
      今のところ私の周りではUTF-8で問題ないんですが、未だにISO-2022-JPでないと問題あるクライアントとかあるんでしょうかね

      親コメント
    • by coara (22037) on 2013年11月29日 20時35分 (#2503187) 日記

      とりあえず0.9.5でのJISメール表示文字化け対応だけやっつけました。
      超やっつけです。

      --- rcube_charset.php.original  2013-11-29 19:50:10.211875997 +0900
      +++ rcube_charset.php   2013-11-29 19:52:14.568681162 +0900
      @@ -176,6 +176,7 @@
               static $mbstring_list   = null;
               static $mbstring_sch    = null;
               static $conv            = null;
      +        if(strcasecmp('iso-2022-jp', $from)===0) $from = 'ISO-2022-JP-MS';
       
               $to   = empty($to) ? RCUBE_CHARSET : $to;
               $from = self::parse_charset($from);
      @@ -239,7 +240,9 @@
       
                   // return if encoding found, string matches encoding and convert succeeded
                   if (in_array($mb_from, $mbstring_list) && in_array($mb_to, $mbstring_list)) {
      -                if (mb_check_encoding($str, $mb_from)) {
      +                if (mb_check_encoding($str, $mb_from) ||
      +                    strcasecmp('ISO-2022-JP-MS', mb_detect_encoding($str, $mb_from))===0
      +                    ) {
                           // Do the same as //IGNORE with iconv
                           mb_substitute_character('none');
                           $out = mb_convert_encoding($str, $mb_to, $mb_from);

      親コメント
  • by Anonymous Coward on 2013年11月27日 10時50分 (#2501542)

    前に表の方で誰かも言ってたけど、Roundcubeって振り分けとかは基本的にMDAでやってくれって設計なんだよね。
    しかもRoundcube自体がユーザ管理供えてるから、シングルユーザでもRDBMS要求してくる。
    だから振り分けの為にsieve書いて、キャッシュから何からRDBMSに入るからその管理もやってると面倒臭くなるんだよ。
    そこまでやると、SSHで入ってそのままmutt辺りで読むか、ポートフォワードで引っ張ってきてK9で良くね?ってなっちゃう。
    Roundcubeのガワってスマホには重すぎるしね。

    • まだあんまり細かいとこまで見てませんけど、重さに関してはテーマの作り次第じゃないでしょうかね。
      スマホ向けのテーマなんてのがあるあたり、軽くする方法はありそう。
      RDBMSに関してはsqliteが使えるんで、そうすれば面倒な準備はやらなくていいかと。
      # ただし MyRoundcube の plugin_manager はsqlite:////が使えないんで、使いたいときは一工夫必要になる模様

      振り分けはまぁIMAP4になるとBecky!も使えないし、仕方ないところもあるかなーと…
      最悪自分でプラグインを作っちゃえばいいんですよ。私?私は遠慮しておきます。。

      親コメント
typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...