vpopmail環境での.qmail-default

こちら(http://lab.z-nix.jp/mt/archives/2005/11/qmaildefault.html)のブログでも紹介されているが、vpopmail環境で.qmail-defaultを使って、プログラム起動をしたいとき、安直に以下のようにすると、実在するアカウントへのメールが配送されない問題が起きる。ついこの前僕も「存在しないユーザーの時にプログラムを起動したいんだけど、どうしたらいいですか?」と聞かれてはまったのでメモ。

| /some/where/bin/program

vpopmailの場合、.qmail-defaultのvdelivermailによって、配送先ドメインでの各ユーザーへの配送が行なわれるため、安易に変更すると配送されなくなる。つまり、.qmail-defaultで単純にプログラムを起動はできない。単純に起動する場合は、各ユーザーへの.qmail-xxxファイルを作成する必要がある。ユーザー数が多い場合は大変。幸い今回はユーザー数が多くないので、.qmail-xxxファイルをユーザー数分作成して対応できたが、できない場合は、vdelivermailの最終引数として、プログラム起動専用メールアドレス(デフォルトの配送先となる)を指定しておき、プログラム起動専用メールアドレスに対する.qmail-xxxファイルでプログラムを起動する。たぶんうまくいくと思うけど、転送が入ってるから$USERなんかが変わるかも知れない。今度確認しておこう。