CentOS 4.4 にバーチャル・メールボックを設定

CentOS 4.4 で メール・サーバーを構築する第三章。前回の記事でPostfixの基本設定は完了した。続いてOSアカウントのないユーザー用の受信箱を作成できるバーチャル・メールボックスの設定を行おう。ただし、バーチャル・メールボックスでは.forwardが使えない、/etc/aliases が使えないなどの制限が多いので、作れるのであればOSアカウントを作ってしまったほうがいいかもしれない。余談になるが、以下のようにシェルを指定しておけばログインできないOSアカウントとなる。

# useradd -s /sbin/nologin bar

MDAがlocalプロセスによるローカル配送になるか、virtualプロセスによるバーチャル配送になるかはドメイン名で振り分けられるが、今回はOSアカウントを持っておりローカル配送されるfoo@rewse.jpとOSアカウントを持っておらずバーチャル配送されるbar@rewse.jpのドメイン名は同じなので、一時的に異なるドメイン、rewse.localを設定することでbar@rewse.jpをバーチャル配送させるように設定し、postmapコマンドでデータベースを更新する。

# echo ‘bar@rewse.jp bar@rewse.local’ >> /etc/postfix/virtual
# postmap /etc/postfix/virtual

バーチャル・メールボックスへのメールを配送するためのユーザーを作成する。

# groupadd -g 503 vmailbox
# useradd -u 503 -g vmailbox -s /sbin/nologin vmailbox

バーチャル・メールボックスに関する設定を /etc/postfix/main.cf に行う。これでrewse.local宛てのメールは/home/vmailbox以下にvmailboxユーザーで配送される。

/etc/postfix/main.cf

virtual_mailbox_domains = rewse.local
virtual_mailbox_base = /home/vmailbox
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:503
virtual_gid_maps = static:503
virtual_alias_maps = hash:/etc/postfix/virtual

/etc/postfix/vmailbox に配送先となるディレクトリをvirtual_mailbox_baseからの相対指定し、postmapコマンドでデータベースを更新する。

# echo ‘bar@rewse.local rewse.local/bar/’ >> /etc/postfix/vmailbox
# postmap /etc/postfix/vmailbox

設定ファイルの再読み込み後に動作を確認してみよう。基本設定でPostfix自体が動いているはずなので、今回はmailコマンドをMUAとしてメール送信してみる。

# service postfix reload
Reloading postfix: [ OK ]
$ mail -s Test bar@rewse.jp
This is a test mail.
.

Cc: [Enter]
$ less /home/vmailbox/rewse.local/bar/new/*

<

p>以上でPostfixのバーチャル・メールボックスの設定は完了である。

One thought on “CentOS 4.4 にバーチャル・メールボックを設定”

  1. Pingback: 複眼中心

コメントを残す