Gmailみたいな、uzulla+hogehoge@〜なワイルドカード受信を設定する
今、メール駆動のウェブ?サービスをつくってるんですが、ユーザーの投稿先アドレスを大量に用意する必要があるんですよね。ただ、バカ正直にUnixユーザー追加するのは馬鹿馬鹿しいので普通しません。
大抵は、アドレス非存在時の配送失敗で再配送される機能を逆に利用して、全部のメールを一個のプログラムへ流し込み、そのプログラムがToを解析してそれぞれの処理をする、という感じになると思います。
ただ、メールサーバーの設定って本当に面倒くさいですよね。SendmailもqmailもPostfixもxmailもちゃんとやろうとするとすげーめんどい。みんなGmailつかえばいいよ、俺もうメールサーバーとか管理したくない…。
しかしまーそんなこといってたらご飯食べられませんね。
ってことで、aliasesあたりの機能でできないかなーって考える訳ですよね。
さて、Postfixだとrecipient_delimiterを有効にすることで、「Gmailと同様に uzulla+hoge, uzulla+hageなど、+以降がどんなアドレスでもuzullaに配送される」という設定が可能ですね。
main.cfの
recipient_delimiter = +
の行を有効にして再起動して、/etc/aliases へ
hoge: "|/bin/cat >> /tmp/dump"
とかって記述してからnewaliasesすると、完璧ですね。
これは実際本当に便利な機能でして、四苦八苦してメールサーバーに自分でも理解できないようなヘンテコな設定をしなくても、aliasesに追記するだけでメール駆動させるサービスに必要なワイルドカードなアドレスを手軽に用意させる事が出来ます。おすすめです。