第1章
Webメールサーバを作ろう

複数台のPCやスマホを持つ時代。こうした端末すべてにメールソフトをインストールするのは、とても大変です。

それを解決するのが、Webメールサーバです。Webメールサーバを立てれば、ブラウザでアクセスするだけで、メールを送受信できるようになります。

1.1 Roundcube webmail

Webメールサーバを構築するためのソフトとして有名なのが、GPL3ライセンスで配布されているRoundcube webmail(以下Roundcube)です。Linux+Apache+MySQL+PHPの、いわゆるLAMPシステムで動作します。

Roundcubeは、IMAP4メールクライアントとして動作します。つまり、会社やプロバイダなどが提供する別のメールサーバがあり、そこにIMAP4で接続してメールを操作します(図1.1)。もちろん受信だけでなく、送信もできます。

【メモ】 Roundcubeは、POP3には対応していません。

Roundcubeの仕組み

図1.1: Roundcubeの仕組み

Roundcubeの画面はシンプルです。RoundcubeをインストールしたWebサーバにブラウザでアクセスすると、図1.2のようなログイン画面が表示されます。

このログイン画面で、メールサーバーに接続するときのユーザー名とパスワードを入力すると、Roundcubeメールが、あらかじめ設定したおいたメールサーバーに接続し、図1.3のように、届いたメールを読んだり、メールを送信したりできます。

画面を見るとわかるように、ユーザーインターフェースは、日本語に完全対応しています。HTMLメールや添付ファイルにも対応しています。

Roundcubeのログイン画面

図1.2: Roundcubeのログイン画面

Roundcubeのメイン画面

図1.3: Roundcubeのメイン画面

1.2 Roundcube webmailを使うには

Roundcubeは、PHPで書かれたアプリです。全体の構成は、図1.4の通りです。

【メモ】 ApacheでなくてもNginxなどでも動作します。またMySQL以外にも、PostgreSQLやSQLite、Microsoft SQL Server、Oracle Databaseを利用できます。

Roundcubeの構成

図1.4: Roundcubeの構成

1.3 Dockerで簡単に使おう

図1.4のようにプログラムをひとつずつサーバにインストールするのは、とても大変です。そこで活用したいのが、Dockerです。

実は、Roundcubeには、Dockerイメージが提供されています。それを利用すれば、ものの10分で、Roundcubeが起動できてしまいます。

1.4 TLS/SSLや独自ドメインにも対応したい

配布されているRoundcubeのDockerイメージは、非暗号化通信です。メールを読み書きするのであれば、TLS/SSLを使って暗号化し、安全に通信したいところです。

TLS/SSL対応は、https-portalというDockerイメージを使うと、簡単に実現できます。https-portalは、Nginxによるリバースプロキシを構成し、複数のDockerコンテナに通信を振り分けます。Let's Encryptを使って証明書を自動取得する機能もあるので、証明書の準備も簡単です。

試し読みはここまでです。
この続きは、製品版でお楽しみください。