Roundcube の紹介

古都の老兵
2025-05-07
2025-05-07

はじめに

 最近の業務はSlackやTeamsなどのチャット系の活用が多く、メールの活躍の場は少なくなってきていると思います。人によっては社会人になって初めてメールを使ったという人も居るという都市伝説も・・・。
 とはいえメールはまだまだ業務的には活用の場面が多いのは確かだと思います。一般的な使い方としてはPCにPOPでメールを取り込んでメールソフトで読み書きや検索、種類毎にフォルダーを分けて整理といった使い方が多いと思いますが、昨今ではGmailといったWebmailを使うといった使い方も増えています。これはPC上にメールは基本的には無く、サーバー上にメールがある為、普段使っているPCが手元に無くてもメールを読み書きできる。またPCが壊れてメールが確認できない、新しPCへの移行の手間等を考えると様々なメリットがあります。

 そこで今回は自身のサーバーでGmailのように使えるWebmailソフトであるRoundcubeについて紹介したいと思います。

Roundcubeとは

 RoundcubeはIMAPでメールを管理するオープンソースのWebメールクライアントです。ドラッグ&ドロップによるメールの管理や、メールの振分け(但しサーバー側の設定も必要)、アーカイブ機能やメールのエクスポートやインポート、複数の送信メールIDといった一般的に良く使うメール機能は網羅されていると思います。

インストールと設定

 AlmaLinux9 の場合だとEPELからパッケージをインストールする事ができます。但し、EPELにはLTS(Long Term Support)版である1.5.9になります。最新版は1.6.10になりますが、利用者視線ではゴミ箱に入れたメールを30日60日90日経過したものを削除する機能と、メールのスキンが一部削除された事でしょうか、昔からのクラシックスキンを使っている方はちょっと困るかもしれません。

# dnf install epel-release -y
# dnf install roundcubemail -y

 インストール後は、データベースを設定します。今回はmariadbで設定してみましょう。

# mysql -u root -p
MariaDB [(none)]> create database roundcube;
MariaDB [(none)]> grant all privileges on roundcube.* to roundcube@localhost identified by '************';
MariaDB [(none)]> flush privileges;

 データベースが作成できれば、Roundcube のコンフィグファイルを編集しましょう。

# cd /etc/roundcube
# vi config.inc.php

 :
$config['db_dsnw'] = 'mysql://roundcube:***********@localhost/roundcube';
 :
$config['default_host'] = 'localhost';
 :
$config['smtp_server'] = 'localhost';

 プラグインの設定は、同じく config.inc.php で必要な機能について追加しておきます。

// ----------------------------------
// PLUGINS
// ----------------------------------
// List of active plugins (in plugins/ directory)
$config['plugins'] = [
    'archive',
    'zipdownload',
    'managesieve',
    'password',
];

 rpm パッケージでインストールした場合、/etc/httpd/conf.d/roundcubemail.conf ファイルが作成されますので、ブラウザーからアクセスできるようにサーバーに合わせて設定します。

使ってみよう!

 apacheで設定したURLを開くとログイン画面がでますので、メールアカウントとパスワードでログインしてみます

      ログインするとディフォルトの状態では以下の様な配置になり、確認したいメールを選択するとメールが右に表示されます。。

      各メールボックスの迷惑メールやアーカイブといった特殊フォルダーについては標準では存在しませんが、各ユーザが設定するか、DovecotやRoundcubeの設定で自動的に作成させることもできます。

但し、フォルダーを作成したからといって自動的に振り分けてくれるわけではありませんので、設定が必要になります。

最後に

 これでフォルダーへの自動振分けが出来るような設定が出来た・・・とはならず、残念ながら実際にはこれだけでは自動的に振分けはされません。通常postfixでメールサーバーを構成している場合、postfixのsmtpdでメールを受け、qmgrで受信したメールを管理し、virtulやlocalで各ユーザのメールフォルダ(受信フォルダー)に配送されます。メールを振分けるにはDovecotのMDA(Mail Delivery Agent)に渡し、MDAのLMTPのプラグインとしてSieveによって振分けするようにサーバー側の設定が必要になります。
 次回はその辺りの設定についてやってみたいと思います。