グループウェアにWebメールを組み込んでみた
Roundcube webmailを使ってグループウェアにメール機能を追加できた。

グループウェアの開発も終盤になり、いよいよ一番の難関!メールの開発に着手しようと考えてた。しかし、調べてみるとメールの開発は、かなり大変そうである。そこで、グループウェアから直接起動できるWebメールのライブラリを探していたところ、「Roundcube webmail」にたどり着いた。いくつかのグループウェアで採用しているという情報から、簡単にできるかもしれないとの思い出ダウンロードしてみた。

【必要な機能】
1. グループウェアから自動でログインする
2. ログアウトでグループウェアにリダイレクトする

Roundcube webmailのサイト

1. グループウェアから自動でログインする


調査の結果、RoundcubeAutoLogin.php ( GitHub )を導入した。

phpを見てみると、以下のようになっていた。
元々、グループウェアのメニューは、POSTする仕様なので RoundcubeAutoLogin.php をactionに設定、rc_user(メールアドレス)と'rc_pass(パスワード)を渡すようにした。

//RoundcubeAutoLogin.php

// send parameters with post, its more secure because username and password not shown in browser and logfile
$rcuser=$_REQUEST['rc_user'];
$rcpass=$_REQUEST['rc_pass'];

//rc_user(メールアドレス)と'rc_pass(パスワード)をPOSTでRoundcubeAutoLogin.phpを起動すればいい。

2. ログアウトでグループウェアにリダイレクトする


調査の結果、プラグインの logout_redirect ( GitHub )を導入した。

1. ダウンロードしたら解凍して、フォルダー名を logout_redirect にリネームしてRoundcube/plugin/に追加
2.config.inc.phpを以下のように編集

// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$config['plugins'] = array('logout_redirect');

/* %d will be replaced with the default user identity email domain part
 *    i.e. email@domain.com will replace %d with "domain.com"
**/
$config['logout_redirect_url'] = 'リダイレクト先のURL';

最後に、ログアウトではなくHOMEに戻るので

Roundcube/program/localization/ja_JP/labels.incの $labels['logout'] を HOME に変更した

$labels['welcome'] = '$productにようこそ';
$labels['username'] = 'ユーザー名';
$labels['password'] = 'パスワード';
$labels['server'] = 'サーバー';
$labels['login'] = 'ログイン';
$labels['menu'] = 'メニュー';
$labels['logout'] = 'HOME';
$labels['mail'] = '電子メール';