Postfixで特定のバーチャルドメイン宛てのメールに対してプログラムを起動する

メールアドレスを多数作って、そこに送られてきたメールについて自動で一定の処理したいという相談を受けた。サブドメインのバーチャルドメインを設けて、そのバーチャルドメイン宛てのメールを全て処理するように設定すればいいのではないかと提案したのだが、はたしてどのように設定すればいいのだろうか。
メールサーバはサーバにインストールされている物をということでPostfixとなった。
Postfix バーチャルドメインホスティング Howto を読んだところ、

  1. バーチャルエイリアスドメインのcatch-allで特定のアカウントにリダイレクトして、aliasesからコマンドに引き渡す
  2. バーチャルドメイン丸ごとpipeデーモンで処理する

の二つの方法がありそうである。

以下、試していないが、1の方法では、

/etc/postfix/main.cf:
    virtual_alias_domains = foo.example.com
    virtual_alias_maps = hash:/etc/postfix/virtual

/etc/postfix/virtual:
    @foo.example.com         foo

/etc/aliases
    foo: "| command ..."

とすれば良さそうだ。