この間書いたローカルメールサーバーのメールを確認するのにroundcubeというWebメーラーを使ってます。
今回、メールサーバーのドメインを変更した際に詰まったのでそのメモ。

経緯


前述の記事の中で修正している通り、初めにメールサーバーにつけたドメインがまずいのではないかと思ってドメインを変更しました。
変更後にroundcubeにログインするとユーザーのメールアドレスのドメインが変更前のままでした。

原因


一部推測が入っていますが…

roundcubeは初期設定(もしくはインストール?)時点で出来上がるdefaults.inc.phpという設定ファイルにドメインの情報を保存しています。
従って、後からドメインを変更した場合はこの設定ファイルの修正しないといけません。

変更箇所


defaults.inc.phpの下記を修正します。

1
$config['mail_domain'] = 変更後のドメイン

既にログインしたユーザーのメールアドレスについて


roundcubeは初回ログイン時にデータベースにユーザーのメールアドレスを保存しています。
つまりdefaults.inc.php変更前にログインしたユーザーのメールアドレスは ドメイン変更前 のものが保存されています。

従ってdefaults.inc.php変更前にログインしたユーザーは下記のどちらかでメールアドレスを修正する必要があります。

  • データベースのレコードを直接変更する
  • 修正したいユーザーでroundcubeにログインし、設定から修正する

余談


初回のインストールと設定時にdefaults.inc.phpって一切さわらなかったから気付くまで時間がかかりました…

データベース見たりroundcubeのソースコード確認したり…
ソースコードを確認した結果defaults.inc.phpから値を取得していることに気付きました…

すごい回り道した…