複数メールアドレスを使う

info1@min10.com、info2@min10.com、・・・、infoN@min10.comというようにメールアドレスに番号が付いたものを取扱う(番号は事前に登録できない前提)にはどうしたらいいか。実際の受信ボックスは1つ。(この場合だと、info@min10.com)

結論

info1@min10.com、info2@min10.comはできませんが(ボクの浅学な知識では(こういうのを浅学菲才というのかな))、info+1@min10.com、info+2@min10.comだったらできます。

procmail

まず考えたのが、procmailでフィルタリングするときに、From:を見て振り分けてしまえばいいのではないかということ。

mailbox_command = /usr/bin/procmail

/etc/postfix/main.cf

これを追加して(もちろん、procmailがインストールされていることが必要です)、postfixをリスタートしてやってみましたが、/etc/aliasesにないメールアドレスは、procmailが起動する前にエラーで弾かれてしまいました。各ユーザごとの設定ではなく、/etc/procmailrcでユーザ共通の設定として書いたのですが、ダメですね。

/etc/aliases

では、/etc/aliasesのローカル部分で番号付きを指定する方法はないものか。「info.*」みたいな正規表現が通るのであればいいんだけど、そういう書き方は認められないようです。

拡張アドレス
 メールアドレスのローカル部分にオプションの受信者デリミタ (すなわち user+foo@domain) を含んでいると、検索順序は次のようになります: user+foo@domain, user@domain, user+foo, user, and @domain.
 マッチしなかった拡張アドレス (+foo) はテーブル検索の結果に展開されます。

http://www.kobitosan.net/postfix/jman/virtual.5.html

これによると、@domain指定が一番ゆるいので、「@min10.com info」と書いておけばユーザ指定がないものはすべて、info@min10.comへ送られそうです。ただ、本当に宛先不明であっても、宛先不明にならず、info@min10.comへ送られるのはいかがなものか。
で、user+foo@domainを使うことにしました。Gmailで、user+N@gmail.com形式が使えることは知っていたのですが、一般的なPostfixでも有効なんですね。これだと何もせず、info+1@min10.comは info@min10.com宛てとして受信されます。

追記

コメントで「正規表現使えますよ」と教えていただいたのでやってみました。

alias_maps = hash:/etc/aliases, regexp:/etc/postfix/aliases.reg

/etc/postfix/main.cf

/^info[0-9]+(@min10\.com)?/ info@min10.com

/etc/postfix/aliases.reg

「sudo /etc/init.d/postfix restart」で再起動して OK。
実際、これで OKなんですが、実はちょっとした嘘があります。ドメインを付けた方(/^info[0-9]+@min10\.com/)がどうやっても通りません。ググった例だとドメインを付けてもちゃんと通るようなのですが、うちの環境設定のせいなのか、ドメインを付けると宛先なしになってしまって、小2時間ほどはまりました。
ローカル配送時のドメインの取扱いの問題のような気がしますが、aliases.regに来たときには、@以下はなくなっている模様。このことにあまり時間をかけていられないのと、ここに来るのは自分管理のドメインだけなので、ドメイン共通でもいいかということで、これでいいことにします。
これで、info+123@min10.comでも、info123@min10.comでも、info@min10.comで受けられるようになりました。コメント、ありがとうございました。