/var/mail/$USER になっている。mbox 形式は一つのファイルに
From で区切られたメイルを継ぎ足して行く形式になっているために、
ファイルのロックなどの問題が元もとあるのと、/var/mail の共有場所に
ファイルを置くための問題が指摘されている。これに対して、qmail など
ではユーザのあるディレクトリ以下に、メイル毎に別々のファイルとして
置く方法が取られており、これを Maildir 形式と呼ぶ。Postfix でも
Maildir 形式で利用することも可能である。これを行いたい場合には、以下の
ように設定する。
home_mailbox = Maildir/ |
末尾の / を忘れてはならない。この場合、$USER/Maildir/ の
下にメイルが格納される。
Maildir 形式は確かに優秀な方法ではあるが、これまでのアプリケーションとの 互換性が最大の問題であり、既に mbox 形式で運用しているサイトが Maildir形式 に移行するには、未だに障壁が高いのが難点である。
recipient_delimiter = + |
のように設定する(デフォルトでコメントアウトされているので、コメントを取る
だけで良い)。これによって、hoge も hoge+foo
も同じアドレス hoge として扱われ、配送される。従って、振り分け
ソフトで自分で振り分けても良いが、通常 .forward+foo という
ファイルを用意すると、hoge 宛のメイルは .forward が参照
されるが、hoge+foo については .forward+foo が参照される
という仕掛けがあるので、メイリングリストなども簡単に運営出来るように
なっている。
|command ) 機能は
メーリングリストなどで良く使われる。しかし、より管理の柔軟性のために
include 機能と共に用いられる事が多い。
include は以下のような形で使う。
# /etc/aliases mailinglist: :include:/home/mailinglist/hogemail |
つまり、mailinglist の aliases として /home/mailinglist/hogemail が使われる のであるが、このファイルの中で更に以下のように使う場合がある。
# /home/mailinglist/hogemailの中身 "|/home/mailinglist/hogemail/fml.pl /home/mailinglist/hogehoge" |
このような場合に、デフォルトではPostfix はコマンドを実行しない。 これを変更するには、以下のように設定する。
allow_mail_to_commands = alias,forward,include |
一方デフォルトでは、以下のようになっている。
allow_mail_to_commands = alias,forward |
但し、実行権限は include したファイルの権限で実行される。しかし、これには
例外があり、そのファイルの所有者が root であった場合のみ default_privs
に指定した値(デフォルトではnobody)の権限で実行される。これは root 権限での
実行などをそれまでに期待した設定をしていて、sendmail からPostfix に移行
した場合に問題となるので注意して欲しい。
virtual_maps = hash:/usr/local/etc/postfix/virtual |
hoge@virtual.domain hoge foo@virtual.domain user1,user2 |
詳細についてはドキュメントを参照されたい。