メールマガジン

Roundcubeのプラグイン

今月の気になるオープンソース情報(2016年1月号)

OSS研究室 森 将史

今回は、Roundcubeと、そのプラグイン開発について紹介します。

Roundcubeは、オープンソースソフトウェアのウェブメールシステムです。
メールの送受信はもちろんのこと、シンプルながらアドレス帳やメールフォルダ作成等の機能も搭載されています。インタフェースの見た目や操作性はかなり水準が高く、Thunderbird等のメールクライアントソフトウェアと遜色ないものとなっています。

標準の機能はシンプルでコンパクトなものになっていますが、それで物足りなかったとしても、プラグインによる機能拡張が可能です。
公式のプラグインリポジトリにはいろいろなプラグインが公開されています。
例えば、

  • カレンダー機能を追加する
  • 受信時にメールのフィルタリングをさせる
  • Googleのアドレス帳と連携させる
といったものが存在します。

公式のプラグインには比較的単純な機能のものが多く、欲しいものが見つからないかもしれません。そんな時は、自分でプラグインを作る事もできます。

Roundcubeには、プラグイン開発のための仕組みが備わっています。
豊富なAPIが用意されていて、MVCフレームワークのようなものになっています。プラグインはPHPとJavaScriptによって作成でき、Ajaxも使用できます。

自作した処理をRoundcubeの処理に組み込むことを、「フックする」と言います。フック可能なポイントは50箇所を超えます。フックポイントには、ログイン時やSMTP接続開始時などはもとより、画面に出力するメールヘッダを構成するタイミングなど、細かなものもあります。
画面(ビュー)と処理(コントローラ)の間のデータ受け渡しも、APIを介する方法やGETメソッドによる方法など何通りかで行えます。画面の作成も、テンプレートを編集したりjavascriptを追加するだけでなく、APIを呼び出し、Roundcube本体に処理を依頼する方法などがあります。

そういった仕組みを駆使することで、Roundcubeのあらゆる処理を拡張することが出来ます。

デージーネットでは、Roundcubeの構築やプラグイン開発を行っています。
新しいプラグインをどんどん作成し、Roundcubeをより便利に使用できるように取り組んでいます。


関連ページ

デージーネットマガジン2016年1月号記事一覧

Roundcubeのプラグインの先頭へ